The Swyx Mixtape: Recent Episodes

Swyx

swyx's personal picks pod.

Weekdays: the best audio clips from podcasts I listen to, in 10 minutes or less! Fridays: Music picks! Weekends: long form talks and conversations!

This is a passion project; never any ads, 100% just recs from me to people who like the stuff I like. Share and give feedback: tag @swyx on Twitter or email audio questions to swyx @ swyx.io

View Details

https://www.youtube.com/watch?v=EIMi4Yt-AIg

View Details

I met up to podcast with quincy in round 2, which has all my personal updates since round 1.

https://freecodecamp.libsyn.com/90-shawn-swyx-wang-from-dev-to-ai-founder

View Details

One of my biggest posts ever was https://www.latent.space/p/ai-engineer and we hosted a Twitter Space about it:

https://twitter.com/swyx/status/1674895620870651909?s=20

I felt like the space wasn't info dense enough for the main Latent Space pod but you get the full show as loyal swyx mixtape subscribers.

View Details

Video and pull quotes: https://www.humanskills.co/p/human-skills-012-productivity-and

View Details

Watch: https://www.youtube.com/watch?v=UQkeRxeh34I

Transcript

eric schmidt is a business leader and

software engineer that served as

google's chief executive officer from

2001 to 2011.

under his leadership google grew from an

early silicon valley startup to arguably

the most important technology company on

the planet

schmidt is currently co-founder of

schmidt futures and sits on the board of

many public and private institutions

he is still involved with technology

consults with the us department of

defense

also talks about ai in his latest book

the age of ai and our human future

written alongside former u.s secretary

of state henry kissinger and computer

scientist daniel huddenlocker

schmidt was a guest at the milken global

conference and here he anticipates some

of the ai innovations that we will

certainly see in five years

he also predicts what we might see in 20

years

here are the details

recently in the last couple of years

there have been

extraordinary gains so for example a

team at google and at the baker lab

separately

figured out a way to actually understand

if you take dna what proteins are

generated and what their structure is

that's an extraordinary achievement in

my opinion worth a nobel prize

there are drugs being designed now that

could not be possibly

designed by humans

in any way because of their complexity

there's evidence that ai can be used in

biology ai is mapped to biology the way

math is to physics in other words

biology is so complicated that ai will

be used to interpret biology and predict

its outcome

over and over again ai will arrive in

your life

another example is the hottest area in

my industry right now are large language

models uh recently a set of startups

have been funded between 100 and a

billion 100 million and a billion

dollars

they have no current product or revenue

plans um

the the belief of the power of this

technology these large language models

are interesting because you suck all the

information in

like you read all the web which

computers can do but we can't and then

they discover things they appear to

discover a structure of language and an

example of recent google product last

week can actually translate from one

computer language to another and we

didn't give it any examples of one to

translate to the other it discovered a

structure and it can predict it

these are the beginning of general

intelligence

the the current um excitement stems from

a technology called transformers that

was invented three or four years ago and

what transformers do is it can predict

the next word after a set of words so if

you give it a sentence it can predict

what the word will be and it's done

using a complicated mathematical

technique it turns out predicting the

next word is mathematically the same

thing as predicting the next sound the

next video the next image

all of that and so you have a

unification a multi multi-modal

unification of video text and speech so

these systems sound and look like

they're intelligent

a good example is gpt3 which came out

last year

which kicked the current revolution off

you asked it

do you think like a human and it says no

i do not

because i am a large language model and

you are a i think a human who has been

taught to think in this way

now is that

it thinking about you or is it pattern

matching we can't tell and the truth is

and i'm as part of philanthropic work

i'm funding projects to try to

understand this we don't actually

understand why this works we don't

mathematically understand why it works

and we also don't understand its failure

modes

so you wouldn't want to use this as a

replacement for something that's live

critical because we can't say when it

fails when does it just crash

the current large language models for

example have trouble with the notion of

gravity so if you say to them i moved it

i moved the object from here to here and

then i put it up here and i put it down

there and so forth now everyone just

followed what i did the large language

model gets confused because it doesn't

understand gravity so the computer

scientists say we're going to now add

concepts

right

so with concepts and then with planning

maybe you get to the point where it

looks like a human-like intelligence

which has all sorts of issues

if i were 24 today this is exactly what

i'd be working on this is where the

hardest and most challenging computer

science systems problems are with the

greatest payoff

now remember that the system can predict

patterns

and if you can predict a pattern you can

also generate an artifact there's a

duality in these systems where they can

generate things

so part of the issues that we face now

is that these systems can generate

speech i'll give you an example

within five years

the following will be true

you'll be able to take a system

um take one of these language models

which would be infinitely expensive to

make but you didn't pay for it

it shows up in your doorstep and it fine

tunes the technical term is literally

fine-tuning it you fine-tune it to you

who are you what do you care about it

sort of watches you and learns from you

it learns your voice

right all of a sudden it can generate

videos with you in it

now you could think of this as a second

ai right

now the interesting thing is imagine

five years from now i install this thing

and i use it for a few years and

eventually we all die unfortunately well

it lives on

right

as a pretty good impersonation of me

and what happens when i'm dead and it's

still learning is that me

is that an artifact of me or is it just

a stupid artifact of history that you'll

keep in a box and some future will say

oh eric was so stupid back then but it's

entertaining to watch him right because

he didn't keep learning we don't know we

have no way of discussing these things

this stuff is incredibly powerful it

will be the basis of enormous gains in

human health

language translation communication

summary and education

all the things that milken represents

will be affected in an almost always

positive way having said that there's

terrifying consequences as well so the

first question has to do with jobs

does this fundamentally mean there are

more jobs or less jobs i spent my whole

life people saying computers will

replace humans humans won't have

anything to do so far that narrative has

been false notice that there's a huge

surplus of jobs and not people to fill

it certainly in the united states the

second one has to do with national

security something i've worked on for

almost a decade now

and in our in the kissinger book we talk

a lot about this

what happens when the decision time that

you have in a conflict is less than

human i'll give you an example

in the future there's a war and the war

is north korea attacks the us the attack

u.s attacks back and china says not a

good time for a war stops the war in in

north korea

and the entire war took five

milliseconds

now how are we going to organize around

that war how are you going to build a

system that can make all of those

decisions what are the rules

around automatic decision making i just

uh i on a team for working for the

congress published a recommendation that

this was a disaster

and that you have to have human in the

loop but you have but when time gets so

short another example if there's a

in the horrific scenario of an icbm

coming with a nuclear weapon in the

1960s they had about a half an hour or

45 minutes something like that for the

icbm to get to the u.s well during that

time they have time to figure out where

the president is wake the president up

have the president say why are you

waking me up and they say there's a

missile coming and you have to authorize

it and and then the president goes is

this a dream and they say no

okay and then eventually he or she goes

okay launch the retaliatory thing

right it's organized around human

decision time in the military it's

called an ooda loop for those of you

that are that are veterans

i'll give you another example

[Music]

the question of social media

social media was originally organized as

linear

feeds right linear uh we saw what our

friends were doing in order

and the systems the literal the software

network

social media networks

amped them up by amplifying content they

thought you would want

well here's a formula for you if you

were an evil social media ceo which none

of you are you would try to maximize

revenue to maximize revenue you would

maximize engagement to maximize

engagement you would maximize outrage

because you make more money

now how we're going to deal with this

and none of us are opposed to free

speech all of us believe in free speech

blah blah blah we have to sort these

issues there's issue after issue

so the strategic problems that i'm

describing are going to be solved by

humans

the algorithms will be changed by

computers

and

microsoft has published a very powerful

product called codex which finishes your

software so you start typing

right in a normal programming language

like python and it can actually finish

it

something like a third of the code

that's coming in was written by a

computer

now what happens when it's half what

happens when it's 60 what happens when

it's 70 percent

this is the beginning of this

extraordinary revolution

i am sure in the next five years you're

going to see the in the integration of

conversation and multi-modality because

that's what everyone's working on

and what that means is that you'll have

a digital assistant that will

mark what you should do in the morning

make suggestions give you summaries have

a sense of humor say this guy's an idiot

ignore him on social media uh and by the

way generate your own tick tock videos

you don't have to go out there in the

wild and actually get photographed doing

it it'll just generate it for you and

you can submit it all of that's going to

happen

then we get to speculation

today the systems and it's very

important

do not have the ability to set their own

objective function

humans very very smart people say we

want to solve this problem or this

problem or this problem

there are many people including myself

who believe that there's going to be a

point

and this is the

the median of the predictions is 20

years so i'll say 20 years which

technically means may 2042 so we're

clear you have it on record

that

these systems will be able to set their

own objective functions

now you sit there and you go oh that

means the computer can start to think

like a human

that's not actually what i mean

what i mean is that it will be a kind of

intelligence that's not human but feels

like it's kind of human maybe

it can reason it can think it can make

predictions it can make choices

but not based on a biological human

background

now how we're going to treat these

things

right so let's say i have my opponent

right so he's sitting here and i don't

like him and i don't like what he's

doing and i'm fighting him in some way

i know he's human i know he has

biological limits i know he has to sleep

every day i know he has concerns about

his own mortality he has to eat you know

the things that we all share as our

shared humanity

i know the limitations of his evilness

and his brilliance

because we have so many examples

so now we have the computer here

which is now doing its own thing

how do i

characterize its risk

what is it capable of doing

where does it find its limits

what how does it decide what to do we

don't even have a language to discuss

how we would regulate these things

so i'll give you a further prediction

that these computers when they emerge

and they're going to be a huge fight to

get these things because these things

are so powerful

but once they emerge they're going to be

like plutonium

i visited as part of my military work

where we keep the plutonium and it's

inside of a fence with guards and then

there's another set of guards with even

bigger guns and then there's a

a building with even more guns in it

because it's so dangerous

and there'll be a small number of these

because the computation required to

doing what i'm describing will exceed

the vast majority of most of our

capabilities but let's say there's one

or two in china and maybe one in north

korea and maybe one in two or three in

america and one in israel and so forth

how we're going to sort all that out

nobody knows we don't even have a

language to talk about the emergence of

a non-human

human intelligence

and that's incredibly interesting and

incredibly powerful maybe can solve the

gravity problem that einstein couldn't

solve

but also you can imagine the

consequences negatively

you

View Details

Listen to Cautionary Tales: https://www.listennotes.com/podcasts/cautionary-tales/cautionary-conversation-the-FW0bxClD_ij/

View Details

Listen to Ted Talks Daily: https://www.listennotes.com/podcasts/ted-talks-daily/the-marvels-and-mysteries-JkbNAa9DMYl/ (or video: https://www.ted.com/talks/heidi_hammel_and_nadia_drake_the_marvels_and_mysteries_revealed_by_the_james_webb_space_telescope?language=en)

more with Heidi: https://www.youtube.com/watch?v=oMbeCKh-9v4

View Details

Listen to Revisionist History and Inside Voice: https://www.listennotes.com/podcasts/revisionist-history/from-inside-voice-lake-bell-8XVyoz7eT5A/

View Details

LIsten on YouTube: https://www.youtube.com/watch?v=O1puRnV6gwE

View Details

Listen to the Chopping Block:

  • Nov 9 https://www.listennotes.com/podcasts/unchained/the-chopping-block-ftx-the-3ki-p42chnb/
  • Nov 16 https://www.listennotes.com/podcasts/unchained/the-chopping-block-why-rlhFySZAtMB/

View Details

  • Listen to Data Eng Podcast: https://www.dataengineeringpodcast.com/data-ecosystem-year-in-review-2021-episode-251/
  • How dbt Fails: https://benn.substack.com/p/how-dbt-fails

View Details

Watch/listen to Analytics Everywhere: https://www.youtube.com/watch?v=vmPvZ_YRSgs

Gitlab data guide: https://about.gitlab.com/handbook/business-technology/data-team/platform/dbt-guide/ and https://about.gitlab.com/handbook/business-technology/data-team/

View Details

Listen to The Right Track: https://www.heavybit.com/library/podcasts/the-right-track/ep-6-domain-expertise-with-laurie-voss-of-netlify/

Transcript

Stefania: I wanted to maybe shift a little bit in terms of how the industry is changing before we move on to how you have seen data cultures being built and data trusts being undermined and all those things.

Can you talk a little bit about how you see the industry has changed in the past few years?

Laurie: Yeah. I wrote a blog post about this recently.

I think it's probably the thing that spurred you to invite me to this podcast in the first place.

Stefania: Correct.

Laurie: Which is about nine months ago, I was introduced to DBT. DBT has been around for awhile now, I think five or six years, but it was new to me nine months ago.

And it definitely seems to be exponentially gaining in momentum at the moment.

I hear more and more people are using it and see more and more stuff built on top of it.

And the analogy that I made in the blog post is as a web developer, it felt kind of like Rails in 2006.

Ruby on Rails very fundamentally changed how web development was done, because web development prior to that was everybody has sort of like figured out some architecture for their website and it works okay. But it means that every time you hire someone to a company, you have to teach them your architecture. And it would take them a couple of weeks, or if it was complicated, it would take them a couple of months to figure out your architecture and become productive. And Ruby on Rails changed that.Ruby on Rails was you hire someone and you say, "Well, it's a Rails app."

And on day one, they're productive.

They know how to change Rails apps.

They know how to configure them.

They know how to write the HTML and CSS and every other thing.

And that taking the time to productivity for a new hire from three months to one month times a million developers is a gigantic amount of productivity that you have unlocked.

The economic impact of that is huge. And DBT feels very similar.

It's not doing anything that we weren't doing before.

It's not doing anything that you couldn't do if you were rolling your own, but it is a standard and it works very well and it handles the edge cases and it's got all of the complexities accounted for.

So you can start with DBT and be pretty confident that you're not going to run into something that DBT can do.

And it also means that you can hire people who already know DBT.

We've done it at Netlify. We've hired people with experience in DBT and they were productive on day one.

They were like, "Cool. I see that you've got this model. It's got a bug. I've committed a change. I've added some tests. We have fixed this data model."

What happens on day two? It's great.

The value of a framework is that a framework exists more than like any specific technical advantage of that framework.

Stefania: Yeah. I love that positioning of DBT.

Do you have any thoughts on why this has not happened in the data space before?

We have a lot of open source tools already built.

We had like a huge rise in people using Spark and Hadoop and all those things for their data infrastructure awhile ago, maybe 10 years ago, and that's still happening in some of the companies.

What are your thoughts on why this is happening now?

Laurie: I think it was inevitable.

I mean, the big data craze was 10 years ago.

I recently was reminded by somebody that I wrote a blog post.

It was literally 10 years ago. It was like July 15th 2011.

I was like, statisticians are going to be the growth career for the next 10 years, because all I see is people collecting data blindly.

They're just creating data warehouses and just pouring logs into them and then doing the most simple analyses on them.

They're just like counting them up.

They're not doing anything more complicated than counting them up.

A lot of companies in 2010 made these huge investments and then were like, "What now?"

And they were like, "Well, we've sort of figured we'd be able to do some kind of analysis, but we don't know how. This data is enormous. It's very difficult to do."

It was inevitable that people would be trying to solve this problem.

And lots of people rolled their own over and over.

Programmers are programmers, so when they find themselves rolling their own at the third job in a row, that's usually when they start writing a framework.

And that seems to be what DBT emerged from.

I think it's natural that it emerged now. I think this is how long it takes.

This is how much iteration the industry needed to land at this.

Stefania: Yeah. That's a good insight.

I maybe want to touch on then also another thing that a lot of people talk about.

And ultimately, I mean, I think what most companies want to strive for, although it remains to be defined what it literally means, are self-serve analytics.

What does that mean to you and how does that fit into the DBT world?

Laurie: I have what might be a controversial opinion about self-serve analytics, which is that I don't think it's really going to work.

There are a couple of problems that make self-serve analytics difficult.

What people are focusing on right now are like just the pure technical problems.

One of the problems with self-serve analytics is that it's just hard to do.

You have to have enormous amounts of data.

If people are going to be exploratory about the data, then the database needs to be extremely fast.

If queries take 10 minutes, then you can't do ad hoc data exploration.

Nobody but a data scientist is going to hang around for 10 minutes waiting for a query to finish.

Stefania: Finishing your query is the new-- It's compiling.

Laurie: But even when you solve that problem, and I feel like a lot of companies now solve that problem, you run into the next problem, which is, what question do I ask?

What is the sensible way to ask?

And also, where is it?

Discovery is another thing.

If you've instrumented properly, you're going to have enormous numbers of data sources, even if you're using DBT.

And they're all neatly arrayed in very nicely named tables and the tables of documentation, you're going to have 100, 200, 300 tables, right?

You have all sorts of forms of data.

And unless somebody goes through every table by name and tries to figure out what's in that table.

And does it answer my question?

The data team knows where the data is and it's very hard to make that data automatically discoverable.

I don't think people have solved that problem.

Even if you solved that problem, the chances are that somebody whose job isn't data is going to run into traps.

They're going to run into obvious data problems that a professional data person would avoid.

The simplest one is like people who are using an average instead of a median.

They're like, "The average is enormously high. So we don't have to care about this."

And I'm like, "No, no, no, no. The median is two."

And that's different from an average of 10.

You've just got a couple of outliers that are dragging your average up.

I solve that problem for stakeholders in our organization multiple times a week.

It's like correcting them just on that particular point.

And that's not even a particularly subtle question about data.

There's lots of ways that somebody who doesn't spend all of their time thinking about how to present and analyze and question data is going to mislead themselves if they are self-serve.

So that doesn't mean that they don't think self-serve should happen.

I think one of the most productive ways that I interact with my colleagues outside of the data department is we have self-serve analytics.

There's no barrier.

They can go in and write their own queries and build their own dashboard.

And they get like 80% of the way.

And then they come to me and they're like, "Is this right? Does this say what I think it says?"

And some of the time I'll be like, "Yes," some of the time I'll be like, "Nope, you're being misled by this. Sorry about that. You looked at the wrong table or you misunderstood what that problem was for."

And sometimes it will be, "You're almost there. I need to make a couple of tweaks to fix this source of error," that kind of stuff.

They can get a lot of the way, but I think being a hundred percent self-serve is not a practical. No.

Stefania: I think that's a really good way to put it.

Another way also I like to think about it is there are layers of self-serve and it depends on your audience, what that means.

So self-serve to a very non-technical product manager, providing self-serve analytics to a non technical product manager means one thing, and then providing self-serve analytics to a very technical backend engineer that wants to answer some question because he's deciding how to architect their API or something like that are two very different things.

And this touches a little bit on sort of, who are your stakeholders as a data team? I think.

Laurie: I agree.

Stefania: But it sounds like you have already built some sort of self-serve analytics and it depends on people knowing SQL.

Is that right?

Laurie: We have a couple of tools. We have a bunch of dashboards.

We use Mode and we have a bunch of dashboards in Mode where if you have one of the set of questions that the exploration tools for these visualizations we've already built can answer, then you can completely self-serve using just point-and-click.

If that doesn't work for you, Mode will let you write your own SQL.

We have recently adopted a new tool called Transform, whose whole raison d'etre is to be a source of consistently defined metrics across the business.

So you give it a metric and then it gives you quite expressive ways of slicing and dicing that metric, filtering it and resorting it and stuff like that.

So we believe our goal is to have most of our metrics be in Transform and have people be able to examine them there and be confident that that data is correct and that those metrics mean what they think it means, which I think is going to lead us naturally to the next part of our conversation.

And Mode is going to become more about ad hoc analysis, one-off reports, very detailed explorations of specific questions, not everyday metrics.

Stefania: Yeah. Exciting, exciting times.

View Details

Listen to Screaming in the Cloud: https://www.lastweekinaws.com/podcast/screaming-in-the-cloud/learning-in-public-with-swyx/

Episode Summary

Today Corey sits down with swyx, head of developer experience at Airbyte, and so much more! They begin by chatting about swyx’s career history, professional motivation, and an industry taboo: following the money. Then Corey and swyx move into a discussion about the surprisingly challenging nature of developer experience and what it means to “learn in public.” swyx talks about expertise and how to quantify and demonstrate learning. Corey and swyx discuss swyx’s book “The Coding Career Handbook” and career coaching. swyx shares about his most recent foray into management in the era of zoom meetings, and conclude the conversation by talking about data integration and swyx’s latest job at Airbyte.

Links Referenced:

  • “Learning Gears” blog post: https://www.swyx.io/learning-gears
  • The Coding Career Handbook: https://learninpublic.org
  • Personal Website: https://swyx.io
  • Twitter: https://twitter.com/swyx

Transcript

Corey: Welcome to Screaming in the Cloud. I’m Corey Quinn. Some folks are really easy to introduce when I have them on the show because, “My name is, insert name here. I built thing X, and my job is Y at company Z.” Then we have people like today’s guest.

swyx is currently—and recently—the head of developer experience at Airbyte, but he’s also been so much more than that in so many different capacities that you’re very difficult to describe. First off, thank you for joining me. And secondly, what’s the deal with you?

swyx: [laugh]. I have professional ADD, just like you. Thanks for having me, Corey. I’m a—

Corey: It works out.

swyx: a big fan. Longtime listener, first time caller. Love saying that. [laugh].

Corey: You have done a lot of stuff. You have a business and finance background, which… okay, guilty; it’s probably why I feel some sense of affinity for a lot of your work. And then you went into some interesting directions. You were working on React and serverless YahvehScript—which is, of course, how I insist on pronouncing it—at Two Sigma, Netlify, AWS—a subject near and dear to my heart—and most recently temporal.io.

And now you’re at Airbyte. So, you’ve been focusing on a lot of, I won’t say the same things, but your area of emphasis has definitely consistently rhymed with itself. What is it that drives you?

swyx: So, I have been recently asking myself a lot of this question because I had to interview to get my new role. And when you have multiple offers—because the job market is very hot for DevRel managers—you have to really think about it. And so, what I like to say is: number one, working with great people; number two, working on great products; number three, making a lot of money.

Corey: There’s entire school of thought that, “Oh, that’s gauche. You shouldn’t mention trying to make money.” Like, “Why do you want to work here because I want to make money.” It’s always true—

swyx: [crosstalk 00:03:46]—

Corey: —and for some reason, we’re supposed to pretend otherwise. I have a lot of respect for people who can cut to the chase on that. It’s always been something that has driven me nuts about the advice that we give a new folks to the industry and peop—and even students figuring out their career path of, “Oh, do something you love and the money will follow.” Well, that’s not necessarily true. There are ways to pivot something you’d love into something lucrative and there are ways to wind up more or less borderline starving to death. And again, I’m not saying money is everything, but for a number of us, it’s hard to get to where we want to be without it.

swyx: Yeah, yeah. I think I’ve been cast with the kind of judgmental label of being very financially motivated—that’s what people have called me—for simply talking about it. And I’m like, “No. You know, it’s number three on my priority list.” Like, I will leave positions where I have a lot of money on the table because I don’t enjoy the people or the products, but having it up there and talking openly about it somehow makes you [laugh] makes you sort of greedy or something. And I don’t think that’s right. I tried to set an example for the people that I talk to or people who follow me.

Corey: One of the things I’ve always appreciated about, I guess, your online presence, which has remained remarkably consistent as you’ve been working through a bunch of different, I guess, stages of life and your career, is you have always talked in significant depth about an area of tech that I am relatively… well, relatively crap at, let’s be perfectly honest. And that is the wide world of most things front-end. Every time I see a take about someone saying, “Oh, front-end is junior or front-end is somehow less than,” I’d like to know what the hell it is they know because every time I try and work with it, I wind up more confused than I was when I started. And what I really appreciate is that you have always normalized the fact that this stuff is hard. As of the time that we’re recording this a day or so ago, you had a fantastic tweet thread about a friend of yours spun up a Create React App and imported the library to fetch from an endpoint and immediately got stuck. And then you pasted this ridiculous error message.

He’s a senior staff engineer, ex-Google, ex-Twitter; he can solve complex distributed systems problems and unable to fetch from a REST endpoint without JavaScript specialist help. And I talk about this a lot in other contexts, where the reason I care so much about developer experience is that a bad developer experience does not lead people to the conclusion of, “Oh, this is a bad interface.” It leads people to the conclusion, “Oh, I’m bad at this and I didn’t realize it.” No. I still fall into that trap myself.

I was under the impression that there was just this magic stuff that JS people know. And your tweet did so much to help normalize from my perspective, the fact that no, no, this is very challenging. I recently went on a Go exploration. Now, I’m starting to get into JavaScript slash TypeScript, which I think are the same thing but I’m not entirely certain of that. Like, oh, well, one of them is statically typed, or strongly typed. It’s like, “Well, I have a loud mechanical keyboard. Everything I do is typing strongly, so what’s your point?”

And even then we’re talking past each other in these things. I don’t understand a lot of the ecosystem that you live your career in, but I have always had a tremendous and abiding respect for your ability to make it accessible, understandable, and I guess for lack of a better term, to send the elevator back down.

swyx: Oh, I definitely think about that strongly, especially that last bit. I think it’s a form of personal growth. So, I think a lot of people, when they talk about this sending the elevator back down, they do it as a form of charity, like I’m giving back to the community. But honestly, you actually learn a lot by trying to explain it to others because that’s the only way that you truly know if you’ve learned something. And if you ever get anything wrong, you’ll—people will never let you forget it because it is the internet and people will crawl over broken glass to remind you that you’re wrong.

And once you’ve got it wrong, you will—you know, you’ve been so embarrassed that you’ll never forget it. So, I think it’s just a really good way to learn in public. And that’s kind of the motto that I’m kind of known for. Yeah, we can take the direction anywhere you want to go in JavaScript land. Happy to talk about it all day. [laugh].

Corey: Well, I want to start by something you just said where you’re doing the learning in public thing. And something I’ve noticed is that there are really two positions you can take—in the general sense—when you set out to make a bit of a reputation for yourself in a particular technical space. You can either do the, “I’m a beginner here, same as the rest of you, and I’m learning in public,” or you can position yourself as something of an expert. And there are drawbacks and advantages to both. I think that if you don’t look as wildly over-represented as I do, both of them are more fraught in different ways, where it’s, “Oh, you’re learning in public. Ah, look at the new person, she’s dumb.”

Or if you’re presenting yourself as an expert, you get nibbled to death by ducks on a lot of the deep technical nuances and well, actually’ed to death. And my position has always been and this is going to be a radical concept for some folks, is that I’m genuinely honest. I tend to learn in public about the things that I don’t know, but the things that I am something of a subject matter expert in—like, I don’t know, cloud billing—I don’t think that false modesty necessarily serves me particularly well. It’s yeah, I know exactly what I’m talking about here. Pretending otherwise it’s just being disingenuous.

swyx: I try to think of it as having different gears of learning in public. So, I’ve called this “Learning Gears” in a previous blog post of mine, where you try to fit your mode of learning to the terrain that you’re on, your domain expertise, and you should never over-represent the amount that you know because I think people are very rightly upset when there are a lot of people—let’s say on Twitter, or YouTube, or Udemy even—who present themselves as experts who are actually—they just read the docs the previous night. So, you should try not to over-represent your expertise.

But at the same time, don’t let your imposter syndrome stop you from sharing what you are currently learning and taking corrections when you’re wrong. And I think that’s the tricky balance to get which is constantly trying to put yourself out there while accepting that you might be wrong and not getting offended when or personally attacked when someone corrects you, inevitably. And sometimes people will—especially if you have a lot of followers, people will try to say—you know, someone of your following—you know, it’s—I kind of call this follower shaming, like, you should act, uh—invulnerable, or run every tweet through committee before you tweet after a certain sort of following size. So, I try to not do that and try to balance responsibility with authenticity.

Corey: I think that there’s something incredibly important about that, where there’s this idea that you either become invulnerable and get defensive and you yell at people, and down that path lies disaster because, believe it or not, we all get it wrong from time to time, and doubling down and doubling down and doubling down again, suddenly, you’re on an island all by yourself and no one respectable is going to be able to get there to help you. And the other side of it is going too far in the other direction, where you implicitly take any form of criticism whatsoever as being de facto correct. And I think that both paths don’t lead to super great places. I think it’s a matter of finding our own voices and doing a little bit of work as far as the validity of accepting a given piece of feedback goes. But other than that, I’m a big fan of being able to just more or less be as authentic as possible.

And I get that I live in a very privileged position where I have paths open to me that are not open to most folks. But in many respects so to you are one of the—easily—first five people I would think of if someone said, “Hey if I need to learn JavaScript for someone, who should I talk to first?” You’re on that list. And you’ve done a lot of things in this area, but you’ve never—you alluded to it a few minutes ago, but I’m going to call it out a little more pointedly—without naming names, let’s be clear—and that you’re never presented as a grifter, which is sort of the best way I can think of it of, “Well, I just learned this new technology stack yesterday and now I’m writing a book that I’m going to sell to people on how to be an expert at this thing.” And I want to be clear, this is very distinct from gatekeeping because I think that, “Oh, well, you have to be at least this much of an expert—” No, but I think that holding yourself out as I’m going to write a book on how to be proud of how to become a software engineer.

Okay, you were a software engineer for six months, and more to the point, knowing how to do a thing and knowing how to teach a thing are orthogonal skill sets, and I think that is not well understood. If I ever write a book or put something—or some sort of info product out there, I’m going to have to be very careful not to fall into that trap because I don’t want to pretend to be an expert in things that I’m not. I barely think I’m an expert in things that I provable am.

swyx: there are many ways to answer that. So, I have been accused a couple of times of that. And it’s never fun, but also, if you defend yourself well, you can actually turn a critic into a fan, which I love doing.

Corey: Mm-hm.

swyx: [laugh].

Corey: Oh yes.

swyx: what I fall back to, so I have a side interest in philosophy, based on one of my high school teachers giving us, like, a lecture in philosophy. I love him, he changed my life. [Lino Barnard 00:13:20], in case—in the off chance that he’s listening. So, there’s a theory of knowledge of, like, how do you know what you know, right? And if you can base your knowledge on truth—facts and not opinions, then people are arguing with the facts and not the opinions.

And so, getting as close to ground truth as possible and having certainty in your collection of facts, I think is the basis of not arguing based on identity of, like, “Okay, I have ten years experience; you have two years experience. I am more correct than you in every single opinion.” That’s also not, like, the best way to engage in the battlefield of ideas. It’s more about, do you have the right amount of evidence to support the conclusions that you’re trying to make? And oftentimes, I think, you know, that is the basis, if you don’t have that ability.

Another thing that I’ve also done is to collect the opinions of others who have more expertise and present them and curate them in a way that I think adds value without taking away from the individual original sources. So, I think there’s a very academic way [laugh] you can kind of approach this, but that defends your intellectual integrity while helping you learn faster than the typical learning rate. Which is kind of something I do think about a lot, which is, you know, why do we judge people by the number of years experience? It’s because that’s usually the only metric that we have available that is quantifiable. Everything else is kind of fuzzy.

But I definitely think that, you know, better algorithms for learning let you progress much faster than the median rate, and I think people who apply themselves can really get up there in terms of the speed of learning with that. So, I spend a lot of time thinking about this stuff. [laugh].

Corey: It's a hard thing to solve for. There’s no way around it. It’s, what is it that people should be focusing on? How should they be internalizing these things? I think a lot of it starts to with an awareness, even if not in public, just to yourself of, “I would like advice on some random topic.” Do you really? Are you actually looking for advice or are you looking—

swyx: right.

Corey: For validation? Because those are not the same thing, and you are likely to respond very differently when you receive advice, depending on which side of that you’re coming from.

swyx: Yeah. And so, one way to do that is to lay out both sides, to actually demonstrate what you’re split on, and ask for feedback on specific tiebreakers that would help your decision swing one way or another. Yeah, I mean, there are definitely people who ask questions that are just engagement bait or just looking for validation. And while you can’t really fix that, I think it’s futile to try to change others’ behavior online. You just have to be the best version of yourself you can be. [laugh].

Corey: DoorDash had a problem. As their cloud-native environment scaled and developers delivered new features, their monitoring system kept breaking down. In an organization where data is used to make better decisions about technology and about the business, losing observability means the entire company loses their competitive edge. With Chronosphere, DoorDash is no longer losing visibility into their applications suite. The key? Chronosphere is an open source compatible, scalable, and reliable observability solution that gives the observability lead at DoorDash business, confidence, and peace of mind. Read the full success story at snark.cloud/chronosphere. That's snark.cloud slash C-H-R-O-N-O-S-P-H-E-R-E.

Corey: So, you wrote a book that is available at learninpublic.org, called The Coding Career Handbook. And to be clear, I have not read this myself because at this point, if I start reading a book like that, and you know, the employees that I have see me reading a book like that, they’re going to have some serious questions about where this company is going to be going soon. But scrolling through the site and the social proof, the testimonials from various people who have read it, more or less read like a who’s-who of people that I respect, who have been on this show themselves.

Emma Bostian is fantastic at explaining a lot of these things. Forrest Brazeal is consistently a source to me of professional envy. I wish I had half his musical talent; my God. And your going down—it explains, more or less, the things that a lot of folks people are all expected to know but no one teaches them about every career stage, ranging from newcomer to the industry to senior. And there’s a lot that—there’s a lot of gatekeeping around this and I don’t even know that it’s intentional, but it has to do with the idea that people assume that folks, quote-unquote, “Just know” the answer to some things.

Oh, people should just know how to handle a technical interview, despite the fact that the skill set is completely orthogonal to the day-to-day work you’ll be doing. People should just know how to handle a performance review, or should just know how to negotiate for a raise, or should just know how to figure out is this technology that I’m working on no longer the direction the industry is going in, and eventually I’m going to wind up, more or less, waiting for the phone to ring because there’s only three companies in the world left who use it. Like, how do you keep—how do you pay attention to what’s going on around you? And it’s the missing manual that I really wish that people would have pointed out to me back when I was getting started. Would have made life a lot easier.

swyx: Oh, wow. That’s high praise. I actually didn’t know we’re going to be talking about the book that much. What I will say is—

Corey: That’s the problem with doing too much. You never know what people have found out about you and what they’re going to say when they drag you on to a podcast.

swyx: got you, got you. Okay. I know, I know, I know where this is going. Okay. So, one thing that I really definitely believe is that—and this happened to me in my first job as well, which is most people get the mentors that they’re assigned at work, and sometimes you have a bad roll the dice. [laugh].

And you’re supposed to pick up all the stuff they don’t teach you in school at work or among your friend group, and sometimes you just don’t have the right network at work or among your friend group to tell you the right things to help you progress your career. And I think a lot of this advice is written down in maybe some Hacker News posts, some Reddit posts, some Twitter posts, and there’s not really a place you to send people to point to, that consolidates that advice, particularly focused at the junior to senior stage, which is the stage that I went through before writing the book. And so, I think that basically what I was going for is targeting the biggest gap that I saw, which is, there a lot of interview prep type books like Crack the Coding Career, which is kind of—Crack the Coding Interview, which is kind of the book title that I was going after. But once you got the job, no one really tells you what to do after you got that first job. And how do you level up to the senior that everyone wants to hire, right? There’s—

Corey: “Well, I’ve mastered cracking the coding interview. Now, I’m really trying to wrap my head around the problem of cracking the showing up at work on time in the morning.” Like, the baseline stuff. And I had so many challenges with that early in my career. Not specifically punctuality, but just the baseline expectation that it’s just assumed that by the time you’re in the workplace earning a certain amount of money, it’s just assumed that you have—because in any other field, you would—you have several years of experience in the workplace and know how these things should play out.

No, the reason that I’m sometimes considered useful as far as giving great advice on career advancement and the rest is not because I’m some wizard from the future, it’s because I screwed it all up myself and got censured and fired and rejected for all of it. And it’s, yeah, I’m not smart enough to learn from other people’s mistakes; I got to make them myself. So, there’s something to be said for turning your own missteps into guidance so that the next person coming up has an easier time than you did. And that is a theme that, from what I have seen, runs through basically everything that you do.

swyx: I tried to do a lot of research, for sure. And so, one way to—you know, I—hopefully, I try not to make mistakes that others have learned, have made, so I tried to pick from, I think I include 1500 quotes and sources and blog posts and tweets to build up that level of expertise all in one place. So hopefully, it gives people something to bootstrap your experience off of. So, you’re obviously going to make some mistakes on your own, but at least you have the ability to learn from others, and I think this is my—you know, I’m very proud of the work that I did. And I think people have really appreciated it.

Because it’s a very long book, and nobody reads books these days, so what am I doing [laugh] writing a book? I think it’s only the people that really need this kind of advice, that they find themselves not having the right mentorship that reach out to me. And, you know, it’s good enough to support a steady stream of sales. But more importantly, like, you know, I am able to mentor them at various levels from read my book, to read my free tweets, to read the free chapters, or join the pay community where we have weekly sessions going through every chapter and I give feedback on what people are doing. Sometimes I’ve helped people negotiate their jobs and get that bump up to senior staff—senior engineer, and I think more than doubled their salary, which was very personal proud moment for me.

But yeah, anyway, I think basically, it’s kind of like a third place between the family and work that you could go to the talk about career stuff. And I feel like, you know, maybe people are not that open on Twitter, but maybe they can be open in a small community like ours.

Corey: There’s a lot to be said for a sense of professional safety and personal safety around being—having those communities. I mean, mine, when I was coming up was the freenode IRC network. And that was great; it’s pseudo-anonymous, but again, I was Corey and network staff at the time, which was odd, but it was great to be able to reach out and figure out am I thinking about this the wrong way, just getting guidance. And sure, there are some channels that basically thrived on insulting people. I admittedly was really into that back in the early-two-thousand-nothings.

And, like, it was always fun to go to the Debian channel. It’s like, “Yeah, can you explain to me how to do this or should I just go screw myself in advance?” Yeah, it’s always the second one. Like, community is a hard thing to get right and it took me a while to realize this isn’t the energy I want in the world. I like being able to help people come up and learn different things.

I’m curious, given your focus on learning in public and effectively teaching folks as well as becoming a better engineer yourself along the way, you’ve been focusing for a while now on management. Tell me more about that.

swyx: I wouldn’t say it’s been, actually, a while. Started dabbling in it with the Temporal job, and then now fully in it with Airbyte.

Corey: You have to know, it has been pandemic time; it has stood still. Anything is—

swyx: exactly.

Corey: —a while it given that these are the interminable—this is the decade of Zoom meetings.

swyx: [laugh]. I’ll say I have about a year-and-a-half of it. And I’m interested in it partially because I’ve really been enjoying the mentoring side with the coding career community. And also, I think, some of the more effective parts of what I do have to be achieved in the planning stages with getting the right resources rather than doing the individual contributor work. And so, I’m interested in that.

I’m very wary of the fact that I don’t love meetings myself. Meetings are a means to an end for me and meetings are most of the job in management time. So, I think for what’s important to me there, it is that we get stuff done. And we do whatever it takes to own the outcomes that we want to achieve and try to manage people’s—try to not screw up people’s careers along the way. [laugh]. Better put, I want people to be proud of what they get done with me by the time they’re done with me. [laugh].

Corey: So, I know you’ve talked to me about this very briefly, but I don’t know that as of the time of this recording, you’ve made any significant public statements about it. You are now over at Airbytes, which I confess is a company I had not heard of before. What do y’all do over there?

swyx: [laugh]. “What is it we do here?” So Airbyte—

Corey: Exactly. Consultants want to know.

swyx: Airbyte’s a data integration company, which means different things based on your background. So, a lot of the data engineering patterns in, sort of, the modern data stack is extracting from multiple sources and loading everything into a data warehouse like a Snowflake or a Redshift, and then performing analysis with tools like dbt or business intelligence tools out there. We like to use MetaBase, but there’s a whole there’s a whole bunch of these stacks and they’re all sort of advancing at different rates of progress. And what Airbyte would really like to own is the data integration part, the part where you load a bunch of sources, every data source in the world.

What really drew me to this was two things. One, I really liked the vision of data freedom, which is, you have—you know, as—when you run a company, like, a typical company, I think at Temporal, we had, like, 100, different, like, you know, small little SaaS vendors, all of them vying to be the sources of truth for their thing, or a system of record for the thing. Like, you know, Salesforce wants to be a source of truth for customers, and Google Analytics want to be source of truth for website traffic, and so on and so forth. Like, and it’s really hard to do analysis across all of them unless you dump all of them in one place.

So one, is the mission of data freedom really resonates with me. Like, your data should be put in put somewhere where you can actually make something out of it, and step one is getting it into a format in a place that is amenable for analysis. And data warehouse pattern has really taken hold of the data engineering discipline. And I find, I think that’s a multi-decade trend that I can really get behind. That’s the first thing.

Corey: I will say that historically, I’m bad at data. All jokes about using DNS as a database aside, one of the reasons behind that is when you work on stateless things like web servers and you blow trunks and one of them, oops. We all laugh, we take an outage, so maybe we’re not laughing that hard, but we can reprovision web servers and things are mostly fine. With data and that going away, there are serious problems that could theoretically pose existential risk to the business. Now, I was a sysadmin and a, at least mediocre one, which means that after the first time I lost data, I was diligent about doing backups.

Even now, the data work that we do have deep analysis on our customers’ AWS bills, which doesn’t sound like a big data problem, but I assure you it is, becomes something where, “Okay, step one. We don’t operate on it in place.” We copy it into our own secured environment and then we begin the manipulations. We also have backups installed on these things so that in the event that I accidentally the data, it doesn’t wind up causing horrifying problems for our customers. And lastly, I wind up also—this is going to surprise people—I might have securing the access to that data by not permitting writes.

Turns out it’s really hard—though apparently not impossible—to delete data with read-only calls.

swyx: [crosstalk 00:28:12].

Corey: It tends to be something of just building guardrails against myself. But the data structures, the understanding the analysis of certain things, I would have gotten into Go way sooner than I did if the introduction to Go tutorial on how to use it wasn’t just a bunch of math problems talking about this is how you do it. And great, but here in the year of our lord 2022, I mostly want a programming language to smack a couple of JSON objects together and ideally come out with something resembling an answer. I’m not doing a whole lot of, you know, calculating prime numbers in the course of my week. And that is something that took a while for me to realize that, no, no, it’s just another example of not being a great way of explaining something that otherwise could be incredibly accessible to folks who have real problems like this.

I think the entire field right now of machine learning and the big data side of the universe struggles with this. It’s, “Oh, yeah. If you have all your data, that’s going to absolutely change the world for you.” “Cool. Can you explain how?” “No. Not effectively anyway.” Like, “Well, thanks for wasting everyone’s time. It’s appreciated.”

swyx: Yeah, startup is sitting on a mountain of data that they don’t use and I think everyone kind of feels guilty about it because everyone who is, like, a speaker, they’re always talking about, like, “Oh, we used our data to inform this presidential campaign and look at how amazing we are.” And then you listen to the podcasts where the data scientists, you know, talk amongst themselves and they’re like, “Yeah, it’s bullshit.” Like, [laugh], “We’re making it up as we go along, just like everyone else.” But, you know, I definitely think, like, some of the better engineering practices are arising under this. And it’s professionalizing just like front-end professionalized maybe ten years ago, DevOps professionalized also, roughly in that timeframe, I think data is emerging as a field that is just a standalone discipline with its own tooling and potentially a lot of money running through it, especially if you look at the Snowflake ecosystem.

So, that’s why I’m interested in it. You know, I will say there’s also—I talked to you about the sort of API replication use case, but also there’s database replication, which is kind of like the big use case, which, for example, if you have a transactional sort of SQL database and you want to replicate that to an analytical database for queries, that’s a very common one. So, I think basically data mobility from place to place, reshaping it and transferring it in as flexible manner as possible, I think, is the mission, and I think there’s a lot of tooling that starts from there and builds up with it. So, Airbyte integrates pretty well with Airflow, Dexter, and all the other orchestration tools, and then, you know, you can use dbt, and everything else in that data stack to run with it. So, I just really liked that composition of tools because basically when I was a hedge fund analyst, we were doing the ETL job without knowing the name for it or having any tooling for it.

I just ran a Python script manually on a cron job and whenever it failed, I would have to get up in the middle of night to go kick it again. It’s, [laugh] it was that bad in 2014, ’15. So, I really feel the pain. And, you know, the more data that we have to play around with, the more analysis we can do.

Corey: I’m looking forward to seeing what becomes of this field as folks like you get further and further into it. And by, “Well, what do you mean, folks like me?” Well, I’m glad you asked, or we’re about to as I put words in your mouth. I will tell you. People who have a demonstrated ability not just to understand the technology—which is hard—but then have this almost unicorn gift of being able to articulate and explain it to folks who do not have that level of technical depth in a way that is both accessible and inviting. And that is no small thing.

If you were to ask me to draw a big circle around all the stuff that you’ve done in your career and define it, that’s how I would do it. You are a storyteller who is conversant with the relevant elements of the story in a first-person perspective. Which is probably a really wordy way to put it. We should get a storyteller to workshop that, but you see the point.

swyx: I try to call it, like, accessibly smart. So, it’s a balance that you want to make, where you don’t want to talk down to your audience because I think there are a lot of educators out there who very much stay at the basics and never leave that. You want to be slightly aspirational and slightly—like, push people to the bounds of their knowledge, but then not to go too far and be inaccessible. And that’s my sort of polite way of saying that I dumb things down as service. [laugh].

Corey: But I like that approach. The term dumbing it down is never a phrase to use, as it turns out, when you’re explaining it to someone. It’s like, “Let me dumb that down for you.” It’s like, yeah, I always find the best way to teach someone is to first reach them and get their attention. I use humor, but instead we’re going to just insult them. That’ll get their attention all right.

swyx: No. Yeah. It does offend some people who insist on precision and jargon. And I’m quite against that, but it’s a constant fight because obviously there is a place at time for jargon.

Corey: “Can you explain it to me using completely different words?” If the answer is, “No,” the question then is, “Do you actually understand it or are you just repeating it by rote?”

swyx: right.

Corey: There’s—people learn in different ways and reaching them is important. [sigh].

swyx: Exactly.

Corey: Yeah. I really want to thank you for being so generous with your time. If people want to learn more about all the various things you’re up to, where’s the best place to find you?

swyx: Sure, they can find me at my website swyx.io, or I’m mostly on Twitter at @swyx.

Corey: And we will include links to both of those in the [show notes 00:33:37]. Thank you so much for your time. I really appreciate it.

swyx: Thanks so much for having me, Corey. It was a blast.

View Details

Listen to Voiceplay: https://www.youtube.com/watch?v=iOGsqVTy9qM

View Details

Listen to https://share.transistor.fm/s/cf016ca5

View Details

Listen to Invent like an Owner: https://share.transistor.fm/s/97560e78#t=29m26s

Reddit has Two Tables (2012): https://news.ycombinator.com/item?id=32407873

View Details

Neil Roseman is the former VP for Software Engineering at Amazon. He is currently the Technologist in Residence at Summit Partners - a funding company committed to finding and partnering with exceptional entrepreneurs to help them accelerate their growth and achieve dramatic results. Jorrit Van der Meulen originally joined Amazon in 1999 and left in 2005. After working at Zillow for nearly four years, he left and rejoined Amazon in 2008 as the VP for Content Sites. He's currently the VP for Amazon European Retail.

https://share.transistor.fm/s/6877d1db

View Details

Listen to Keycuts: https://www.thekeycuts.com/dear-analyst-50-walking-through-a-vba-script-for-trading-billions-of-dollars-worth-of-derivatives-with-shawn-wang/

This little podcast/newsletter started as a little experiment last year. I never thought I would make it to episode number 50, but here we are! Thank you to the few of you out there who listen/read my ramblings about spreadsheets.

I decided to give you all a break and invite my first guest to the podcast: Shawn Wang (aka @swyx). Shawn currently works in developer experience at AWS, but has a really diverse background (check out his site to learn more). I’ve mentioned Shawn in previous episodes (25 and 49) and was honored he agreed to be the first guest on Dear Analyst. We dig into a variety of topics including negotiating your salary, Javascript frameworks, creating, and whatever else tickled my fancy.

Becoming a Jedi

I was particularly interested in a 4,000-line Excel VBA script he wrote while working as a trader in a previous job. You can learn a lot about someone from looking at their code, and that’s exactly what we did during this episode. Shawn was kind enough to share a VBA script he built back in 2012 for his team to price billions dollars worth of derivatives. I honestly don’t understand 90% of this script, but Shawn walked through a lot of the derivative concepts he had to translate into this VBA script. You can see some of his thoughts about this script in the Tweet thread below:

https://twitter.com/swyx/status/1327041894853922816?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1327041894853922816%7Ctwgr%5Ef93cc6228794ba7b8cdb0018993df1a13c16d4e9%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fwww.thekeycuts.com%2Fdear-analyst-50-walking-through-a-vba-script-for-trading-billions-of-dollars-worth-of-derivatives-with-shawn-wang%2F

I think it’s amazing that his bank relied on traders using this homegrown script to price everything from interest rates to mortgages.

One of the main takeaways from our walkthrough of this script is that the code isn’t pretty. Shawn had a problem that he needed to solve, picked up the tool that could solve that problem, and started hacking away at the solution. Shawn shared a story from his senior trader at the time on building tools for yourself:

One of the rights of passage for becoming a Jedi is building a light saber. Once you have the light saber, you just use it, and stop building it.—Shawn Wang

For the benefit of other traders out there, Shawn also believes in learning in public. Releasing this script is just one example of that. By producing content and acknowledging gaps in your knowledge, you’ll learn faster than being a “lurker,” as Shawn puts it.

No-code is a lie

We talked a bit about an article he wrote called No code is a lie, and how programmers sometimes need to get over themselves. Programmers may get caught up in the style of their code, but the end-user just cares about whether the thing works and solves their problem.

After finance, Shawn moved from Excel and VBA scripts to Haskell, Python, and Javascript. He still has a soft spot for Excel, however. With Excel, you have your database and user interface right in front of you. This not only gives people an easy way to create, but makes creation more inclusive.

Excel is creation over code. I don’t define myself as coding, I define myself creating.—Shawn Wang

Taming the Javascript community

Shawn got really involved with the ReactJS community and eventually became one of the moderators of the subreddit after Dan Abramov asked him to help with the community.

Shawn recently stepped down from moderating the community as he started coding with Svelte, another Javascript framework. In terms of moving from community to community, Shawn made an interesting point on encouraging renewal in communities. Mods, leaders, managers, and political figures should have limited terms to encourage innovation and different perspectives. Plus, I think when you are new to a community, you get a chance to learn from the ground up from others who are more experienced. Once you’re at the top, it’s time to find a new place and rinse, lather, and repeat.

Getting $50,000 added to his salary

We both talked about our interests in Haseeb Qureshi’s blog posts on salary negotiation. If you were a developer 4-5 years ago, you most likely came across Haseeb’s posts because it shows step-by-step how Haseeb went from finishing a coding bootcamp to getting a 6-figure salary at Airbnb.

Shawn also cited Patrick McKenzie’s post and Josh Doody’s guide on salary negotiation as good resources. I remember when I was interviewing, I relied on Haseeb’s concepts to get me through the negotiation process. Long story short? You should always negotiate.

The fallacy of measuring developer advocacy programs

I’ve read various blog posts and listened to podcasts about this subject, so figured I’d ask Shawn what he thinks about measuring developer advocacy efforts since he works at one of the largest companies on the planet. Rest assured! His team has not come up with the perfect formula either. Guess where they keep track of all their speaking engagements and content? You guessed it: in a spreadsheet.

Shawn mentioned one startup called Orbit that is trying to crack this nut. They dub themselves as the “operating system of vibrant developer communities.” Their orbit model is a bit cheesy but does attempt to quantify someone’s engagement in a community:

  • Love is a member’s level of engagement and activity in the community.
  • Reach is a measure of a community member’s sphere of influence.
  • Gravity is the attractive force of a community that acts to retain existing members and attract new ones.
  • Orbit levels are a practical tool for member segmentation and used to design different programs for each level of the community.

I’m currently working on a similar program and commend them on tackling this problem :).

Other projects

Shawn finally shared what he’s working on these days:

  • Wrote a book called Coding Career Handbook and maintaining a community for that
  • Growing the Svelte society on Twitter
  • Angel investing
  • Scouting for a VC fund
  • Writing on his blog

He talked about being disappointed in his writing and I completely agree with that sentiment. Writing these posts definitely take time but I always feel like more time can be put into the writing to make it more clear, structured, and precise. Having said that, I’ll take a page out of Shawn’s notebook and #LearnInPublic !

View Details

  • I'm Good (Blue) clip https://www.youtube.com/watch?v=90RLzVUuXe4
  • Charlie Harding clip https://www.listennotes.com/search/?q=Will+the+future+of+music+sound+a+lot+like+the+past%3F

View Details

Listen to Lenny's pod: https://www.listennotes.com/podcasts/lennys-podcast/the-role-of-ai-in-new-wOqPsa5VyW0/ starts at 10mins

Oege de Moor: https://www.linkedin.com/in/oegedemoor/

Codex paper: https://overcast.fm/+xs-qU9hPo/05:09

View Details

Listen to Interdependence: https://interdependence.fm/episodes/open-source-ai-and-stable-diffusion-with-emad-mostaque-EzZuPFyI

my unpublished research on Emad: https://lspace.swyx.io/p/3060cbd8-2c17-4fbf-a41e-3a9b23f5fe18

ambient discomfort on LLM size: https://www.reddit.com/r/MachineLearning/comments/wiqjxv/d_the_current_and_future_state_of_aiml_is/  https://twitter.com/swyxio/status/1576685740825579520

View Details

From Lex Fridman: https://lexfridman.com/demis-hassabis/
Transcripts from Karpathy's https://karpathy.ai/lexicap/0299-large.html

link |
00:37:13.160
So let's go to the basic building blocks of biology

link |
00:37:16.960
that I think is another angle at which you can start

link |
00:37:20.200
to understand the human mind, the human body,

link |
00:37:22.280
which is quite fascinating,

link |
00:37:23.400
which is from the basic building blocks,

link |
00:37:26.640
start to simulate, start to model

link |
00:37:28.960
how from those building blocks,

link |
00:37:30.480
you can construct bigger and bigger, more complex systems,

link |
00:37:33.080
maybe one day the entirety of the human biology.

link |
00:37:35.820
So here's another problem that thought

link |
00:37:39.680
to be impossible to solve, which is protein folding.

link |
00:37:42.720
And Alpha Fold or specifically Alpha Fold 2 did just that.

link |
00:37:48.840
It solved protein folding.

link |
00:37:50.320
I think it's one of the biggest breakthroughs,

link |
00:37:53.400
certainly in the history of structural biology,

link |
00:37:55.140
but in general in science,

link |
00:38:00.240
maybe from a high level, what is it and how does it work?

link |
00:38:04.840
And then we can ask some fascinating questions after.

link |
00:38:08.700
Sure.

link |
00:38:09.980
So maybe to explain it to people not familiar

link |
00:38:12.880
with protein folding is, you know,

link |
00:38:14.400
first of all, explain proteins, which is, you know,

link |
00:38:16.980
proteins are essential to all life.

link |
00:38:18.840
Every function in your body depends on proteins.

link |
00:38:21.520
Sometimes they're called the workhorses of biology.

link |
00:38:23.920
And if you look into them and I've, you know,

link |
00:38:25.340
obviously as part of Alpha Fold,

link |
00:38:26.660
I've been researching proteins and structural biology

link |
00:38:30.200
for the last few years, you know,

link |
00:38:31.760
they're amazing little bio nano machines proteins.

link |
00:38:34.760
They're incredible if you actually watch little videos

link |
00:38:36.460
of how they work, animations of how they work.

link |
00:38:39.000
And proteins are specified by their genetic sequence

link |
00:38:42.600
called the amino acid sequence.

link |
00:38:44.280
So you can think of it as their genetic makeup.

link |
00:38:47.040
And then in the body in nature,

link |
00:38:50.080
they fold up into a 3D structure.

link |
00:38:53.360
So you can think of it as a string of beads

link |
00:38:55.320
and then they fold up into a ball.

link |
00:38:57.160
Now, the key thing is you want to know

link |
00:38:59.100
what that 3D structure is because the structure,

link |
00:39:02.480
the 3D structure of a protein is what helps to determine

link |
00:39:06.120
what does it do, the function it does in your body.

link |
00:39:08.580
And also if you're interested in drugs or disease,

link |
00:39:12.320
you need to understand that 3D structure

link |
00:39:13.980
because if you want to target something

link |
00:39:15.840
with a drug compound about to block something

link |
00:39:18.640
the protein's doing, you need to understand

link |
00:39:21.120
where it's gonna bind on the surface of the protein.

link |
00:39:23.440
So obviously in order to do that,

link |
00:39:24.940
you need to understand the 3D structure.

link |
00:39:26.720
So the structure is mapped to the function.

link |
00:39:28.640
The structure is mapped to the function

link |
00:39:29.880
and the structure is obviously somehow specified

link |
00:39:32.560
by the amino acid sequence.

link |
00:39:34.840
And that's the, in essence, the protein folding problem is,

link |
00:39:37.420
can you just from the amino acid sequence,

link |
00:39:39.620
the one dimensional string of letters,

link |
00:39:42.560
can you immediately computationally predict

link |
00:39:45.600
the 3D structure?

link |
00:39:47.120
And this has been a grand challenge in biology

link |
00:39:50.020
for over 50 years.

link |
00:39:51.500
So I think it was first articulated by Christian Anfinsen,

link |
00:39:54.360
a Nobel prize winner in 1972,

link |
00:39:57.040
as part of his Nobel prize winning lecture.

link |
00:39:59.240
And he just speculated this should be possible

link |
00:40:01.860
to go from the amino acid sequence to the 3D structure,

link |
00:40:04.960
but he didn't say how.

link |
00:40:06.060
So it's been described to me as equivalent

link |
00:40:09.440
to Fermat's last theorem, but for biology.

link |
00:40:12.320
You should, as somebody that very well might win

link |
00:40:15.120
the Nobel prize in the future.

link |
00:40:16.560
But outside of that, you should do more

link |
00:40:19.240
of that kind of thing.

link |
00:40:20.080
In the margin, just put random things

link |
00:40:22.160
that will take like 200 years to solve.

link |
00:40:24.440
Set people off for 200 years.

link |
00:40:26.000
It should be possible.

link |
00:40:27.720
And just don't give any details.

link |
00:40:29.040
Exactly.

link |
00:40:29.880
I think everyone exactly should be,

link |
00:40:31.500
I'll have to remember that for future.

link |
00:40:33.520
So yeah, so he set off, you know,

link |
00:40:34.800
with this one throwaway remark, just like Fermat,

link |
00:40:37.040
you know, he set off this whole 50 year field really

link |
00:40:42.640
of computational biology.

link |
00:40:44.400
And they had, you know, they got stuck.

link |
00:40:46.240
They hadn't really got very far with doing this.

link |
00:40:48.520
And until now, until AlphaFold came along,

link |
00:40:52.500
this is done experimentally, right?

link |
00:40:54.320
Very painstakingly.

link |
00:40:55.500
So the rule of thumb is, and you have to like

link |
00:40:57.440
crystallize the protein, which is really difficult.

link |
00:40:59.820
Some proteins can't be crystallized like membrane proteins.

link |
00:41:03.060
And then you have to use very expensive electron microscopes

link |
00:41:05.940
or X ray crystallography machines.

link |
00:41:08.200
Really painstaking work to get the 3D structure

link |
00:41:10.680
and visualize the 3D structure.

link |
00:41:12.400
So the rule of thumb in experimental biology

link |
00:41:14.840
is that it takes one PhD student,

link |
00:41:16.860
their entire PhD to do one protein.

link |
00:41:20.320
And with AlphaFold 2, we were able to predict

link |
00:41:23.440
the 3D structure in a matter of seconds.

link |
00:41:26.400
And so we were, you know, over Christmas,

link |
00:41:28.700
we did the whole human proteome

link |
00:41:30.240
or every protein in the human body or 20,000 proteins.

link |
00:41:33.280
So the human proteomes like the equivalent

link |
00:41:34.760
of the human genome, but on protein space.

link |
00:41:37.560
And sort of revolutionized really

link |
00:41:40.240
what a structural biologist can do.

link |
00:41:43.300
Because now they don't have to worry

link |
00:41:45.720
about these painstaking experimental,

link |
00:41:47.960
should they put all of that effort in or not?

link |
00:41:49.560
They can almost just look up the structure

link |
00:41:51.120
of their proteins like a Google search.

link |
00:41:53.280
And so there's a data set on which it's trained

link |
00:41:56.880
and how to map this amino acid sequence.

link |
00:41:58.800
First of all, it's incredible that a protein,

link |
00:42:00.760
this little chemical computer is able to do

link |
00:42:02.480
that computation itself in some kind of distributed way

link |
00:42:05.720
and do it very quickly.

link |
00:42:07.800
That's a weird thing.

link |
00:42:08.840
And they evolve that way because, you know,

link |
00:42:10.480
in the beginning, I mean, that's a great invention,

link |
00:42:13.200
just the protein itself.

link |
00:42:14.760
And then there's, I think, probably a history

link |
00:42:18.240
of like they evolved to have many of these proteins

link |
00:42:22.740
and those proteins figure out how to be computers themselves

link |
00:42:26.600
in such a way that you can create structures

link |
00:42:28.560
that can interact in complexes with each other

link |
00:42:30.540
in order to form high level functions.

link |
00:42:32.660
I mean, it's a weird system that they figured it out.

link |
00:42:35.520
Well, for sure.

link |
00:42:36.360
I mean, you know, maybe we should talk

link |
00:42:37.640
about the origins of life too,

link |
00:42:39.000
but proteins themselves, I think are magical

link |
00:42:41.180
and incredible, as I said, little bio nano machines.

link |
00:42:45.760
And actually Leventhal, who was another scientist,

link |
00:42:50.280
a contemporary of Amphinson, he coined this Leventhal,

link |
00:42:55.120
what became known as Leventhal's paradox,

link |
00:42:56.820
which is exactly what you're saying.

link |
00:42:58.320
He calculated roughly an average protein,

link |
00:43:01.580
which is maybe 2000 amino acids base as long,

link |
00:43:05.080
is can fold in maybe 10 to the power 300

link |
00:43:09.960
different confirmations.

link |
00:43:11.480
So there's 10 to the power 300 different ways

link |
00:43:13.320
that protein could fold up.

link |
00:43:14.800
And yet somehow in nature, physics solves this,

link |
00:43:18.160
solves this in a matter of milliseconds.

link |
00:43:20.520
So proteins fold up in your body in, you know,

link |
00:43:23.080
sometimes in fractions of a second.

link |
00:43:25.600
So physics is somehow solving that search problem.

link |
00:43:29.080
And just to be clear, in many of these cases,

link |
00:43:31.200
maybe you can correct me if I'm wrong,

link |
00:43:33.040
there's often a unique way for that sequence to form itself.

link |
00:43:37.680
So among that huge number of possibilities,

link |
00:43:41.240
it figures out a way how to stably,

link |
00:43:45.320
in some cases there might be a misfunction, so on,

link |
00:43:47.800
which leads to a lot of the disorders and stuff like that.

link |
00:43:50.040
But most of the time it's a unique mapping

link |
00:43:52.720
and that unique mapping is not obvious.

link |
00:43:54.820
No, exactly.

link |
00:43:55.660
Which is what the problem is.

link |
00:43:57.120
Exactly, so there's a unique mapping usually in a healthy,

link |
00:44:00.720
if it's healthy, and as you say in disease,

link |
00:44:04.040
so for example, Alzheimer's,

link |
00:44:05.400
one conjecture is that it's because of misfolded protein,

link |
00:44:09.000
a protein that folds in the wrong way, amyloid beta protein.

link |
00:44:12.040
So, and then because it folds in the wrong way,

link |
00:44:14.560
it gets tangled up, right, in your neurons.

link |
00:44:17.600
So it's super important to understand

link |
00:44:20.560
both healthy functioning and also disease

link |
00:44:23.600
is to understand, you know, what these things are doing

link |
00:44:26.480
and how they're structuring.

link |
00:44:27.600
Of course, the next step is sometimes proteins change shape

link |
00:44:30.540
when they interact with something.

link |
00:44:32.160
So they're not just static necessarily in biology.

link |
00:44:37.200
Maybe you can give some interesting,

link |
00:44:39.780
so beautiful things to you about these early days

link |
00:44:43.260
of AlphaFold, of solving this problem,

link |
00:44:46.160
because unlike games, this is real physical systems

link |
00:44:51.280
that are less amenable to self play type of mechanisms.

link |
00:44:55.640
Sure.

link |
00:44:56.460
The size of the data set is smaller

link |
00:44:58.440
than you might otherwise like,

link |
00:44:59.760
so you have to be very clever about certain things.

link |
00:45:01.800
Is there something you could speak to

link |
00:45:04.800
what was very hard to solve

link |
00:45:06.680
and what are some beautiful aspects about the solution?

link |
00:45:09.920
Yeah, I would say AlphaFold is the most complex

link |
00:45:12.800
and also probably most meaningful system

link |
00:45:14.600
we've built so far.

link |
00:45:15.860
So it's been an amazing time actually in the last,

link |
00:45:18.400
you know, two, three years to see that come through

link |
00:45:20.520
because as we talked about earlier, you know,

link |
00:45:23.200
games is what we started on

link |
00:45:25.480
building things like AlphaGo and AlphaZero,

link |
00:45:27.900
but really the ultimate goal was to,

link |
00:45:30.400
not just to crack games,

link |
00:45:31.520
it was just to build,

link |
00:45:33.120
use them to bootstrap general learning systems

link |
00:45:35.320
we could then apply to real world challenges.

link |
00:45:37.440
Specifically, my passion is scientific challenges

link |
00:45:40.640
like protein folding.

link |
00:45:41.920
And then AlphaFold of course

link |
00:45:43.280
is our first big proof point of that.

link |
00:45:45.360
And so, you know, in terms of the data

link |
00:45:49.040
and the amount of innovations that had to go into it,

link |
00:45:50.920
we, you know, it was like

link |
00:45:52.280
more than 30 different component algorithms

link |
00:45:54.480
needed to be put together to crack the protein folding.

link |
00:45:57.960
I think some of the big innovations were that

link |
00:46:00.800
kind of building in some hard coded constraints

link |
00:46:04.220
around physics and evolutionary biology

link |
00:46:07.760
to constrain sort of things like the bond angles

link |
00:46:11.640
in the protein and things like that,

link |
00:46:15.400
a lot, but not to impact the learning system.

link |
00:46:18.040
So still allowing the system to be able to learn

link |
00:46:21.000
the physics itself from the examples that we had.

link |
00:46:25.540
And the examples, as you say,

link |
00:46:26.640
there are only about 150,000 proteins,

link |
00:46:28.840
even after 40 years of experimental biology,

link |
00:46:31.240
only around 150,000 proteins have been,

link |
00:46:33.880
the structures have been found out about.

link |
00:46:35.920
So that was our training set,

link |
00:46:37.120
which is much less than normally we would like to use,

link |
00:46:41.120
but using various tricks, things like self distillation.

link |
00:46:43.840
So actually using AlphaFold predictions,

link |
00:46:48.280
some of the best predictions

link |
00:46:49.480
that it thought was highly confident in,

link |
00:46:51.000
we put them back into the training set, right?

link |
00:46:53.320
To make the training set bigger,

link |
00:46:55.440
that was critical to AlphaFold working.

link |
00:46:58.400
So there was actually a huge number

link |
00:47:00.160
of different innovations like that,

link |
00:47:02.720
that were required to ultimately crack the problem.

link |
00:47:06.080
AlphaFold one, what it produced was a distrogram.

link |
00:47:09.720
So a kind of a matrix of the pairwise distances

link |
00:47:13.600
between all of the molecules in the protein.

link |
00:47:17.880
And then there had to be a separate optimization process

link |
00:47:20.440
to create the 3D structure.

link |
00:47:23.640
And what we did for AlphaFold two

link |
00:47:25.120
is make it truly end to end.

link |
00:47:26.920
So we went straight from the amino acid sequence of bases

link |
00:47:31.720
to the 3D structure directly

link |
00:47:33.860
without going through this intermediate step.

link |
00:47:36.080
And in machine learning, what we've always found is

link |
00:47:38.600
that the more end to end you can make it,

link |
00:47:40.920
the better the system.

link |
00:47:42.160
And it's probably because in the end,

link |
00:47:46.160
the system's better at learning what the constraints are

link |
00:47:48.560
than we are as the human designers of specifying it.

link |
00:47:51.920
So anytime you can let it flow end to end

link |
00:47:54.040
and actually just generate what it is

link |
00:47:55.400
you're really looking for, in this case, the 3D structure,

link |
00:47:58.440
you're better off than having this intermediate step,

link |
00:48:00.560
which you then have to handcraft the next step for.

link |
00:48:03.360
So it's better to let the gradients and the learning

link |
00:48:06.160
flow all the way through the system from the end point,

link |
00:48:09.000
the end output you want to the inputs.

link |
00:48:10.880
So that's a good way to start on a new problem.

link |
00:48:13.040
Handcraft a bunch of stuff,

link |
00:48:14.360
add a bunch of manual constraints

link |
00:48:16.640
with a small end to end learning piece

link |
00:48:18.640
or a small learning piece and grow that learning piece

link |
00:48:21.560
until it consumes the whole thing.

link |
00:48:22.840
That's right.

link |
00:48:23.680
And so you can also see,

link |
00:48:25.320
this is a bit of a method we've developed

link |
00:48:26.960
over doing many sort of successful alpha,

link |
00:48:29.640
we call them alpha X projects, right?

link |
00:48:32.200
And the easiest way to see that is the evolution

link |
00:48:34.600
of alpha go to alpha zero.

link |
00:48:36.720
So alpha go was a learning system,

link |
00:48:39.640
but it was specifically trained to only play go, right?

link |
00:48:42.280
So, and what we wanted to do with first version of alpha go

link |
00:48:45.360
is just get to world champion performance

link |
00:48:47.520
no matter how we did it, right?

link |
00:48:49.200
And then of course, alpha go zero,

link |
00:48:51.400
we remove the need to use human games as a starting point,

link |
00:48:55.280
right?

link |
00:48:56.120
So it could just play against itself

link |
00:48:57.960
from random starting point from the beginning.

link |
00:49:00.280
So that removed the need for human knowledge about go.

link |
00:49:03.720
And then finally alpha zero then generalized it

link |
00:49:05.960
so that any things we had in there, the system,

link |
00:49:08.920
including things like symmetry of the go board were removed.

link |
00:49:12.240
So the alpha zero could play from scratch

link |
00:49:14.600
any two player game and then mu zero,

link |
00:49:16.440
which is the final, our latest version

link |
00:49:18.360
of that set of things was then extending it

link |
00:49:20.680
so that you didn't even have to give it

link |
00:49:22.120
the rules of the game.

link |
00:49:23.200
It would learn that for itself.

link |
00:49:24.880
So it could also deal with computer games

link |
00:49:26.600
as well as board games.

link |
00:49:27.760
So that line of alpha go, alpha go zero, alpha zero,

link |
00:49:30.400
mu zero, that's the full trajectory

link |
00:49:33.480
of what you can take from imitation learning

link |
00:49:37.200
to full self supervised learning.

link |
00:49:40.440
Yeah, exactly.

link |
00:49:41.640
And learning the entire structure

link |
00:49:44.720
of the environment you're put in from scratch, right?

link |
00:49:47.640
And bootstrapping it through self play yourself.

link |
00:49:51.840
But the thing is it would have been impossible, I think,

link |
00:49:53.720
or very hard for us to build alpha zero

link |
00:49:55.960
or mu zero first out of the box.

link |
00:49:58.600
Even psychologically, because you have to believe

link |
00:50:01.400
in yourself for a very long time.

link |
00:50:03.040
You're constantly dealing with doubt

link |
00:50:04.640
because a lot of people say that it's impossible.

link |
00:50:06.680
Exactly, so it's hard enough just to do go.

link |
00:50:08.640
As you were saying, everyone thought that was impossible

link |
00:50:10.920
or at least a decade away from when we did it

link |
00:50:14.160
back in 2015, 2016.

link |
00:50:17.320
And so yes, it would have been psychologically

link |
00:50:20.960
probably very difficult as well as the fact

link |
00:50:22.960
that of course we learn a lot by building alpha go first.

link |
00:50:26.400
Right, so I think this is why I call AI

link |
00:50:28.520
an engineering science.

link |
00:50:29.880
It's one of the most fascinating science disciplines,

link |
00:50:32.280
but it's also an engineering science in the sense

link |
00:50:34.200
that unlike natural sciences, the phenomenon you're studying

link |
00:50:38.200
doesn't exist out in nature.

link |
00:50:39.440
You have to build it first.

link |
00:50:40.880
So you have to build the artifact first,

link |
00:50:42.480
and then you can study and pull it apart and how it works.

View Details

Listen: https://twitter.com/sourcegraph/status/1577687896814911488

View Details

Watch/listen: https://www.youtube.com/watch?v=a5vkE7mmWJ0

View Details

Listen to 3 Books: https://www.3books.co/chapters/111 (about 1hr 20mins in)

5 hour walks: https://www.youtube.com/watch?v=mp_MKrnSdaM&list=PLbsKh5N-eR063R9VopWCM_SZ5ccxhNGLm&index=26

View Details

Listen to Colin & Samir: https://overcast.fm/+6Z2pphyiU/25:00

View Details

Listen to Lenny's pod: https://www.listennotes.com/podcasts/lennys-podcast/growth-tactics-retention-M7Vx8YjC0Ei/

View Details

Listen to MFM: https://overcast.fm/+rTsWDbyUc/10:04

PG's essay http://paulgraham.com/fn.html

HN response: https://news.ycombinator.com/item?id=27194284

View Details

Listen to Cloudcast: https://www.thecloudcast.net/2022/01/2022-look-ahead-developer-careers.html

SHOW NOTES:

  • Shawn’s homepage
  • Temporal.io (homepage) - open source microservice orchestration
  • Learning in Public - The Coding Career Handbook
  • The Coding Career (community)

Topic 1 - Welcome to the show. You seem to be at the center of (or around) so many developer-centric conversations. Tell us a little bit about your background, and some of the areas you’ve been focused on.

Topic 2 - You’re well known for The Coding Career Handbook. With so many options out there for developers, how do you frame conversations about where people should focus?

Topic 3 - At some point, developers (like many engineers) get bored of working on the same things. Right now it seems like we’re in the middle of big changes. What should they think about the transition process?

  • Cloud distros https://www.swyx.io/cloud-distros/
  • Self provisioning runtimes https://www.swyx.io/self-provisioning-runtime/
  • Video in DevRel https://sacra.com/research/lenny-bogdanoff-milk-video-infrastructure/?highlight=ecommerce

Topic 4 - As a developer, what are some of the best ways to get visibility of your projects? How do you find the right balance of public projects, side projects, and whatever you’re currently getting paid for (main company job)?

Topic 5 - Any tips or tricks that you’ve learned to accelerate your learning process?

Topic 6 - How is WFH changing the developer work-life-balance?

View Details

2017 Why Hadoop is Dying: https://www.youtube.com/watch?v=QngDInV2ino

2020 Hadoop Death Roundtable: https://www.listennotes.com/podcasts/the-on-premise-it/hadoop-is-dead-the-on-PuYEm57yaqZ/

View Details

Watch the presentaiton: https://www.youtube.com/watch?v=9s-vSeWej1U
Watch the followup: https://www.youtube.com/watch?v=MfF750YVDxM

View Details

  • I wish you love https://www.youtube.com/watch?v=issStxOM5kw
  • Valentine and Laufey Interview https://www.youtube.com/watch?v=ieLhHDI9VRQ
  • Moon River https://www.youtube.com/watch?v=qVdq0VchYyE
  • Sunny Side of the Street https://www.youtube.com/watch?v=JIGiPrejRi4

View Details

Read Not Boring: https://www.notboring.co/p/ramping-up

View Details

From Cartoon Avatars: https://www.youtube.com/watch?v=kgUrYn9wKqE

View Details

Listen to 20VC: https://overcast.fm/+OozP0Z6Wg

View Details

Listen to Analyse Asia:

The post that I enjoyed from Lillian: https://twitter.com/swyx/status/1395562957434544128?s=20&t=tcHfqZ4WQ1Toq7I6n6xvag

Those posts are paid, so just browse the free ones: https://lillianli.substack.com/

Her threads are pretty good too: https://twitter.com/lillianmli/status/1350857550791491591

and https://twitter.com/lillianmli/status/1372554923552964608

View Details

Listen to Cartoon Avatars: https://three-cartoon-avatars.simplecast.com/episodes/ep-15-pt-2-packy-mccormick-and-ben-thompson-talk-about-their-own-start-finding-your-audience-and-the-creative-process-SZ8erNlY

View Details

From https://www.youtube.com/watch?v=kCMIHsy8gng

View Details

Listen to Cartoon Avators: https://www.listennotes.com/podcasts/cartoon-avatars/ep-19-matt-levine-meme-PU_5OpvEtw2/ (49 mins)

View Details

Listen to Unthinkable: https://www.listennotes.com/podcasts/unthinkable-with/special-episode-jay-on-2-XzR_uNrP-yc/ (19mins in)

View Details

Listen to Syntax.fm: https://syntax.fm/show/478/supper-club-developer-experience-with-shawn-wang

View Details

Listen to Howard Stern https://www.youtube.com/watch?v=vUnWFsc5WBU

View Details

Watch his talk: https://www.youtube.com/watch?v=PgCgIz0WYvU

View Details

Listen to Founder Real Talk: https://overcast.fm/+n6UYkhIo4/03:16

View Details

Listen to Intricity Data Sharks: https://overcast.fm/+x8z_QG3XM

View Details

Listen to podrocket: https://podrocket.logrocket.com/planetscale

View Details

Full Twitter space: https://twitter.com/i/spaces/1zqKVPQbeYYJB?s=20

Previous Devrel Real Talks:

  • https://mixtape.swyx.io/episodes/weekend-drop-devrel-real-talk-ep-1-ft-justin-garrison-micheal-benedict-zack-hoherchak
  • https://mixtape.swyx.io/episodes/devrel-real-talk-making-2m-yr-in-devrel-ft-rebecca-marshburn-and-nader-dabit
  • https://mixtape.swyx.io/episodes/devrel-real-talk-q-a-and-all-things-video-from-shorts-to-streams-ft-hassan-vercel-theo-ping-nairobi-suborbital-justin-aws

Our guests:

  • Justin https://twitter.com/rothgar

Our hosts:

  • https://twitter.com/Chau_codes
  • https://twitter.com/RealChrisSean
  • https://twitter.com/swyx

View Details

Listen to MFM: https://overcast.fm/+rTsUE0ue8/59:00

View Details

Listen to Founders: https://founders.simplecast.com/episodes/265-becoming-steve-jobs-the-evolution-of-a-reckless-upstart-into-a-visionary-leader (38mins in)

View Details

Listen to Lenny's Pod: https://www.listennotes.com/podcasts/lennys-podcast/the-nature-of-product-marty-W9GeMSkRv_m/ (15 mins in)

View Details

Listen to Founders: https://founders.simplecast.com/episodes/265-becoming-steve-jobs-the-evolution-of-a-reckless-upstart-into-a-visionary-leader (26mins in)

the magazine’s reporter encountered Steve manning the Apple Computer booth at a computer fair. “I wish we’d had these personal machines when I was growing up,” Jobs tells him, before continuing on for a total of 224 words: “People have been hearing all sorts of things about computers during the past ten years through the media. Supposedly computers have been controlling various aspects of their lives.

Yet, in spite of that, most adults have no idea what a computer really is, or what it can or can’t do.

Now, for the first time, people can actually buy a computer for the price of a good stereo, interact with it, and find out all about it. It’s analogous to taking apart 1955 Chevys.

Or consider the camera. There are thousands of people across the country taking photography courses. They’ll never be professional photographers. They just want to understand what the photographic process is all about. Same with computers.

We started a little personal-computer manufacturing company in a garage in Los Altos in 1976. Now we’re the largest personal-computer company in the world. We make what we think of as the Rolls-Royce of personal computers. It’s a domesticated computer.

People expect blinking lights, but what they find is that it looks like a portable typewriter, which, connected to a suitable readout screen, is able to display in color. There’s a feedback it gives to people who use it, and the enthusiasm of the users is tremendous. We’re always asked what it can do, and it can do a lot of things, but in my opinion the real thing it is doing right now is to teach people how to program the computer.

Before moving on to a booth where a bunch of kids were playing a computer game called Space Voyager, the reporter asks if Steve “would mind telling us his age. ‘Twenty-two,’ Mr. Jobs said.” Speaking off-the-cuff to a passing journalist from a decidedly nontechie publication, Steve finds so many ways to demystify for the average person the insanely geeky device that he and Woz had created.”

View Details

Listen to AWS.fm: https://aws.fm/episodes/episode-25-shawn-swyx-wang

Shawn joins Adam to discuss Amplify and its place in the developer ecosystem, whether we should care about Cloudflare, yet, and how to cope with the anxiety that can come with being extremely online. Also, it sounds like Adam is a tech bro and he's NOT happy about it.

Transcript

Adam Elmore: Hey, everyone. Welcome to AWS FM, a podcast with guests from around the AWS community. I'm your host, Adam Elmore. And today, I'm joined by Shawn Swyx Wang. Hi, Shawn.

Shawn Wang: Hey, Adam. How's it going?

Adam Elmore: It's going well. I've been extremely excited. I've said this on a ton of podcasts, that I'm excited to get on with a guest, but this has been a long time because before I took my break, I was going to get on with you. Took a big, long break, and I've finally got you on. You're somebody, and I'm going to say a lot of things, I'm very dramatic, but you're somebody that I really admire in the online space. You have this ability to think about things, and distill them, and put them out there in a way that I admire greatly. I'm so excited to have you on here. It's going to be hard for me to stay on any one topic because I have just a list of questions I want to ask you, basically.

Shawn Wang: [inaudible 00:00:52].

Adam Elmore: First, could you tell everyone on this show who you are, just the short version of Shawn?

Shawn Wang: Yeah. So I'm Shawn, born and raised in Singapore, went to The States for college and then spent my first career in finance where I did investment banking and hedge funds. Loved the coding part because every junior finance person starts to learn to code, and didn't like the stress of the finance part, so I pivoted to tech where I was a software engineer at Two Sigma and then I was in developer relations at Netlify, AWS, Temporal, and I've just joined Airbyte as head of developer experience.

Adam Elmore: Oh, I did not know you weren't still at Temporal. So Airbyte, what is Airbyte?

Shawn Wang: Airbyte is a data integration company, it basically has the largest community of open-source connectors for connecting to any SaaS API source into your data warehouse. So for anyone doing data engineering, the first task that you have to do is to get data from all the different silos of data in your business. Let's say you have a Salesforce being the source of truth for customers, Stripe being the source of truth for transactions, get all of them into a single data warehouse for you to do operations on. So the goal is to have the largest community of open-source developers for connecting all the data and liberating your data from all the silos that you have in your business.

Adam Elmore: And how long ago did you start? How did I miss this?

Shawn Wang: A couple weeks ago. I actually have not announced it on Twitter, which is why.

Adam Elmore: Oh, there you go.

Shawn Wang: I like to slow play it. So when I joined Temporal, I actually waited for six months to really understand Temporal and to practice my pitch before announcing it on Twitter. And that's how I like to do things because, well, partially I want to be fully up to speed before I represent something publicly.

Adam Elmore: Yeah. So I want to talk about that. You get very up to speed in a way that I don't see a lot of people on Twitter. I don't see them understand things in the way that you do. So you obviously write, your blog is a huge source of information for me, and I've enjoyed it quite a lot, but it's not just that you write, it's the way you think about things. Does that come from your finance, your analytical background in finance, or were you like that before, your ability to see the whole forest, take in the way things are trending and the way things are moving, put it all together and distill it into these wonderful articles? Where does that come from?

Shawn Wang: Oh, so first of all, thanks for the very kind words. I don't hear back from my readers that often, so it's really nice when I get to talk to someone like this. So yeah, I would say a lot of this stuff is actually from my finance days. This is the kind of analysis that you would have to do when you do an investment report or investment research on any stock or any industry. You want to get a perspective of what's going on, what the trends are, who the major players are, and form an opinion on where things are going. And I think taking that finance mindset into the bets I have, in terms of technologies, whether or not it's for using them personally in my personal stack or for joining them as a startup employee, I think is extremely underrated. And it's something I'm trying to model and hopefully teach people someday.

Shawn Wang: Although I'm not sure about the teaching part, because if I say like, "Get rich by doing investment analysis stock on early stage startups," I would feel like a hustler. So maybe not that, but I just do like engaging in that. And probably it's an exercise for me to think things through clearly by writing it down. And I also get a lot of feedback from that, so I actually improve and learn a lot by learning in public. And that's the other thing that I am pretty well known for, so this is the application of the general purpose learning in public principle.

Adam Elmore: Yeah. No, and I love your learning in public article. I hope more people see how you break down systems and the world around us and distill it. I hope more people do that because I'd love to have more sources of that kind of information. It's really fascinating and that's a lot of what I want to talk about today is your opinions on the future and where certain things are headed. First, I want to talk, you did work at AWS. How long were you at AWS?

Shawn Wang: A year. AWS Amplify.

Adam Elmore: Yeah. So I'd love to know, I guess what it was like working at AWS, what you took from that, but also more broadly, I want to get into Amplify and where it fits. You sort of live in that intersection. I feel like web, and cloud, and infrastructure, where things are trending, and I want to talk Amplify's place in that, but first, what was your role there like at AWS, at Amplify?

Shawn Wang: Yeah, I was a senior dev advocate at Amplify, basically doing demos and talks for Amplify. And the fun thing about working at Amplify is that you are essentially also a developer advocate for all the underlying services. So amplify is essentially a roll up of DynamoDB, API Gateway, AWS AppSync, even file storage like S3. You could do some demos with that. And I did, I made like a DIY Dropbox clone. But it's focus on front-end engineers. And I think that was the first time that AWS had ever made a dedicated arm or products for front-end engineers. And it turned out to be a really good bet because AWS Amplify was one of the fastest growing AWS services, at least during the time that I was there. So I thought it was just really compelling to try it out and obviously everyone has very high regard for AWS. There's a bunch of services that I only experienced on the inside and I only learned about once I got on the inside, and I thought that was really interesting as well.

Shawn Wang: A few things I'll point out. I really loved the AWS interview process, actually. I felt like it was very rigorous and I definitely haven't had as rigorous a process anywhere else. And they really got a good look at every single part of me before they made the decision. And fortunately for me, it was a unanimous, good decision, but I felt challenged. I felt like there was a lot of growth that I took away from that process as well. So I highly recommend going through it, even if you don't necessarily take the job.

Shawn Wang: And once you're in, I think the other practice I really like was the weekly business reviews. Not everyone gets to be a part of, but I was, and essentially you have a P&L from the central AWS finance team that week to week tells you how well you're doing or not. And the PMs in particular, they'll put up highlights, they bring up topics of discussion, and the general manager would be grilling people on. And I thought that was just a fun way to run a business. It was a little bit stressful, sometimes a little bit dramatic, but hey, it forced you to take on the issues head on instead of ignoring them for three months to a year, which I've also seen happen.

Shawn Wang: So I just really appreciated that directness, and everything that you've heard about on the outside about AWS culture applies, like they'll send out the memo and the first 10 minutes of the meeting will be spend in complete silence where you just read the memo.

Adam Elmore: Just read the memo. Yeah, that's real. Well, what about the leadership principle? You talked about interviewing there. Did you feel like you started to embody those? Did those really become something you valued or was it sort of like, you're just doing it because that's what Amazon cares about?

Shawn Wang: There are a few things here. So I think one, people are drawn to Amazon because of leadership principles, like literally is what the interview is for. So you can't really join without already having them ingrained in you. And then second, yes, it gets brought up a lot when decisions are being made or just behaviors being modeled or discussed, especially in the performance review stuff. So I think that is useful, that is helpful, but at the same time I have problems with some of the LPs myself. "Be right a lot." What the hell is that?

Adam Elmore: So what is right?

Shawn Wang: Yes, exactly. What is right, what is a lot? So I think that, for example, what is underdiscussed or just not on the table, just because it comes from so much up high and has so much baggage and history with it, is that sometimes you have to try to be wrong, to take more risks. And being right a lot means that you might be more conservative than you otherwise should be. It leads to very incrementalist thinking, which is like, "All right, what is the most obvious next step? What is the low-hanging fruit? What is the short thing?" You just pick that over something that is more risky, but potentially has higher impact.

Adam Elmore: Yeah. No, that makes sense. I want to, I want to shift gears a little bit and talk about Amplify. Now that you're outside of AWS, you mentioned it was sort of the first example of AWS trying to go to the front-end developer and bundle up more of a developer experience. How do you feel? And you may have information from being there about traction and things like that. How do you feel about Amplify's return on investment and is Amazon doing a good job, I guess, with Amplify in terms of trying to package up their own experience? Do you see that resonating with developers?

Shawn Wang: So I think Amazon is doing a good enough job at addressing the needs of AWS customers. And that's something that is Prime first and foremost, like excels at that. Amplify could be doing a lot better at competing with the other standalone front-end developer focused startups that are out there that don't have the AWS infrastructure, which should help, but actually sometimes hurts it a little bit. So my favorite example of this is, so there's another company Begin, begin.com with Brian LeRoux. It's a four-persons company, and they also do very similar things. They deploy on top of Amazon, they are entirely serverless, they have a smaller set of offerings that they have, but their deploy speeds are in order of magnitude, faster than Amplify. They can deploy faster to AWS than Amplify can.

Shawn Wang: And that's because Amplify doesn't do some of the trickery that they do, like having a cold pool ready or anything like that. When people are not married to the AWS stack, just because that's the solution, that's the technology provider or cloud that their company has picked. When you have free choice, then you come with no baggage and just being from AWS doesn't give you any home ground advantage anymore. Therefore, you have to really, really, really compete on developer experience. And that's something that Amplify still needed to work on at the time that I left.

Adam Elmore: Yeah. I'm glad you brought up Begin too. I'm curious how it fits into the landscape. I've seen you mention Begin within some of your articles, like the cloud distros article I think about, I want to talk about that, but how is Begin doing? I interact with Brian on Twitter, I generally like him a lot, I like what they're building, but it is sort of a thing you have to buy into. It's like a whole different way of building applications. Do you have any sense for how they fit as a player in all of this?

Shawn Wang: They're tiny. I mean, they're not a rocket ship by any means, but they absolutely solve the problem for the serverless full stack minimalist aesthetic that they're going for.

Adam Elmore: Those are all things I like, so.

Shawn Wang: Right down to the API calls, having an inbuilt authentication solution that when you write the serverless function, you just have the user ID and it's all done for you with cookies in the background. That's just beautiful, that's [inaudible 00:12:58] mess with cognito or anything like that. Because it's very straightforward, that is the way that I would want to build serverless applications. If I didn't have some kind of big enterprise thing requirement, which maybe it's a premature optimization to try to glom that on in the first place, which is what you're required to do with AWS Amplify.

Shawn Wang: So I don't think I have enough experience to really judge, are they the right technical choice in all aspects? But I think there's just a certain aesthetic that you try to optimize for. And if you have full stack needs, if you like serverless, if you like one of everything, essentially one story solution, one queuing solution, one database solution, then Begin is the right curation for you. And then Amplify is sort of the more fully loaded solution if you want an easy way to access, let's say API Gateway, even like the... Actually just before I left, they actually launched support for serverless containers with a AWS Fargate, which is also super interesting.

Adam Elmore: Oh, I didn't even know Amplify supported that.

Shawn Wang: Yeah, exactly. They're just different trade offs in the spectrum, like Begin is way more opinionated than Amplify. Amplify is way more opinionated than the full set of AWS services that are possibly out there. I think they serve front-end developers well in all different respects. Yeah. I think Amplify is definitely hitting its goals and probably exceeding its goals for adoption internally. Begin could do a better job at marketing and something that I should probably try to help them on just because I'm a friend of the company and so, I mean, I just really like the philosophy, but at the same time, there are other competitors out there, like CloudFlare Workers is essentially trying to become a Jamstack or a backend-as-a-service platform, because they have Workers KV and Durable Objects. And that's a very compelling solution for a particular type of audience.

Shawn Wang: And it's weird because you have to be much more specific now. Like that's the thing, you have to figure out which part of the population you are in, in order to figure out which provider is best for you. There's no such thing as one provider fits all. It's really about like, "Okay, do you like the minimalist approach? Go with Begin. Do you like the edge-first approach? Maybe go with CloudFlare. Do you like the little bit more full stack, scalable, cloudy service? Maybe go with Amplify." There's a lot there. Like, "Do you like to self-host containers? Maybe go with Fly.io or Render.com. There's just a lot of options out there, but all of them happened to be built on top of AWS, which is why we had the cloud distros thesis.

Adam Elmore: Yeah. And I've consumed a lot of your content on that front, like hosted back ends. I do wonder where it's all headed. Maybe the answer is that there's just going to be a lot of options, and because there's a lot of different use cases, I guess maybe narrowing it down. Like if I really don't care about enterprise stuff or big teams, if I just care about building stuff with small teams, startups, that's where I live. Do you have any predictions, I guess, for where ideal product building is headed? Is it hosted back ends to go with your hosted front ends on Vercel or whatever else? Is it learning AWS primitives and just good and good at building stuff? How do you see that forecasting into the future?

Shawn Wang: What's the alternative to hosted back ends?

Adam Elmore: I guess what I do right now is build... Like I kind of use all the Amplify services, I just don't use Amplify. So I build a lot of bespoke APIs with AppSync, and Dynamo, and whatever.

Shawn Wang: So because you have that knowledge, that's the best thing for you, because you already have that knowledge. Like it's not a big deal for you to spin up another service, but for others it would be, because they would be new to that and sometimes a more friendly layer that abstracts it away for them would be helpful. So it's really hard to say which is going to win just because they're all going to win in some way, but some will be more winning than others. That's kind of how I view it.

Adam Elmore: Yeah. Yeah.

Shawn Wang: Because at the end of the day, like cloud is such a big deal, it's such a multi decade thing. It's going to take the rest of our lives to play out. That means that the vast majority of users of cloud haven't adopted it yet, still. This late into the game, they still haven't adopted it yet.

Adam Elmore: It's so hard for me to wrap my brain around. It seems like it's been so long. And when you say the rest of our lives, I don't put it in that kind of perspective. I need to calm down trying to figure out what's going to happen in the next three years. Like it doesn't matter.

Shawn Wang: Yeah. Yeah. Lambda is like seven years old. This is so early. The way that this looks 40, 50 years from now is going to be so different. AWS has like a million-something customers, imagine it having 10 million. When you have order of magnitude, when we start to think in terms of orders of magnitude, you start to really sweat the small details a lot less because you're like, "Whatever. Everyone's going to win."

Adam Elmore: We all win. Yeah, I guess it's true. I don't know if you've talked about this, I'm sure you've thought about it, and maybe you have written about this, but it's the idea of scarcity versus abundance mentality, I guess. It's weird because all at the same time, I agree with the sentiment that if you're on Twitter or you're very online or whatever, you should have this mentality that we can all lift each other up and we can all succeed. But then on the other hand, you've got the climate and how much can the earth sustain in terms of everything can only grow so much. I just had that thought, that sort of raw stream of consciousness. So I don't know if you've got any refined response to that. Is that sort of totally different concepts that I shouldn't conflate?

Shawn Wang: What, the limits to growth thesis?

Adam Elmore: Oh, yeah. I guess that's what it's called. See, I knew you'd have a name for it or something. Like the idea that we can all succeed, but at the same time, we all need to do a lot less because the planet can't succeed if we all...

Shawn Wang: I mean, this is about the offline-online shift. So we can still do a lot less and cloud can still grow because the mix of what we do in-cloud versus off-cloud is still very much imbalanced. So when you do things like pay attention to an Andy Jassy Keynote, and he'll talk about like, "Oh, cloud penetration is whatever, 20%, 30%." That is how low it is and it still takes a long time for people to adopt for whatever reason, institutional or just generational, or maybe our technology's not there yet. There's still a lot that needs to be developed to serve all kinds of markets that it hasn't penetrated. My favorite stat was that online shopping went from 10% to 20% in COVID.

Adam Elmore: I can't believe it's only 20%. That's actually...

Shawn Wang: Exactly, right?

Adam Elmore: That's bonkers.

Shawn Wang: So there's some version of the future where that is 70%, which means that you still have a long, long, long, long, long way to grow for every part of e-commerce and the planet can still win by maybe more efficient sorting or less retail outlets. I don't know. I don't know about that. I think I'm much more shakier ground there, but yeah, often the online transition, I think it is a very positive thing for the planet, especially because a lot of the major clouds are committing to net zero carbon footprints. I'm not sure if AWS has actually done that yet, but definitely Microsoft and Google have done it, which means AWS will eventually do it.

Adam Elmore: And I know AWS, they've launched sustainability insights and stuff recently, where you can start to see the emissions impact of the services you're spinning up. I know Google's done that for some time, but AWS is now doing that, I think.

Shawn Wang: Right. But we're actually measuring it now versus not measuring it before, so whatever. This is peanuts compared to like, "All right, are we moving to electric vehicles or something?" That is way more of an interesting concern than this stuff. Like invent a better battery and that will drastically accelerate the move to solar, and that will be much more meaningful than choosing paper straws. Sweating over the carbon footprint of your EC2 instance is the developer equivalent of choosing a paper straw. Really, look, I appreciate the effort, the spirit's, the heart's in the right place, but really if you want to make an impact, go work in the big things.

Adam Elmore: I'm glad you said that because this is not on my notes, this is not something I planned to talk about, but this is the thing that I feel like to make an impact, I've really struggled, I'm 15 years into my career, I've been like a software engineer mostly early in my career, then I did a startup, and then I've mostly just been doing consulting. I feel like there are more possible things I could do with my time than ever. And it's so hard for me to decide what is worth spending time on.

Adam Elmore: And I guess, do you have any thoughts on senior engineers, when you get to a point in your career where you have more flexibility and more opportunities, what is the most impactful thing? I've thought about making courses, I've thought about building products and just continuing with consulting. Is there a way to split your time that you're ever going to feel good about?

Shawn Wang: Probably not.

Adam Elmore: Okay. It's good to know. I can stop trying to find it.

Shawn Wang: Yeah. The menu options is so high. I think just figure out what gives you energy and then try to spend more of your time and day on that than stuff that takes away energy from you, so it was just a very hippie thing for me to say.

Adam Elmore: Yeah. No, that seems much simpler than I'm making it.

Shawn Wang: There's a concept here that I do like to share about leverage. There's an inherent tension between productivity and leverage. I think we are trained from basically our days in school, that high productivity is the goal, which is you want to have a packed calendar, you want to be doing eight different things at once. You should feel bad if your efficiency went down 10% compared to last week or whatever, and you're not meeting your OKRs or whatever. And the exact opposite to that is leverage where you want to have one thing, you want to do one thing and just have a lot of impacts come out of that.

Shawn Wang: And I think there's a movement, at least in VC circles, but also in sort of tech bro circles of waking up to the idea of slack in your life, and having peace and not having so much going on, and just doing high leverage activities that help you extend your reach without you necessarily putting more hours in or being super productive. Like being unproductive is fantastic. It's actually people who cannot figure out leverage who have to try to be productive. If you can figure out leverage, then productivity doesn't matter at all.

Adam Elmore: Yeah. No, that's good stuff. I think I intuitively knew that. I just have a really hard time. I feel like I'm much more seeing the tree versus the forest, so I really appreciate talking with people like you that see the broader picture. I think I have a lot of thoughts and then I read an article of yours and it helps me put words to those thoughts that I couldn't really formalize in my head.

Shawn Wang: I should really write about this more, but I feel like I haven't got it yet. You see me out there, you see me doing all sorts of random crap. So I haven't internalized it fully. I haven't let go of the sort of productivity mantra. Part of that is me being very risk-averse, part of that is me being doubting myself. Definitely, the stuff that you see from me has extremely high leverage. I think, okay... The other thing is I also have second thoughts or doubts about this whole leverage thing, that's why I have a very divisive tone about VCs and tech bros, because everyone wants to be high leverage, everyone wants to do the 80-20. Nobody wants to ship stuff, they just want to tweet thoughts, and then they think they're done. Right?

Adam Elmore: Yeah.

Shawn Wang: That's what they think high leverage is. But really the people who get shit done, swipe to find details and take things to the finish line. And guess what? Doing that last 10% is super low leverage. Like, "Oh man, I got to fix this stupid SEO description or the OG image isn't right, let me go fix that." That kind of small little details matter for the quality of the products and for shipping things, but all the high-leverage people feel like they're above that because it's not a good use of time.

Adam Elmore: So are they the high-leverage people or you're saying the people that want to be high leverage, is that the VCs and the tech bros?

Shawn Wang: Yeah, exactly.

Adam Elmore: What is tech bro? I feel like I probably am a tech bro, and I don't want to be a tech bro, but I feel like I'm a white male that has a podcast, so I can't escape it.

Shawn Wang: Yeah. Yeah. I'm a tech bro guy. I'm sort of reluctantly in that demographic. Yeah, the tech bro is a bro that's in tech.

Adam Elmore: Okay. Yeah. Well.

Shawn Wang: That is fully aware. Okay. I do like to have this mis-metric. If you're fully up to speed on the latest news, the gossip, you know all the new launches and new products, you're definitely a tech bro.

Adam Elmore: Okay. Okay.

Shawn Wang: If nothing surprises you, you're a tech bro. If you know what AUM is, if you know what ARR is, if you know all these acronyms without even blinking, you're a tech bro. Well, the real people who get shit done out there are wonderfully blissfully ignorant. They'll be like, "What is this whole Twitter kerfuffle, what's going on? I don't know. I just completely stayed out of the loop." But you being a tech bro, you would know the blow by blow of like Elon did this, twitter did that, Elon did other thing, twitter did other thing. It doesn't matter, the stuff doesn't matter to some extent and tech bros are so involved in their own filter bubble that they don't see their own forest for the trees, so.

Adam Elmore: You said Twitter. I think I've been on Twitter actively for a year or so and I don't know that I'm better for it. I don't know that like... I know that I'm very influenced by that sphere and sort of feeling like, I think that's why it's so surprising to me when I hear about cloud adoption or I hear about online shopping. It just seems like everyone lives in this little community and it's very easy to just not really remember the people that are actually around me in my local community and what life is actually like. Is there a way to balance it? Is there a way to balance being very online, being a member of this Twitter community and still keep a good grasp on the real world?

Shawn Wang: I don't think I personally have figured that out a lot, but I think it's basically the developer equivalent of go touch grass, which is go outside.

Adam Elmore: Yeah, yeah, yeah.

Shawn Wang: Have hobbies, have kids.

Adam Elmore: That I was going to say, I've got two boys and they make me be outside a whole lot, so that probably helps, I guess, somewhat.

Shawn Wang: Yeah, yeah, yeah.

Adam Elmore: I think the biggest thing for me just career and in terms of the always online, the tech broness, I think giving my wife the opportunity to set some boundaries around the time that I am working, I think this stage of my career, I've been able to say I'm going to work less and just seeing her role and what her life looks like and realizing how it shouldn't be this different. Like we shouldn't have such a, I don't know, huge chasm in terms of our daily life. Like I get to go enjoy what I do all day. Yeah, that's helped. We've carved out a lot of time that's like, "This is time for family." I think yeah, but my online, my work life feels very homogenous, I guess. And it could be better.

Shawn Wang: For me, it's like, "All right, figure out what is probably going to make your money and focus all your attention on that. Ignore everything else. Try to stick to, okay, what can you reasonably explain to your non-technical relatives? If you can't really justify it to them, then maybe have a second thought about like, 'All right, what am I really doing here?' Am I really making the world a better place by inventing a better form of infrastructure as code? Probably not." Unless you become a billionaire by creating HashiCorp, right?

Adam Elmore: Yeah, I guess it happens in that very rare instance. Yeah.

Shawn Wang: Right. But it can happen. You just have to be super clear on what you're trying to do here. And just like, yeah, be super intellectually honest about like, "Look, you're you're in this for the money, whatever you work on is probably going to be irrelevant in 10 years anyway. It doesn't matter, but you're at least going to have fun, you're going to build some relationships, you're going to make some people happy, create some jobs, whatever, and then spend the rest of your time with family and friends."

Adam Elmore: That was a very succinct way of wrapping up a lot of the things I needed answered. So I don't know if anyone that listens to this podcast cares about any of this. I really appreciate the conversation we just had.

Shawn Wang: No, no. I think yeah, this is very real and I really appreciate you bringing it up, because I don't get a lot of chance to talk about this.

Adam Elmore: Yeah. No, I live in the Ozarks, so tech literacy here is super low. I think that's where getting into the Twitter community, it was like, "I have friends now that I can talk to about technology and things I care about." But yeah, finding that balance. I think it's really very practical of you, very wise of you to point out that ultimately this stuff doesn't necessarily matter in a decade, that whatever I think I'm working on that's so important is probably more about the people, more about what I'm kind of enjoying the process along the way and that it's making a living and that we're moving a little bit forward whatever parts we touch and what other people we can be involved with. That was very nice for me to hear.

Shawn Wang: I will point out one thing. So humanity is kind of moving onto this metaverse. If there's anything that's actually real about the metaverse is that you have your community online that is dissociated from your physical community. You're so into AWS, or cloud, or anything like that, and no one else around you physically is, and it's fine. And this is something that actually the crypto bros, they probably got right. So I think Balaji Srinivasan, who is one of the crypto investors at Andreessen Horowitz, he released this book recently about building a digital nation, which is really compelling, which is like, essentially there's the world of physical nations, like the ones that country that've boundaries, but then there's the digital nations, which are formed online, and you're a member of the digital nation of probably tech Twitter, whatever.

Adam Elmore: Yeah, yeah.

Shawn Wang: Or AWS Twitter. And I kind of liken it to the difference between friends being the family that you choose versus the family that you have is the one that you're born with.

Adam Elmore: Yeah, yeah, yeah, yeah.

Shawn Wang: So where you're physically located is just the nation that you're born with or the nation that you have to live in for your family reasons, but the one that you do online, that's the nation that you choose, so you're member of a different nation online. And that nation is global, it's ephemeral, it's virtual, whatever that is. But it's something that you prefer to spend your time in as compared to your physical nation.

Adam Elmore: Yeah. So I feel like since getting really active in Twitter and being involved with the AWS community, even outside of Twitter, it is so global. It's helped me see the perspective of America, where I live, so differently. Just getting all those other points of view and just knowing that when I interact with someone, it's not this base assumption that they understand the world through the lens of America like I do. I very much appreciate that. I feel like I'm, if anything, becoming more and more dissociated with the country I physically live in, because I just don't interact much with people outside of these walls. I don't know if it was COVID and being in all the time. I always have been kind of an at-home person.

Shawn Wang: So that is dangerous. Right? That is dangerous.

Adam Elmore: Yeah. It feels dangerous. Yeah, tell me why.

Shawn Wang: Well, because if you don't care about the physical environment that you're in, then it's going to degrade, it's going to diverge away from your preference.

Adam Elmore: Yeah.

Shawn Wang: I don't know if that's inherently bad to me. Like there's definitely a physical element to humanity that we should keep around. We are not just brains plugged into the matrix. Essentially this leads to the matrix, that we might also just be plugged into something virtual online and spend zero time on a physical environment. Most people would not like to live that way, and that means we should care about what's going on around us. And we should try to have some physical presence that we're actually proud of and enjoy. And I think that there's a tension there that I think is sort of the modern humanistic existentialism, which is like, "How much of my life should I spend online versus how much should I spend in person?" And the fact that you have to choose is just nuts.

Adam Elmore: Yeah. And I think my problem, like if I'm just being honest with myself and just thinking through this, I spend about as much time, I think, in the real world, but it's just with my family, at home, it's with my neighbor, I got a neighbor that I go for walks every week with. It's like my very, very hyper local community. But what's going on in the City of Nixa? It's like 10,000 people where I live. What's the local government doing? I don't know. I have no idea. What's the State of Missouri doing? Probably stuff I don't like.

Shawn Wang: Exactly. And look, this has a very real impact on us because these people are making the laws that we have to follow. And we don't have a voice because we choose not to have a voice because we choose to not care. But hey, is it really our fault when the Supreme Court or the Congress makes a law that we don't like? Well, yeah. I mean, what did you expect? You didn't spend any time investing in that part of the world. It's like, "When are we going to have a software engineer in Congress?" That's really the big question.

Adam Elmore: Yeah. There's not a lot of tech representation, is there? In government in the United States.

Shawn Wang: No, because everyone hates politics, they love to dunk on it, they don't want to do a thing about it, but that's kind of the problem. I don't care which side of the bench you're on, like just the politicalness because you feel like you're not a member of the physical nation, you're a member of the digital nation. That is a problem for the physical nation, because at the end of the day, that's basically a reality.

Adam Elmore: Yeah. Oh, I think of that, there was that Netflix documentary. I don't even know if it was just on Netflix, but there was that social. Well, I don't even remember what it was called, it was about social media and had all these people from Facebook and other places, or ex-Facebook, talking about just this impact that the very online nature of our generation, what it's doing to our brains and all that. This all sort of ties in my mind. Like I definitely need to do some more things that are yeah, going to impact my life, my kids' lives, sort of being more involved, I guess, outside of... Like I divide my time into I'm at work and I'm on a computer all day or I'm with my family and we're out in the yard playing. It's those two things. And I make no time for anything else, but that's probably not good. Not a good, long-term solution.

Adam Elmore: Okay. Now I'm getting way off the rails. AWS FM, people literally listen to this for some good AWS bits. They've turned out long ago. I do have a couple more questions here, getting back to like I'm a developer, I like building full-stack web applications and I happen to like leveraging AWS. I'm going to ask you a few things. When should I care about CloudFlare? They announce all this cool stuff and it really is genuinely cool sounding, but there's so much of a barrier to adoption, like for me to change my day to day and start using a new thing. When should I care about CloudFlare?

Shawn Wang: I have the article on this, about how CloudFlare is playing Go while AWS plays chess, so I highly recommend reading that up. Essentially, CloudFlare is a really good CDN. AWS has its own. I would think you can do up comparisons of CloudFront and CloudFlare all day long, but I would say that CloudFlare probably has much more of a security focus than CloudFront has, and that by default wins you the majority of the business and it happens to be very easily adoptable because you just need to configure some DNS, just is carrying a lot of weight there and it comes to DNS.

Adam Elmore: If you're asking someone in the Ozarks around me, then what's DNS, first of all?

Shawn Wang: So I think it basically starts from the outside in. You want to think about CloudFlare, you think about where your user's traffic is coming in. Maybe you want to protect those with CloudFlare and then you want to come in a little bit. CloudFlare has this S3 wrapper called R2, that basically reduces a lot of your outgoing bandwidth costs. And that seems like basically a Pareto optimal win. Pareto being you're no worse off in any dimension and you're better off in one dimension, which is cost. And that's just a function of CloudFlare.

Shawn Wang: Like how many points of presence does AWS have? I think in the hundreds, maybe 100, 150, something like that. CloudFlare has tens of thousands, right?

Adam Elmore: Oh, okay.

Shawn Wang: It's just a much better edge network than AWS has. And so they just have a fundamentally different business model. And I think once you understand that from a fundamental physics and points of presence perspective, then you're understanding, "Okay, this is what I'm getting that AWS doesn't do." It's not a straight up one-to-one competitor, it's trying to tackle the cloud problem from a different way.

Shawn Wang: So you do the cloud traffic protection, then you do the sort of egress charges, which are sort of the main sticking point of AWS. Then you get into the extra stuff that CloudFlare offers for application builders. And I focus on this because I'm an application builder. CloudFlare's other offerings for security that I have no idea, security and networking that I have no idea about, particularly if you need to wire a building or an office, they have a box that's pretty sweet for everything I heard. CloudFlare One is the name of it if you want to Google it.

Adam Elmore: Okay. Yeah, I do.

Shawn Wang: But for application developers, CloudFlare Workers, that team is the sort of primary team that's working on that. And that is, there's edge function service that would be a big leap to adopt because they don't run Node.js, they run V8 isolates, which are taken out of the Chrome V8 engine.

Adam Elmore: Is it similar to like Lambda@Edge? Like the same kind of...?

Shawn Wang: No, it is not.

Adam Elmore: Oh, is Lambda@Edge node?

Shawn Wang: Yes.

Adam Elmore: Oh, it is.

Shawn Wang: Yes.

Adam Elmore: It is. Now, what is it similar to? It's similar to, I guess like Middleware and Next.js, that's that same kind of a limited runtime environment?

Shawn Wang: I think so. Yeah, exactly, exactly. I would say it's more limited in Lambda@Edge and it's got different costs and criteria. Basically, there's just more of the open source ecosystem that it will be incompatible with CloudFlare Workers than it would be with Lambda@Edge. And that's the thing that you need to know because you're going to use...

Adam Elmore: CloudFront Functions.

Shawn Wang: Ah, okay. Yeah, that's the one I keep forgetting.

Adam Elmore: I don't know who's using it, but that's what I was thinking of.

Shawn Wang: Right. So I used to use this only for smart redirects, like looking at the headers of a request and saying, "If you're coming in with a header indicating you're from a certain region, certain IPS, certain language, then I'm going to route you to a different location than I would normally." Only for route, but now Edge Functions are becoming so capable that you might be able to do rendering on demands instead of just routing. And that actually is unlocking a few new things because on top of that, CloudFlare also has persistence solutions with Workers KV, which is their eventually consistent store, and Workers, and Durable Objects, which is their strongly consistent store. So either one of those combined with the ability to render, means that you can actually just host a site full stack with Front on the Edge. There's no origin server, there's no region, you just have everything everywhere all at once, which is a favorite phrase that I try to sneak in.

Adam Elmore: Yeah. That's super compelling.

Shawn Wang: So yeah, your latencies go down from like 300 milliseconds to nine, just because you're just pinging near a cell tower or something.

Adam Elmore: Yeah, that's incredible. And they've just announced, I don't remember D1 or whatever. I don't know, I can't keep track of their product names, but they have like a distributed SQL offering as well that's coming or...

Shawn Wang: SQLite. Yeah.

Adam Elmore: Yeah. SQLite at the edge.

Shawn Wang: I mean, everything's just built on top, it's just clearly built on top of the original persistence primitive that they have. And so once they got strongly consistent and eventually consistent, those are the two dimensions that you really care about. You can build any sort of solution on that, so the SQLite offering is just built on top of that.

Adam Elmore: Yeah. Okay. So I don't know if I'm going to like jump on this stuff yet, but it does sound like there is a world where I could build side projects just on CloudFlare, like stuff runs all at the edge and I don't have to build up, I guess, is the interop, like if I want to still stand up a GraphQL API in AWS, like AppSync or something, is there interoping between the two services? You said their durable storage sits on top of S3, so it's actually, you're using an S3 bucket, you're just wrapping it with a CloudFlare thing?

Shawn Wang: It's a proxy.

Adam Elmore: Okay. Are people building hybrid CloudFlare, oh, I know they are, hybrid CloudFlare and AWS back ends today? I think I know of a couple at least. Is that a thing you recommend?

Shawn Wang: I would say yeah, there are. I'd say this is definitely on the cutting edge. You do it because you feel like [inaudible 00:42:35].

Adam Elmore: It's like Twitter, where you do it and you talk about it on Twitter and then everyone thinks...

Shawn Wang: It's theoretically possible, it's just like probably not in any size.

Adam Elmore: Doesn't make sense yet. Okay. So I'm going to say, I don't need to care about CloudFlare yet, that's what I'm going to say based on this conversation. I mean, I'm going to keep reading the articles, but.

Shawn Wang: The only thing I'll point out is don't stop there because this is what they've achieved in the past three, four years, they clearly have a roadmap, they clearly are going to keep going, and just eating the cloud from outside in, which is the name of the article. What else of the functionality can be replicated in an-edge-first way? CloudFlare is probably going to do that. And so there's a whole roadmap that just consists of looking at the AWS console and just going, "That first, that first, that first comes [inaudible 00:43:17]."

Adam Elmore: Yep. Yep. Yep.

Shawn Wang: And then there's a question of just what kind of application are you building and do you really need the full set of AWS services, or can you just start from the edge first? That's how disruption happens. Disruption happens by taking a section on the market that nobody cared about and making that your entire thing, and then making it so capable over time that people see no use to use the old thing, but it takes a course of what, 10, 20 years to do that because AWS has just spent the past 20 years doing that in the first place.

Adam Elmore: I just don't keep those time frames in mind. Like Twitter has warped my sense of when things are coming. And when you say 10, 20 years, it's like, I don't think about anything that's coming 10, 20 years from now. I think I'm thinking what's coming in the next 18 months.

Shawn Wang: Right. But that's a problem for us, because that short-term mentality stops us from betting on big trends early. And I think to build anything of significance, you have to do it for 10 years.

Adam Elmore: Yeah. I got to get off Twitter, that's what I'm coming to here.

Shawn Wang: I think so. I think I'm going to do it in healthy amounts. So I actually, one of my longstanding wishlist projects is to actually build a Twitter client that has a time limit.

Adam Elmore: Oh, nice. Yes.

Shawn Wang: [inaudible 00:44:25] Client with a time limit. If you're going to have more time, you're going to have to pay to donate to your favorite charity or something.

Adam Elmore: Oh, I love it.

Shawn Wang: And that's in my wishlist.

Adam Elmore: Yeah. I will use it. You've got your first user if you build it.

Shawn Wang: I'll just say the only reason I don't do it is because nobody trusts the Twitter API.

Adam Elmore: So one more, should I care about it yet or not? Because I see Brian LeRoux talk about this quite a bit. Deno. Should I care about Deno yet?

Shawn Wang: I think so. I think it's there. I think it's there. So what is Deno? Dino is sort of the new runtime that the original creator of Node.js is saying, "All right, I'm going to do this over. Node.js has been around for 10 years. I see all the flaws of it, now I'm going to start over from scratch." I was very skeptical of Deno when it first came out, but it's been two years and it's really shown a lot of progress. And I think the governance is right, the funding model was right, and the adoption is growing. What is really compelling to me about Deno, just not from a technical perspective, from a business perspective, which feeds into a technical, the business side. There are companies so Superbase and Netlify, both launched edge functions powered by Deno, which means that their biggest products shipping capability announcement of the year of 2022 was someone else's product. It was a startup that's way younger than them, but they just have the right abstraction and the right cloud service that is already functional that they're launching. So it's weird.

Shawn Wang: Deno's go-to-market strategy is just waiting for other people to wake up and go, "I need this. Deno's the only supplier in the market for this. And yeah, let's just bring it on and ship it as our thing." Where it really is Deno's thing, but they're just letting other people white label them. It's that's fantastic. So I mean, from that perspective alone in the past six months, I've really changed to, from like, "Okay, Node and Deno will coexist for the foreseeable future because there's such a huge install base of Node into every incremental app will probably be built in Deno."

Adam Elmore: Well, that's... Yeah. No, that's what I needed to hear. I think I there's a lot of excitement. I see it all, but it's all Twitter, so I needed to hear it face to face that it's worth digging into.

Adam Elmore: One last question. We do have a couple more minutes here. Do you have thoughts on the whole macro venture capital situation and how that might impact the next 5, 10 years? And I don't know if we're entering into some tightening cycle that we've never seen anything like the last 10 years, 13, whatever years, of government injecting so much capital into the system. And if that starts going away, do you have opinions or thoughts on all these startups that are making our lives better? Like I think of DevX startups where I don't know how financially sound they are yet, they've been living off the VC. Do you have thoughts on all that?

Shawn Wang: Not fully formed ones, but I can give you a quick hit.

Adam Elmore: Yeah. Yeah.

Shawn Wang: So how bad did it get? It got to the point, so the average price of sales ratio of a publicly traded company would be in the range of 10 to 50. That's a very wide range, meaning your market capitalization, the total value of a company is 50 times your sales. In private markets, the price of sales ratios of funding rounds, series A and B, and all that, got up to 1,000 times.

Adam Elmore: Oh my God.

Shawn Wang: We had 1,500 at one of the startups that I was at and I heard of one startup that was 2,500.

Adam Elmore: Wow.

Shawn Wang: So that was the peak in November of last year. Those days are gone, people are now asking for 100X, which is very like 10X fall, like very, very big. That's why almost nobody's raising money. So that VC market is right up, I'll say it has different impact on different stages. And this is all to do with like, "Okay, would you invest in Stripe at 95 billion when Shopify used to be 100 billion and now it's worth 20 billion?" You probably want to buy the more quality asset that's already publicly listed than the very stable asset that is at a high valuation.

Shawn Wang: So this is the deal making has just gone off. Like I think at the seed stage, people are completely unaffected. I think people are cognizant of the fact that economic cycles repeat or like, this is not going to... This is a recession. We are probably already in a recession right now, we are in a tightening cycle right now, but this is probably not one of those that's just going to drag out super long. And startup take 10 years to build anyway, so why should your early stage investing be affected at all by what the current level of the S&P is? It shouldn't.

Adam Elmore: Yeah. No, it's true. I mean, so much of this conversation just echoes your bias towards long term versus short term, and I should have known that coming in. I'm asking all these questions that are very much like, there's a clear answer if you just think outside of the next year.

Shawn Wang: Oh, I love training people to do that.

Adam Elmore: Yeah. No, it's really nice.

Shawn Wang: Take a long-term perspective in the history and then project it out to the future as well, and try to make decisions on that, so.

Adam Elmore: Yeah, it's sort of refreshing, especially in this sort of anxiety-ridden digital space. I feel like when you zoom out things feel a lot less pressing or anxiety-laden, I guess. I don't know. Yeah, I appreciate that.

Shawn Wang: It's weird because I think that's true, but at the same time, you're only here on this earth for so long. When you zoom out, that actually reduces the available number of decisions that you can possibly make, which means that each decision goes from being a two-way door into a one-way door because you want to make more substantial decisions. Therefore, for example, when I changed jobs, it took me like two months of agonizing to finally land on something, because I could have done any number of things and I think you have to really examine your beliefs as to what the long-term trends are going to be and trade that off versus being happy in the short run.

Adam Elmore: Yeah. I'm going to be trying to do that. I think I'm in the middle of the agonizing stage right now, trying to figure out what's next, but I'm going to try and think a little more long term.

Shawn Wang: The thing I'll point you to, you're talking about courses and stuff like that in leverage, I'll say definitely check out Eric Jorgenson, who is the book writer for Naval Ravikant. He wrote the Almanac of Naval Ravikant, and he's trying to build up a thesis or a body of knowledge around what leverage is and what leverage means. And then the other thing I'll point you to is Nathan Barry, who's the founder of ConvertKit who talked about the letters of wealth creation and how some things are more high leverage than others, so.

Adam Elmore: Thank you so much for that. Again, this podcast may just be for me, but that's okay because I got a lot out of it. Thank you so much for taking the time, Shawn.

Shawn Wang: [inaudible 00:50:58].

Adam Elmore: I didn't know how much I'd get in on my... I think we covered half the things I thought about talking to you about. You're just a wealth of knowledge, you're sort of a wise sage in this community and it's been so great to pick your brain. Thanks for coming on.

Shawn Wang: I think we're the same age.

Adam Elmore: Oh, yeah. Well yeah, you've been using your time better, I guess. You've been doing more high-leverage things or something.

Shawn Wang: Yeah. Thanks for having me around, but we can talk anytime. I really enjoyed this conversation.

Adam Elmore: That sounds good. Thanks, Shawn.

View Details

Read the article and watch the full interview: https://dx.tips/plaid-hockey-tips


SaaS API founders should not miss this week's Cartoon Avatars interview with William Hockey, former Plaid cofounder/CTO and now founder of Column.

He does not do interviews often and rarely do you get this level of insight into a $13 billion, fintech category-defining behemoth. What follows is a TL;DR for those who, well, TL;DW.

The $12 Billion UI Decision - Owning the UI

Many SaaS API providers take pride in being "behind the scenes", or being "whitelabel" to appeal to as many enterprise customers as possible. Jeff Lawson often proudly talks about how many people use Twilio without realizing it.

TLDR: Hockey bet the company on going against that received wisdom - forcing 100% of his customers to migrate to a Plaid hosted UI with Plaid's logo and branding - over a period of 2 years, with a lot of pushback.

He estimates this decision alone was worth 90% of the company value today (!)

From the 22-26 minute mark:

I think the most successful decision we made was actually owning the interface - the physical design and owning the client side...
When we first started, we were this transparent infrastructure provider and so the consumer had no idea who we were...

...and so what happened is you didn't know, as a consumer, that Plaid existed in that flow. We realized that this was kind of problematic because, as a consumer, you were not getting the same experience hooking up your bank account to Venmo as you were when you hooked up your account to Square Cash, or Chime or, Coinbase..

and that had a lot of security issues but also had conversion issues because every application thought that their design was best or whatnot...

so what we decided to do is we made them display a Plaid designed UI to the consumer...

We made the application insert our branding, our logo and our experience into the application. That was extraordinarily controversial, as you can imagine, because these applications want to control the experience.

One way to view this move is concluding "Plaid customers were so bad at their jobs of optimizing UI that just providing the APIs wasn't enough."

The motivations were two fold: self protection (Plaid oriented) and conversion optimization (customer oriented):

We needed to establish some level of relationship with the consumer and provide uniformity across these applications because we were the only one focused this hard on conversion.
It actually started converting a lot better... the consumer actually started to feel comfortable, like hey I know this screen, I've seen this before, and it also allowed us to do a lot of micro optimizations around messaging certain banks and just allowed us to kind of have a platform that we could actually deliver content and software directly to the consumer...

Where my eyes really popped is how far they took this - forcing ALL their users to adopt this flow - near impossible for most API companies to do especially if customers threaten to leave over this decision.

Now 100% of traffic flows this way and it's actually one of the only reasons that we have good relationships with the banks because those sensitive data never actually hits the application anymore and we can also if a bank wants to make you accept some terms of service or something like that, we can deploy that instantly... and so it allows us instant flexibility.
but it was a very very challenging rollout - it took almost 18 to 24 months, there was a lot of pushback to it - but i think if we didn't do that, A) consumers wouldn't have as good of an experience, B) we also would have got commoditized and it would have been really easy for these applications to switch it out. It would just been a worse experience for everybody

But in the end, it was worth it:

I think that (decision) probably generated like 90% of our market cap today.
You can try the full UX of the $12 Billion UI right here: plaid.com/demo without connecting a bank account.

You can see Stripe, a Plaid competitor that stayed relatively behind the scenes, increasingly start to own the experience with Billing in 2018, Checkout in 2020, and lots more I am unaware of. In fact, Stripe Checkout's marketing sounds eerily similar to what Hockey just said for Plaid:

You get the benefit of all this and everything that’s to come: even faster load times, additional payment methods we add, compliance with future payments regulations, and every optimization we make to maximize conversion—all without major code changes on your end.
Alvar Lagerlof also reports that Swedish fintech Klarna also inserts a branded UI:

This is a product direction you can expect more SaaS APIs taking going forward as they seek both to build their own customer relationships and to serve their B2B customers better (by doing their jobs better than they can).

Sidenote: Founder Intuition Over Data

What is perhaps most interesting is that this decision was made without data - Hockey felt like he would not have had support from consumers, banks, or employees - which is why these kind of high conviction bets require founder-led companies.

Also noteworthy - it took "three or four years" before it became obvious that forcing their UI was the right decision.

At 27 minutes:

I see this with founders a lot - when they go try to do product interviews or customer interviews, they're assuming that the people they're interviewing have similar knowledge, interest, or insight to them, and that's just not the case.
We just felt like there was a bit of an arbitrage where we knew where the industry was going to play out we knew what the banks were going to react and so we just made the gut call.

This isn't something he encourages at all scales - and the transition from being a product visionary at 10 employees to a delegating leader at 1000 employees is a difficult but necessary transition.

Column: The Bank with Developer Experience

For his next act (as a billionaire, post Plaid), William bought a bank and is now aiming to provide "financial infrastructure to other companies" - if anyone wants to do bank-like activities (loaning, holding, or moving money), Column offers you an API to do that. They aren't the first, but they are aiming to do it better/faster than the incumbents.

True to form, he seems to want to own the whole experience here too.

At the 39-44 minute mark:

How it worked before is, you had this very complicated supply chain where you had these community banks that were obsessively renting out their charters, but they didn't really know what people were doing with it.
(Then) banking as a service providers... would sit in between the customer and the bank and they would provide the APIs, they'd provide the developer experience, and they would pass all the risk and complexity up to the bank...

and the bank would then outsource all of their technology out to a core and these cores are something called FIS, Fiserv and Jack Henry and they provide all of what you actually think a bank does...

We looked at this space and it seems over complicated for something that should be relatively simple... so we are a bank but we also have built all of our own core, we built all of our own developer experience, so if you want to do something, all you have to do is come to us and we'll provide the end-to-end solution.

We took this really elongated supply chain and condensed it into one institution...

What i learned from Plaid is it's really hard to build a really great developer experience unless you control your entire end-to-end flow because if I don't actually own the bank or I don't own the core, I can't actually deliver you a good service, because I have partners upstream that could it mess up.

What happens in the industry right now, is you have these really great companies that are super smart, they build really great technology, but they've obsessively offloaded a lot of the technology and responsibility upstream to people they don't control and so they actually can't deliver a good experience.

I want to control the entire thing, all the way up to the Fed and back...

So in many ways, it's just a high conviction bet that I think this space is going to evolve a completely vertical solution that is controlled end to end, it will be the winner and I think it's going to take me 10-40 years to get there, but if we do I think we have an opportunity to be the largest and most important financial institution out there.

The rest of the conversation goes into cryptoskeptic discussion which isn't super useful for devtool founders.

Founder/Investor Reflections

This interview/anecdote was notable because it concerns the ideal structure of developer tooling (I wrote a basic intro on Horizontal vs Vertical strategy here).

The default approach of all SaaS APIs for the past 1-2 decades has been to aggressively horizontalize - pick one piece of functionality that is repeatedly built by all other companies, specialize in it, turn the fixed-cost upfront investment into a scale-from-zero-to-infinity variable cost API.

Hockey took a different route - going from partial vertical integration - forcing Plaid as an API-in-the-middle provider - to full vertical integration with Column. Other founders, notably Rippling, are choosing to centralize rather than specialize, and build multiple offerings from day 1.

Developers know the adage - there are only two ways to make money - bundling and unbundling.

Economists call this the study of industrial organization.

As exhaustion sets in from the modern data, devops, martech, and other landscapes becoming too fragmented, there are surely opportunities to offer the vertically integrated, premium "Apple" to the free, commoditized, so-so "Android" in each kind of developer tooling domain.

Either way you land, Plaid and William Hockey's story is a fascinating and relatively rare example of successful vertical organization that more people should know.

View Details

Our Twitter space: https://twitter.com/Chau_codes/status/1560749221447286784

Hour 1 was Q&A - comparing notes on Vercel vs Airbyte, going deep/leveling up in DevRel (Building your Lightsaber) and on content creation (Dev.to vs Hashnode vs Substack)
Hour 2 was Video/YouTube/Twitch focused since Theo joined!

Previous Devrel Real Talks:

  • https://mixtape.swyx.io/episodes/weekend-drop-devrel-real-talk-ep-1-ft-justin-garrison-micheal-benedict-zack-hoherchak
  • https://mixtape.swyx.io/episodes/devrel-real-talk-making-2m-yr-in-devrel-ft-rebecca-marshburn-and-nader-dabit

Our guests:

  • Hassan https://twitter.com/nutlope
  • Alex https://twitter.com/alexandereardon
  • Nairobi https://twitter.com/Tech4Abolition
  • Theo https://twitter.com/t3dotgg
  • Justin https://twitter.com/rothgar

Our hosts:

  • https://twitter.com/Chau_codes
  • https://twitter.com/RealChrisSean
  • https://twitter.com/swyx

View Details

Previous Episodes:

  • https://mixtape.swyx.io/episodes/weekend-drop-coding-career-chat-the-operating-system-of-you
  • https://mixtape.swyx.io/episodes/weekend-drop-coding-career-chat-finance-for-developers

Show notes and referenced links:

  • Reading: https://learninpublic.org/v1-strategy-intro-tech.pdf
  • Replies: https://twitter.com/Chad_R_Stewart/status/1558529083079856128

Join the Coding Career Community: https://learninpublic.org/

Follow for future spaces: https://twitter.com/Coding_Career

View Details

Our Twitter space: https://twitter.com/i/spaces/1vAxRkDjkpNKl

Comp Report: https://www.commonroom.io/blog/2022-developer-relations-compensation-report/
Slido: https://app.sli.do/event/bxvrMv1yBfycLUh7bL3aaG

Previous episodes:

  • https://mixtape.swyx.io/episodes/weekend-drop-devrel-real-talk-ep-1-ft-justin-garrison-micheal-benedict-zack-hoherchak

Our guests:

  • Rebecca https://twitter.com/beccaodelay
  • Nader https://twitter.com/dabit3

Our hosts:

  • https://twitter.com/Chau_codes
  • https://twitter.com/RealChrisSean
  • https://twitter.com/swyx

View Details

  • https://www.youtube.com/watch?v=lklTPY4Zj7Q
  • https://soundcloud.com/clublifebytiesto/clublife-by-tiesto-podcast-801
  • https://en.wikipedia.org/wiki/Ti%C3%ABsto

Tracklist:
[00:00] Intro
[00:42] 1 John Summit & GUZ feat. Stevie Appleton - What A Life
[03:50] 2 Fancy Inc – Circles (feat. Jack Dawson)
[06:16] 3 Piero Pirupa - Put Your Hands Up
[08:00] 4 Oliver Heldens - I Was Made For Lovin' You (feat. Nile Rodgers & House Gospel Choir) (James Hype Remix)
[10:11] 5 Tiësto & Charli XCX - Hot In It (VIP Remix)
[13:44] 6 The Weeknd - How Do I Make You Love Me (Sebastian Ingrosso & Salvatore Ganacci Remix)
[16:33] 7 David Guetta vs. Benny Benassi - Satisfaction
[17:56] 8 Cat Dealers & Lukas Vane feat. Elise LeGrow - Hey Hey (Heard You Say)
[20:13] 9 Sebastián Yatra - Tacones Rojos (Tiësto Remix)
[23:44] 10 Axel Rulay vs. Tiësto - Si Es Trucho Es Trucho (feat. El Alfa & Farruko)
[26:09] 11 DubVision, Otto Knows & Alex Aris - Electricity
[28:10] 12 HÄWK & The Shooters - We Make It Pop
[29:08] 13 Tujamo - Drop That Low (Tujamo's Secret Weapon 2022)
[31:09] 14 Imanbek & BYOR – Belly Dancer (LUM!X Remix)
[32:40] 15 MORTEN - No Good
[35:39] 16 Tiësto - Baila Conmigo
[37:12] 17 KVSH & Carola - Welcome To The Future
[38:42] 18 Martin Garrix & Breathe Carolina - Something
[40:21] 19 Martin Ikin - Future
[41:38] 20 Odd Mob - LEFT TO RIGHT
[43:08] 21 Fred Again.. - see yourself in my eyes (Sonickraft Remix)
[45:31] 22 Binary Finary - 1998 (Whitesquare Remix)
[48:31] 23 Mind Against & Dyzen - Freedom (Club Mix)
[50:12] 24 Gheist - Only
[52:24] 25 ARTBAT & Shall Ocin, feat. Braev - Origin
[56:57] 26 CamelPhat & Mathame - Believe

View Details

  • Opening Scene: S4E2 https://www.youtube.com/watch?v=osPVh1mT5Wo
  • Understanding Kim Wexler https://www.youtube.com/watch?v=mHhGjnzAEqE

View Details

Lalo Scenes

  • Introduction https://www.youtube.com/watch?v=mJv-QBdxSaU
  • Interrogation
    • https://www.youtube.com/watch?v=q5osSNZ1jyk
    • https://www.youtube.com/watch?v=DSDLNjwIjbM

View Details

Watch the Howard Hamlin video essay: https://www.youtube.com/watch?v=VvPoZS-Wr0k

View Details

Listen to the BCS Insider podcast: https://www.listennotes.com/podcasts/better-call-saul/105-better-call-saul-insider--J5jRD4fLhX/ (12mins)

Watch the Better Call Saul Season 1 Recap: https://www.youtube.com/watch?v=3Jr33FcB9lA
Watch "A Sick Joke" - Chuck's scene in Chicanery: https://www.youtube.com/watch?v=rreFXFnlKO4

View Details

Previous Episode: https://mixtape.swyx.io/episodes/weekend-drop-coding-career-chat-the-operating-system-of-you

Show notes and referenced links:

  • https://twitter.com/Coding_Career/status/1554567966125088769
  • https://news.ycombinator.com/item?id=23947818

Google Doc: https://docs.google.com/document/d/1imIgNckZ_kM564fpGgTBtsqiGwRAIOcmA_hzuwRH4bo/edit?usp=sharing

Join the Coding Career Community: https://learninpublic.org/

Follow for future spaces: https://twitter.com/Coding_Career

View Details

Listen to MFM: https://www.listennotes.com/podcasts/my-first-million/billion-dollar-ad-arbitrage-xUo387stOEy/ (34mins in)

Discuss this episode: https://twitter.com/swyx/status/1555237139633283072
We want to hear from you! The Swyx Mixtape Listener Survey

  • Fill out our 2022 Survey! https://forms.gle/g2s1Np9wS5qmrKSRA!
  • Survey context: https://mixtape.swyx.io/episodes/swyx-mixtape-survey-refactor-and-deadpool-swyx
  • Results will be summed up in a future episode

View Details

Listen to Below the Line: https://www.youtube.com/watch?v=wn7jRqiUstw

Her videos:

  • Low Budget Filmmaking (87m views)
  • Girl Learns to Dance in a Year (12m views)

View Details

Show notes and referenced links: https://twitter.com/swyx/status/1553456558264164356

Old talk version: https://www.youtube.com/watch?v=IzK4IxHv3W0

Join the Coding Career Community: https://learninpublic.org/

Follow for future spaces: https://twitter.com/Coding_Career

Transcript

[00:00:00] Chad Stewart: I think we should set up the whole thing first in case, people might be coming off the street and they don't necessarily know exactly about the chapter of the book. I definitely think you should talk a little bit about that first.

[00:00:10] swyx: I do opinion introduce it. Yeah. Yeah.

[00:00:13] That'd be great. Do you wanna give it a shot? I wanna see what what your take on it is. Oh, okay. Yeah, sure. I'll give it a shot. So,

[00:00:20] Chad Stewart: So pretty much the idea. Well, so first of all the, currently the chapter actually is at the end of the book. And a lot of you get a lot of, the, you get a lot of other information before you get to this chapter.

[00:00:32] And the kind of idea is that, all that other information is important. It's great. But if you don't necessarily know how to implement. Then, yeah, it's not particularly useful. And so my understanding, you of took the idea of hairs, things that that you could use to start implementing some of these things.

[00:00:53] And then one of the things that actually really enjoyed really liked I read over the chapter again, just to to refresh myself, was the idea of not everything to use all the time. You have tactics which you use whenever they come up, then you have strategy. Which you use, like you use a little bit more often.

[00:01:13] I don't remember what the third one is, but it is like levels of when you use them principles. Yes. Principles. Thank you. When you use them often. So the chapter resonated with me mostly because of a lot of the things that you were talking about is like habits and like laying the foundation for success.

[00:01:30] Part we talked about it in the Mito last week in terms of keeping yourself physically healthy, but just also, it's just generally your habits, both your physical habits, like learning, expanding your knowledge, networking, interacting with people it's just having that foundation laid out so that, leveraging the other topics of the book was is what you call.

[00:01:53] It was easier. I know we had that, this kind of discussion about about maybe putting it earlier in the book, but that's the reason why I decided, Hey, maybe this would be the first thing to talk about because this is something that, we talk up in the industry, but not really, yeah. So just wanted to talk about

[00:02:11] swyx: anyways. Yeah. That's a great recap. Yeah, that's fantastic recap. Okay. Job done. Thank you everyone. Yeah. Wow. And you didn't even I didn't even tell you I was gonna ask you anyway. I just love hearing about it from other point of view.

[00:02:23] But yeah, you can see how it's weird to put it at the front of the buzz. I have to go through and set up all the context first, which is like 39 chapters of random shit. And then but, and then I come in at the end with a really strong chapter. Right. But I think my reflection is like, Imagine you would hand it the golden book of advice.

[00:02:42] Like maybe my book is like not the golden book of advice, but maybe someone else's book in book of advice. Can you convert that advice into results and the chances are, is it's no, because it's not really, you're not really lacking for advice. You're really lacking for systems to implement that effectively in your career, in your life.

[00:03:03] Right? To actually put things in action and follow through on them. It's not ideas, it's execution, it's not motivation, it's discipline. And so like it's really boring blocking and tackling stuff. But then I felt like if I did not talk then everything I, everything else I talk about is a complete waste because like this that's the real sustainable advantage.

[00:03:24] I think for sure, I was very influenced by atomic habits. Like you can have all the fancy trading strategies that you want, but ultimately, your net worth is a trailing indicator of your financial habits. Did you save enough? and, did you did you did you put did you pay down the interest rate on the things that you're supposed to pay down first before chasing the investment in other categories?

[00:03:48] And I definitely feel like, when people give high level career advice, they tend to overstep in terms of the high stakes, the very dramatic, the very flashy, the very sexy, or very smart sounding ideas. And there's just the boring, like eat of vegetables, versions of the ideas. Isn't talked about enough when actually it is the predominant.

[00:04:08] Thing to get right. So, yeah. Oh, go ahead. Go ahead. Sorry. I cut you off. Oh, no, I see you also join on your personal, so, I'm talking to two CHADS. Oh

[00:04:15] Chad Stewart: yeah. One that's a duck and one that's an actual person. Yeah. No, so I would, I, so I do agree with you. But, and I guess it's I try not to say too much about the, on, on like you're delivering the chapter as opposed to the chapter's contents itself.

[00:04:30] But like I do agree that, like the thing that everybody's interested in, like you said, the gold as you put it is definitely. The, what you call it the flashy advice, the, this is how you negotiate your salary. These are the technologies that you choose, as opposed to the eat, your vegetables as you call it version is, get up every day and code, get up every day and read tech, tech news, or get up every day and network, specifically the phrase network, where network is just this bland, instruction that you're, that

[00:05:02] swyx: everybody gives, know, which network what you supposed to do when people say I'm gonna get up to date end network.

[00:05:06] What is that? I

[00:05:08] Chad Stewart: have no clue. I just, I say it all the time. And then I sit down and okay, what am I supposed to do? Ha

[00:05:15] swyx: oh, but so my version of that right. Is to learn in public. Right? And I know, this, so, like it's weird to come to, to reach out, to let's, here's an unenlightened version of networking, which is.

[00:05:26] You're just, you're gonna go out there and you're gonna look for some industry mentor and you're gonna cold email them and say, please, can you be my mentor? Which is an unspecified job of indeterminate length for no money. So good luck. But if you learn the public you're putting your interests out there, you're you progress out there and people can help you with specific dimensions and you can build your network that way by building up assets of value that you exchange for something else.

[00:05:50] And I think that's a really positive some way to network and I highly encourage people

[00:05:54] Chad Stewart: to do that. Yeah, no, I definitely agree. I definitely agree. And I guess like that's like the going back to the operating system of you is like the more kind of boring part, because that is something that you have to do all the time, it's the grind, right?

[00:06:11] Like everybody is trying to tell you to grind, but they don't necessarily tell you. You know why it's important and they don't tell you that it gets boring. Well, I guess it's implied that it gets boring, but, but yeah okay. You know what, I'm just going to say that. I think anyways, you think

[00:06:26] swyx: what

[00:06:26] Chad Stewart: kind?

[00:06:27] Yeah. What do you think? No, I was just like, I just, as I was thinking, I just hit a roadblock in my head and I just like, yeah, no.

[00:06:33] swyx: Okay. That's an action cancellation, when you're playing fighting games and you're doing something and you're like, oh, Nope. oh, you on the path I want to go down.

[00:06:44] Yeah. Yeah. Okay. Yeah. So, there's two things. One is keeping going through the daily grinds having good habits, letting them compound part of that is, your physical body, part of that is your mental. Your mental storage space, so, we talk about sleep.

[00:07:00] We talk about building a second brain and then the third section is building a scheduler which is how do you take on multiple tasks and multitask prioritize them and then try not to drop any tasks. I think that's a very foundational skill, I'll talk about that. But the last bit I really which is to keep your kernel alive, which is the process zero, the kernel that, the process that schedules other processes.

[00:07:23] And for me or for most developers that is some concept of drive, right. If you lose your drive, you burn out. And I think something that maybe a lot of people don't discuss is yeah, like there's a lot of burnout in the industry and that's of game over You talk about the differences between lasting in this industry five years versus 50 years, like it's basically, do you have a love for programming?

[00:07:43] Do you have a reason that you do what you do? And I think I tend to try to remind people that it is not about chasing money. It's not just about chasing money. Money's good. But there, there can also be a higher purpose to the things that we work on.

[00:07:56] Chad Stewart: I definitely agree. And I guess of going down the it's not about chasing money, it's not, so I guess my thing is, it's less about, you want to chase the thing that interests you.

[00:08:08] You know what I mean? Like I, and I think that's something that like, especially in the industry, we do a really good we do a really good job of telling people that these are the things that are important and pushing up the things that they are interested in, yeah. So say, like for instance, you're just a front end Devrel and you love doing UI UX, but everybody just convinces you that UI UX is not the thing to do by the way.

[00:08:33] I'm just picking this because probably because I'm most related to it, not necessarily the situation, but just the anyways. But yeah, like this is your thing, but everybody tells you, oh, you really need to get into the cloud. No something else, right? Like it's backend engineering and you do that and you get good at it, but it's not the thing like that will eventually lead to burnout as well.

[00:08:58] Like it's really, at least my understanding of burnout is really when there's like the reward that you're getting for the actions that you're doing, don't match with the rewards that you want. That's probably a bad description of it, but yeah you know what you're getting versus what you actually want.

[00:09:18] If those things don't align and they don't align for long enough, then you know, you just don't want to do it anymore. You're not getting properly rewarded. Yeah. For the things that

[00:09:27] swyx: you're doing. Yeah. That's that's the burnouts phase. I feel like I had more to share that, but I always like to turn into a discussion, where this is an open discussion.

[00:09:36] If people want to raise their hands and talk about, any of these concepts the, from the physical, to like the brain stuff to scheduling and to burnouts, we can always have that open . actually got some feedback from one of my previous spaces that apparently people can't really raise their hands until they're invited.

[00:09:52] I'm not sure how this works.

[00:09:54] Chad Stewart: Yeah, I'm not necessarily sure. Either. Like usually, so like you have a request button for people that are new to spaces, you have the request button and then that will tell us that you're you want to come up and then we can bring you up and then you can like, raise your hands and stuff like that.

[00:10:10] I also want to point out I forgot to, to say this, but we have a link as well for a Slido. So say for instance, you actually do have a question and you don't want to necessarily come on stage. It's you can go to the Slido and just ask your question there and monitoring that. So the link to the Slido, if you notice that there's a tweet at the top of this space, we call it jumbotron.

[00:10:34] The tweet has that link to that slack. Ah, there it is. Test

[00:10:38] swyx: question anonymous. Yeah, that was me. That was. Oh, you see,

[00:10:42] Chad Stewart: it's anonymous. You're supposed to not let anybody know. Oh, right, right, right.

[00:10:47] swyx: Okay. Whoop .

[00:10:49] Chad Stewart: Yeah. So feel free to do that as well. But yeah, this is this kind of an open ended que even though spaces are ne not necessarily, I guess you have to cultivate that, but yeah, this is a open ended space.

[00:11:02] So if you have any questions, feel free to, to jump up and ask them, just ask them however you want. Like even feel free to to tweet at the tweet.

[00:11:12] swyx: And I'll monitor that as well. This new chat feature in in Twitter. So we can try that out. Okay. So maybe I'll put it this way. Yeah. One thing.

[00:11:21] One thing, one thing I wanted to offer is I think that there's an there's an image that I think you said in your recap resonated with you a lot, which is that we have principles, strategies, and tactics. We talk about the sort of three levels of applications that we offer or that we think about principles are always on.

[00:11:40] Chad Stewart: Are you still there?

[00:11:41] swyx: I feel like Shawn. Yeah. So strategies are like big apps. You constantly run them. Right. And you always all your datas in them. So you take your time to choose. It's like slack or discord notion of OneNote. F sketch is like a big, bigger decision, but tactics are like utilities.

[00:11:55] So they're one off you, you picked them up when you need them and you drop them when you're done. So, and I really one of the big breakthroughs was really. Seeing that it align to your job strategies, align to your career and principles, align to human life. And that's the individual scale at which each of these things operate.

[00:12:15] And to me, that was like when I realized that I was like, oh, okay. Each of these things apply on different time scales. And part of the joy of being human is, or having operated, have to operate all these things at once.

[00:12:25] Chad Stewart: Yeah. That's really interesting, actually. Never really. I mean, I have thought about it, but not necessarily to that level of, like you said, the utilities are the things that you pick up really quickly and you leverage really quickly.

[00:12:38] And then, like it's, I've just never thought about it in that kind of timescale that I thank you. I really appreciate, I'm really happy.

[00:12:45] swyx: This is recording. I'm like in general I, I actually feel like there's a lot of things we can steal from computer science to run like the rest of our lives because.

[00:12:54] It's and this is not a new thing. And there's a book called that tries to take a stab at this, but I think doesn't go far enough. Like one of the things that I did not end up writing about was how we do hyper parameter tuning for machine learning. And it turns out that there is a perimeter that you can tweak to essentially say how excited you should be by progress.

[00:13:21] If you make some progress, how much more aggressive should you be? I think it's the alpha perimeter, but I mean, it doesn't really matter what you call it. If you tune it too high, if you tune it higher, you'll learn faster. Because if you have, if you try something, you have initial bit of success, then you're like, okay, screw it.

[00:13:35] I'm gonna do 10 X more, whatever I just did. And then you're like, okay, I have 20 X more success. All I'm gonna put a hundred X more than whatever I just did. And then you find that there's a usually converge on a, some local global minimum. Minimum is a good thing in machine learning. And, but I also find there's some grads in which you can overshoot by being too excited about stuff.

[00:13:54] And the fact that you have this result in machine learning that you can apply to normal human learning is actually fascinating. So I, I feel like, basically what I wanna do is take computer science learnings and apply their analogies to life. So I don't know if I lost you there

[00:14:09] Chad Stewart: no.

[00:14:09] I'm so I'm trying to kind imagine that as well. No, I'm just I'm listening. I'm trying, you know what, I'm not gonna lie. Some of it did go over my head

[00:14:17] swyx: but it's very thorough. I feel I need to draw it out, but like at the same time, that's the point of podcasts or Twitter spaces, you can just mouth blog, the stuff that.

[00:14:26] You don't dare to write down cuz it's not fully .

[00:14:28] Chad Stewart: Right. And then not only that you can kinda get people's opinions on it. So like I would, so my immediate thought is that yeah, you you want to tune that, but I would also say you're not let to necessarily get it perfect. And it's just like about being constantly improving.

[00:14:46] Yeah. Or, so you don't want to, you don't want to chase perfection because you chase perfection and you're never gonna get anything done. Whereas it's this is good enough for now. And then when you either have time or when you want to, at some event you decide to make improvements.

[00:15:02] Right? Yeah. And the thing is you want to make improvements, but you don't want to make improvement often too much and you don't want to make improvements too little,

[00:15:12] swyx: Yeah. So, so we have a principle, right? Good enough is better than best. Stop looking for things that are best because that involves obsessing over benchmarks, carrying what influencers think, keeping up with everything new.

[00:15:25] And when you obsess with good enough, you turn from the external facing point of view to the internal painting. Point of view, you focus on what you need done. You focus on what you need, well, and you focus on what you enjoy and once you hit good enough, move on. And I feel like that's a fundamentally healthier with life, I guess.

[00:15:41] Yeah. Yeah definitely agree. Question. Oh, so thanks for, so whoever submitted that Slido that is our first submission. So we do have a Slido pinned to the top of the thingy, the space. Yeah. Twitter should just build this instead of building like co tweeting or or like the hot take reaction button or whatever that is which I'm also very.

[00:16:03] Kind of miff that I didn't get, but whatever, like it's just real, it's just like a really weird feature. Nobody wants to run that company going on. There's no adults supervision going on in, in that company. So the question is, what are your favorite calendar hacks. Do you have any chats?

[00:16:19] Chad Stewart: I don't know, so, okay. I guess, let me think. Man, because my whole calendar strategy is, I don't even know if I wanna call it a hat, but so something that I do is that I will make a calendar event. I don't know if it's a hat, but I'll make a calendar event. And I always make the calendar.

[00:16:35] I always make the event also happen like at 8:00 AM in the morning so that, my day starts and it's oh, okay, I have this is the stuff that I want to do today. And then it will tell me obviously when the event is going to actually happen. And so I set an alarm on my phone for that time, but I set it for the, for 10 minutes before, and then I just hit the snooze button.

[00:16:56] I don't know if that's helpful, , but like it, I'm just like it. I very rarely miss meetings because of that whole setup,

[00:17:01] swyx: yeah know. Yeah. That's super smart. I wanna offer the operating systems analogy, right. Which is amazing. We, for someone like me, I, I never really did an operating systems course, but I just I pulled up, I watched some lectures and I pulled up some texts on that and just read the basic, overview of stuff.

[00:17:20] There are scheduling algorithms for processes and it, and one of these I wish I could show an image here. I can't really show an image. So there are three main things that you wanna have, right? You wanna have a single source of truth to store all the queues that you're on the task uses that you're accumulating.

[00:17:36] You wanna be able to prioritize, so you need some kind of garbage collection slash planning period. And then you need to batch work. So you reduce context switching. So, the first algorithm. Is basically just process scheduling queues. And I'm just gonna read from this slide. It says process migrates among the queues throughout this slide.

[00:17:52] So, I have an image here of what a CPU does to do scheduling or what an operating system does is do scheduling has a ready queue in IO Q and it waits for child execution and it waits for interrupts. And those are. Analogous to the types of things that can come into and out of our operating system and the next task, I think is really interesting.

[00:18:11] There most job pool systems have a long term scheduler versus a short term scheduler. So you can, you have a long term storage of jobs. You pop some off into a ready queue for your CPU, which is. To process. And that goes from long term to short term. And once your short term scheduling is done, you put the, put it back into either your exit or if you can't finish it, you put it back into a waiting queue.

[00:18:34] That's just such a really good analogy for the stuff that you have to do long-term versus the short term and to manage it really well. There's more than that. There's like other decisions. There's also ways to decide about scheduling. So for example, you can design by requirements, you scheduling criteria, you wanna maximize CPU that utilization and you wanna maximize throughput.

[00:18:53] In other words, you wanna maximize, the amount of resources that you're, that you've utilizing, and you wanna maximize the amount of work that you're doing. You wanna minimize turnaround time. You wanna minimize waiting time. You wanna minimize response time. In other words, like when people rely on you, you want to have your operating system work and in such a way that they get response in some kind of minimum as LA.

[00:19:12] All of these are just like very reasonable requirements if to design for, but because we don't really design our own operating system, we, the emergent property is that, well, sometimes I take two months to reply to an email cuz , cuz I'm still working on this. But I think having.

[00:19:26] Desirable properties and then working backwards, scheduling algorithm is, can really help. There are, there's a whole like library of them. I'm just gonna read some out for people to search there's round, rubbing round Robin scheduling, shortest job, first shortest, remaining time priority scheduling first come first serve.

[00:19:46] And then the most complex one, which is multi-level Q scheduling. Those are the in terms of my sort of research. Those are the scheduling algorithms that I researched. I don't know. Does any of those appeal to you? ?

[00:19:58] Chad Stewart: It's hard for me because I'm trying to imagine like literally the process, and as you were mentioning, like you have a lot of the kind of images I'm trying to imagine.

[00:20:06] A lot of the

[00:20:06] swyx: processes it's got for audio only medium. Maybe I'll tweet it out and then I'll attach it to the, I was

[00:20:14] Chad Stewart: about to say the same thing. I was about to say the same thing. It's

[00:20:16] swyx: just okay. Yeah. No. Go ahead. Go ahead. Yeah. Well, I'm just like, I think like whatever this is we should research the, like scheduling the philosophy of scheduling or the algorithms of scheduling are not limited to CPUs are not limited to operating systems.

[00:20:30] Like we could just use them for ourselves. Why don't we use them for ourselves? That seems right.

[00:20:38] that seems weird. So, so yeah, I mean, that's my essential assertion and I've been researching this for a while. I've got one more, but if no one, and obviously if anyone has like comments on scheduling systems that work for them you can jump on in. So, you want to work on all these prioritization.

[00:20:53] There's a really good article from Sarah ner. It's basically on prioritizing how she works on that. She used to be my boss at nullify. And she says lately I've been working on grouping similar tasks. For example, meetings should happen in succession because it's easier for me to jump from one to another than it is having an hour in between.

[00:21:12] I'm more keen to communicate with others on Monday when I'm getting the lay of the land towards the end of the week, my energy is higher. If I'm dedicated to coding, especially if I've allotted uninterrupted time. So essentially what she's telling you is like she's observed herself, what she prefers to do during the week.

[00:21:26] And then she's allocated her calendar accordingly. And I saw that I worked with her. I worked for her and Thursday was her. And blocked day to, to work on individual projects. And Monday was the was meeting day. And I definitely think some of 'em are batching actually helps with scheduling because of contact switching and also adapting your own task to whenever you feel like you're most, you're most attuned to finishing them.

[00:21:48] So, I thought it was really useful. The article, I think is CSS trick.com/prioritizing still one of the best prioritizing articles I've ever read. I should be tweeting this up, but like, where do I attach it? Do I attach it?

[00:21:59] Chad Stewart: So when you tweet something it's weird, when you tweet something, you have to go and then you click the share button in the tweet.

[00:22:07] And one of the, one of the options is this. And then you'd be able to put it up in the jumbotron, but it's funny that you mentioned that cuz there is an actual question here that was talking about how do you keep from changing focus too quickly? And I think you did a good job of, of talking about that to be quite honest with you, like act I would even go as far to say that's something that I struggle with even though to be fair.

[00:22:33] I'm actually fairly good at context switching, but I never I really think about my week I'm like the furthest I would go is like my day. Like I'll just organize my day in a sense, and I don't necessarily organize my entire week in terms of my level of energy throughout the week.

[00:22:52] Oh yeah. It's just always this assumption that my, my level of energy is going to be the same unless an event happens,

[00:22:59] swyx: so the most opinionated advice I've been given. So, now that I'm a manager. Is it's weird to have opinions on day of the week. Like what you should do on the day of the week.

[00:23:09] It's like they be the same as Friday. Obviously not cuz like Friday, you're like close to weekend. But they're like schedule your one-on-ones earlier in the week because if you need to bump them, you can bump them later and it's still the same week and I'm like, wow, to have such strong opinions on this.

[00:23:24] This is is pretty special. So I think that's definitely true. We have Fridays at air by as well. So I think that's, that can be really helpful. And yeah, just scheduling focus time for shipping long projects and then scheduling, scheduling, meeting times together.

[00:23:36] I think definitely is very useful for for batching. No, I definitely agree.

[00:23:40] Chad Stewart: Oh, sorry. Go ahead. I cut you off.

[00:23:42] swyx: Well, calendar there. There's one person saying calendar hacks, right? I think I would be remiss. I didn't mention the ultimate calendar hack. If you do a lot of external. You should use ly.

[00:23:52] I uses cow, which is a ly competitor. It's basically the same price, same it's got slightly different features. It's got slightly nicer design and it's by Derek Reimer. Who's a indie hacker. So I just choose this indie hacker that I know compared to a $4 billion giant. But yeah, I think the stigma around can Lee has gone away despite what some venture capitalists mentioned.

[00:24:13] And it really saves time scheduling, with the email ping pong of what type available, if you're three times that might work for you, so yeah, that, I guess, as far as hacks go, I think that's a big one.

[00:24:23] Chad Stewart: Yeah. I definitely agree. I, which is funny.

[00:24:26] I don't even use it as much something I've seriously been contemplating mostly cause I had a lot of people kind reach out, but yeah, I definitely agree with that. So something I also, which I actually struggled with, I would also like kind having just one place to view your entire calendar.

[00:24:42] Yeah. So if you have a personal calendar, right. Because you may have a work email, like that is also a big deal as well, just so that, you, don't schedule something when you just simply couldn't see that you had another event, even if it's just like I have two calendars now, one for work and then one for my personal thing, and for whatever reason, it just says busy, doesn't say the actual event, that definitely has been like big

[00:25:06] swyx: help as well.

[00:25:06] You can tweak that into settings. So yeah, I have it set up so that my personal reflects onto my work and yeah, I try to manage, sometimes I get double booked, which is very annoying, but I mean, it works. I wish Gmail would make it more native. Cuz sometimes I have lesser use emails for business stuff. And sometimes those have calendar events. it starts to break down after a while. yeah. Yeah. Oh, go ahead. Calendar hacks. Well, so there's, there is an app called I think it's k.com. It's a, it's one of those YC sort of superhuman for calendar apps. I haven't personally used it, but if I just wanna mention it, cuz it always is in the mix when someone else is talking about this.

[00:25:46] Oh, it looks like they got a corporate notion. Oh, not too long ago. Last last month. Interesting. That is either positive or negative. They didn't mention the price. Interesting.

[00:25:57] Chad Stewart: That's like the exact, they do exact same as, I don't know,

[00:26:00] swyx: to see it's an IDK, but if they were yeah.

[00:26:03] Whatever. Anyway, I think I applaud them for trying. I think there are a lot of people also trying to do AI scheduling for for your calendar. So if you just plug it in, they will try to find the best slots for you and optimize your meetings. I haven't really heard from anyone who's used that positively, but I think there are all these people trying to do time block planning for you.

[00:26:21] I tried AKI flow for a while, which is a really good time block planning app. It was just a bit too resource intensive for me. And I've given them that sort of performance feedback. Ah, okay. I wanted to throw before we get off this calendar hacking, cuz that there's been a couple other questions that came in on the Slido before we get off the calendar hacking I wanted to go through what I got from calendar port.

[00:26:40] So for those who. County Park's fairly famous. So it, I, first of all, I find this his distribution strategy. Very interesting. He very famously does not use social media. But he just writes really good content and then lets other people on social media tell others about him. So I feel like in doing this on this space, I'm of doing his bidding.

[00:26:59] It's weird, but it's just a good idea. So I'm just gonna share it. So, he has a podcast. So counterpoint is the, is a computer science professor, but also an author. He wrote deep work, which a lot of people know him for. And he has a podcast called deep S where he goes a little bit more into the ideas behind his book, by the way, every book should have a podcast.

[00:27:17] Every book should have a community because then you can engage more with the ideas. It makes you reading much more worthwhile. That's why I do this unity thing. But anyway, so, he actually imple, he actually came up with a genius implementation of how to get control of your time.

[00:27:32] It's I think a lot of the scheduling comments and ideas, especially the stuff that we just said, it's oh yeah. I've read it uncles like these. And I, my life hasn't really materially changed cause I don't really have a game plan to implement them in my life. And so he gave it a, he gave it a shot.

[00:27:45] He actually did a Dave Ramsey style list of baby steps. Like a seven step plan to. Get control of your life. And I think this is episode 180 4 for people who want to listen to it. I have it clipped on my own mix tape. If you wanna go to Swyx mix tape, or you can go to his podcast but I'll just give you a preview for those listening of this, because I just thought it was so good.

[00:28:08] And I thought it was so well matched. The scheduling analogy that we are setting up for the operating system of you. And I just, I cannot think of anything better because he'll even sequenced it correctly all, so let me just get into it. And then we'll talk about the meta. So the first step outta seven is time block planning, give every minute a job, right?

[00:28:23] It's no use piling up task in your to-do list. Because you don't ever have a plan for when you're actually gonna do it. So you're just gonna accumulate a giant back level to-do list. You're gonna feel guilty about yourself, and then you're gonna eventually start over and have a new list because your oldest filled up with too much.

[00:28:38] So time block plan is basically saying, use your calendar as your to-do list. I have about this, that I can go back and pin, but I think it just makes a lot of sense. If you don't have a plan for setting aside time to do a thing, then you don't have a plan to do it at all. Great.

[00:28:50] So I, yeah, I, which is like super brutal, right? I just I mean, it's a lot of work, but I'll put things like read, article on, in a five minute, 10 minute block on my calendar. And that would actually work. I'm pinning it now to the channel. If for those who have never heard of time block planning he has a book, I think he's called time block planner.com.

[00:29:08] If you like to, every productivity influencer eventually sells you. A journal of blank pages, right? Whether it's the bullet journal guy, whether it's like the, the time block planning guy, everyone's like, how can we sell you a book of blank, empty pages and make you pay like 23 bucks for it.

[00:29:25] But I think it's, , it's worth it. But this, I mean, it's not really about, obviously it makes more money elsewhere, but I just think it's funny in the evolution of influencers, like eventually you shall grow up to either sell your own burgers. If you're Mr. Beast or you shall sell your own productivity planner.

[00:29:40] So, so that's the first part of seven, which is time block planning. I think that is a really good baseline to get into the habit of planning out your day consciously and. Making sure that you have space to do the things that you sign up to do and to drop or schedule elsewhere, and the things that you don't have time to do.

[00:29:58] Then the second thing is to set up task boards. I think this is biggest Trello a bunch of boards keep track of every task. And in other words, you need to stop drop, right? Like anytime anyone has any expectations on you or you sign up to do anything needs to go somewhere, needs to go in a trusted place, needs to go somewhere, cross platform that you'll see it and you'll address it.

[00:30:15] You won't just leave it hanging. And for him, like one, what the value add for him here was he actually gave suggestions on what passports to have, because I think you can have way too many. And that starts to be really really unmanageable as well. So he has four, he has this week, he has ambiguous, he has major projects and he has waiting to hear back.

[00:30:35] And I like, I really liked that last one waiting to hear back, which means let's say I do a task this week. And I'll do it. And usually it depends on someone else. Right? Usually I'm like, I'm sending email and I'm like, all, this is long-term project and I'm done with, it goes off my board. And then let's say the other person drops my task.

[00:30:50] I don't have a process to go two months later, I go Hey, wasn't I, well, they're supposed to get an email for this and stuff to gets dropped and doesn't get done. So you move a task once you're done with it to waiting to hear back column if you're relying on someone else. And I think I think that's a really fascinating system that that sets this up.

[00:31:06] But you realize like this is the first time you start to intersect between long-term planning and short-term planning. The time block plan is for your individual day and the long the task board is for your, your weak plus minus you. Two to three weeks. And I think that makes a lot of sense.

[00:31:20] In other words there, there are a lot of things where you cannot use your calendars, your to-do list, cuz like you don't particularly have a time to do them when so you just set up a task board and then and when you do your weekly planning, that's when you move your task board into your calendar, your daily calendar and you set aside that stuff that you sign up to do that makes just a ton of sense.

[00:31:38] I, I, when I looked at this, I was like, oh yeah. I mean, out of all the productivity systems that I've seen, like all them were too complex. I couldn't really keep up with that, but I can do these two steps. The third step is full capture. So for him and this is very much a getting things done GTD which is the.

[00:31:56] Manual of the of the productivity industry. It's by David Allen. David Allen is a podcast where he airs the entire audio of his GTD workshops, where people pay thousands dollars to list to it. And I've been of going through it. It's really super long, but his examples are super good and it's all free.

[00:32:12] So why not? If you want to, if you wanna, if you're interested in getting things done and who the hell is not interested in getting things done it's such an fantastic name. I wish I thought of it. Third step is full capture it. By the end of every day, every obligation has to be out of your head in a trusted system.

[00:32:26] What are your trusted systems? There are three trusted systems that he has. One is your email inbox. Two is your calendar. Three is your task board. It should, nothing should exist in your memory because you, your memory's unreliable and you will forget. And you and so I just think like establishing this as a harder task role, it's just such a good thing, because then you have a clear mind to have your personal life.

[00:32:45] To enjoy yourself to do go do whatever, because you can pick it up again when you get back to work, but otherwise, how do you enable work life separation? If you're thinking about work while you're still in the rest of your life, like you need to unload. And it's of like a weird operating system thing where, you know, when you spin down your container or whatever, you wanna save your state.

[00:33:03] And I think those trusted systems are super. I'll go through the last four really quickly. Four is your weekly plan. So going from daily to weekly at the beginning of each week, build your plan for the week block time for your critical things and make your daily time block plan.

[00:33:15] Five is your strategic plan. So now by by stage four outta seven so let me recap. The four first is time block plan two is set up task boards. Three is full capture. Four is weekly plan. So by stage four, outta seven, you should have your week in order. Like every. You should have a plan for that week.

[00:33:31] You should you should be much in a much more productive phase in your life because you, or at least know, what's going on. You're being proactive about your time. Five is your spend setting your vision for your professional life on a court annual basis, five year basis, 10 year, 20 year, 30 or 40 year.

[00:33:46] And it then eventually feeds into your weekly plan. So this is much more strategic thinking. Six is automate and eliminate. So this, like he leaves the automation step all the way to the end. So basically saying I will source it to an executive assistant if I want to I will reduce the round of context switching by trying to batch stuff like this is off, we talked about with Sarah ner will say no to things that we've signed up for.

[00:34:05] And when I look at the totality of everything I want to do, this just is like priority number seven and add to it. So. Let's just not beat around the Bush. I'm just gonna say no to this. Right. And leaving and stepping away from stuff is the most high leverage thing you can possibly do, because that gives you more time to focus on the things that really matter to you.

[00:34:22] And yeah, I mean that, that is so brutal, but it's still clear. And then finally seven out of the seven step he says, go for it. Like basically once you have control of your time, take more ambitious projects at big swings because that's the way to build a fantastic career. So, what do you think the seven step plan?

[00:34:37] Chad Stewart: No, that's pretty, so, I alright to be, I was trying to absorb as much of that as possible. Like definitely. What was it for me personally, I have the biggest issue with like I do. I have a lot of things that kind of live in my head and I try to put as much of it as I. In places as possible, but to be quite honest, a lot of it still lives in my head, same, and so definitely that's the thing that resonated with me the most. The second thing to be quite honest also is giving once you have everything, when you see like the priority of things that you have, no, being strong enough to be like, look, this is just not going to get done.

[00:35:18] I can't get this done. And to just freeing up your time, because I'm definitely one of those people that will be like, Hey, can you do this? Yes. And I will grit my teeth. Yes. And do it anyway. And I just don't have a lot of time for myself. Like me personally, I'm trying to learn more system design stuff because that's my interest.

[00:35:39] And I find that I do a lot of my system design stuff at nine 30 at night when I'm trying to get to bed at 10, you know what I mean? Yeah. And I'm like struggling through it and I, I keep up the habit I'm doing it, but, I don't feel like I'm retaining anything, but at the very least I'm keeping up the habit, like it's, that's wasted in my opinion or potentially right.

[00:36:01] Because I don't retain anything. So definitely just I don't have the time to do this, please,

[00:36:08] swyx: you're gonna have to figure that out. This is the fine art of making time, which is fantastic. Okay. So yeah. So first of all I, and I had, I got a little bit better about this over the past two years.

[00:36:17] So you must have an app in your phone that you can just dump notes to yourself. It's, it must be offline first. It must sink every. And you must trust it kinda completely. Right. So for me, it's my second brain. Which I use obsidian for and sings the GitHub. So I know if I ever lose it, if if anything, any data ever corrupts, I can just go to GitHub.

[00:36:37] And I think you can use notion for that. You can use things, you can use apple notes. Doesn't really matter. There's this meme, actually, this week, you saw that meme, right? The apple notes meme. It's the tools for thought people you start on with the low IQ people using apple notes, and then the mid IQ people start using.

[00:36:54] I don't know, Rome research and obsidian, the things . And then the really high IQ people just back to using apple notes again. I think that kind of makes sense for sure. Jack Dorsey talks about his to-do list and he keeps it in apple notes. And if that guy can run his life on apple notes, why can't you

[00:37:11] So I mean, not that I hold him up to be like the Paragon of, of human being, but you can't deny that he's been successful. Right? Right. He has a don't do and don't list. I feel like I clipped this before, but I'm really gonna have trouble pulling it up because I clipped this a long time ago.

[00:37:29] Maybe I'll just Jack Dorsey, maybe I'll oh, no, I don't have that. Jack Dorsey don't list. Yeah, won't do list. Okay. Okay. Yeah. It's just Google Jack Dorsey. Won't do this. He talks about this in 2018. And I just thought he's just fantastic. Oh, here's this here? He says, okay. It's apple notes.

[00:37:45] Oh my God. Okay. He says today, do meditate, workout, tweet, aggression, read, write, consider, follow up. Won't do alcohol, just decided on, he just has a list of like stuff that he just won't do. And, it looks like he's so, he's just always every single day, he just wants to not do alcohol.

[00:38:04] And I think that's a super useful question. And then for and then he falls, he finishes off his day with daily questions. What truth did I discover? What am I grateful for? And who did I help? I, this reminds me of actually Benjamin Franklin. Like at the end of his day, he would talk about what good I, what good did I do in my day today?

[00:38:20] Like how did I benefit humanity? And I think like having that reflection and consciously living towards. Some small set of purposeful goals, like really helps to align yourself.

[00:38:30] Chad Stewart: Definitely agree. As you were say, as you were saying, all of that, the first thing that kind of run to me was atomic habits.

[00:38:37] And how one of the stories that the author told was James clear. One of the stories that he told was how he had a friend who was trying to lose weight. And one of the questions she would ask herself is what would a healthy person do? And that effectively became the guide the guide for her.

[00:38:57] Not necessarily her life, but her weight loss goals is that she would just always ask that question and it made it more of an intrinsic motivator for her. I, I know in the book he has like levels of, I don't know if it's motivation, but it's like where you want.

[00:39:11] To get the drive, to push yourself to do habits. And you have things that's you, your ex, when you have an external motivators, like you want money, you want fame or you want something to pull you towards it. And then when you like the, what he's getting at is you should be more intrinsically motivated where it's you want to be pushed by an idea.

[00:39:32] And then that idea is the way you think about you both approaching the world in a sense, yeah. So I, that was like the thing that kind of run out to me as you are, as you're going through the list, it's also very interesting that he that Jack Dorsey takes the time to be grateful.

[00:39:48] I feel like that's something that we tend to be very forgetful about, is just like a lot of the times where we're in a very privileged position. Like not to say that everybody is in a great position, but we're a lot of times we're in a very privileged position and is just like being grateful for all the things that we already have, while still trying to achieve more.

[00:40:07] It's just interesting that he has that.

[00:40:10] swyx: Yeah. Have you, have I read you my favorite quote on motivation and intrinsic pharmacists. Okay. Let me attach it to the tweet so that other people can read along. I read this four years ago and it really. Has guided a lot of my career choices as well.

[00:40:25] By then, so I've just pined it up for those following along. And it's from Dan Pink's drive and he calls it extrinsic promises, destroy intrinsic motivation. As children, we are driven by our inner desires to learn, to discover to help others. But as we grow, we are programmed by society to need extrinsic motivations.

[00:40:43] We take out the trash, we study hard, we work tirelessly, we'll be rewarded with friendly praise, high grades, and good paychecks slowly. We lose more and more of our intrinsic motivation because extrinsic promises destroy intrinsic motivation. And I'm just like, wow. Yeah, like how much do I, not how much do I do anymore?

[00:41:01] Or don't do because no, one's paying me to do it. So I don't do it. And and how different is that from kids who are like, yeah, this looks fun. Let's just go do it. Let's just write out,

[00:41:10] Chad Stewart: yeah, no, it's, to be honest with you, I would even go as far as to say that The way I do everything is I guess it's chasing that original kind of ideal of this is just something interested in doing, and I'm just like, I'm just trying to put position my life in a place where it's I can get back to maybe not necessarily reacting oh, this is interesting.

[00:41:29] I want to attempt this, but I have all of these other things I have to do, I have all of these other responsibilities or just things that I said that I, well, I guess, responsibilities. So I was just trying to getting back to that, but yeah, it's. Yeah,

[00:41:43] swyx: definitely. Cool. Cool, cool.

[00:41:45] Did we talk about what keeps you, so we're going back to questions on Slido. Let's finish these out. There's three more questions. What keeps you from changing focus too quickly? Do we talk about that? Yes, that was like things we talked about. That's cool. It's cool. If anyone has has follow up questions, obviously feel free to chat.

[00:41:59] Let's go with some more can you share some examples of how you specifically implement operating schedule OS scheduling concepts into how you design your week advances task and doing, thank you. Yeah, so, I think we talked a little bit about the planning phase for, if you, so I listened to the manager tools podcast, and I listen to county reports podcast, and mostly you wanna do your planning on.

[00:42:20] Monday morning, you only plan a week out. Right. And part of that is going to be determined for you. You have weekly standing meetings, try to have one-on-ones earlier in a week. And then towards the end of the week, try to do what they call a 15, what they call a 15 five writeup, which is essentially sum up the week in 15 minutes so that you yourself or your manager can look back and track like what, your progress and how you think your week ran.

[00:42:46] We have a limited amount of these things, and I think it's incumbent upon us to not let every week go by business as usual going feeling three outta five, instead of a four outta five or 505, like you wake up too many times in the same day, in the same week and are not excited about what you're doing, then we need to start changing that.

[00:43:02] Right. So I think for me, that. Well, one thing that I'm part in particularly working on right now in terms of operating, scheduling, operating schedule concepts it's very much the queue thing, right? So I tweeted out earlier it's pinned up here on, on the tweet stream, but having those task boards are basically, which are basically task queues is exactly how an operating system would work.

[00:43:23] And you need some sort of scheduling algorithm to prioritize them and take them off of task use into your short term task list, which is the linear sequential list of things you're gonna do throughout your day. EV every single one of us has 24 hours. We hopefully work eight, I don't know, eight to 10 hours a day.

[00:43:37] And that's all we have, right? So we have to make the most of what we do there. So, the way that we translate task list to our calendar is essentially the scheduling problem. And I think that, the whole analogy of, what is an operating system, but a general. Way to run a bunch of applications and applications generate tasks.

[00:43:55] And we're running those tasks on limited hardware. That is that hardware is our bodies is our time. So it's an optimization problem. We study this algorithm extensively in operating systems. It's time to apply it to. Our own time.

[00:44:09] Chad Stewart: so I have a quick question. What happens when you have say for instance, I guess an emergency, yeah. A task comes out of nowhere. It needs to get done. I guess now that I'm thinking about as literally, as I was talking about it, I was reminded of one of Greg's tweets that he mentioned

[00:44:27] swyx: GGE he's Hungarian

[00:44:28] Chad Stewart: GGE. Thank you. Thank you so much. I've had no idea how to pronounce his name. I know GGE yeah.

[00:44:33] GGE one of his,

[00:44:35] swyx: try his last name. If you wanna challenge. Yeah, I'm good.

[00:44:37] Chad Stewart: Nah, I'm not trying to advise myself,

[00:44:39] swyx: but yeah.

[00:44:40] Chad Stewart: One of, one of his tweets that he mentioned as a, as an engineering manager, which is essentially, everybody comes and says, oh, we need to get this task done right now.

[00:44:49] I hold too much into it because I actually still want to ask the question, but like, how do you not, yeah. How do you how have you dealt with the, the reactionary tasks that come? What, how do you, how have you sorted that out?

[00:45:02] swyx: Okay. When emergencies happen. Right. First of all I don't know.

[00:45:04] I don't feel like I have that many emergencies. So maybe I'm not that experienced. If anyone else has more experience, more advice, please jump in Jay. You're always a good in our sessions. You're always a good source of advice and wisdom. So now feel free to jump in on that one. I think most things are movable.

[00:45:23] And if you just tell people in a very reasonable tone Hey, we had this prior commitments, but this other thing came up and here's why I have to drop you. They'll understand. I think the fortunate thing about being in knowledge work is that usually not firm deadline that you cannot move for valid reasons.

[00:45:37] I think just having clear communication and knowing what commitments you've made, being able to ping back essentially have a webhook on your commitments and say Hey, like I gotta job you. I, I got this other thing going on. I think that's the fine way to do it. Yeah. I guess

[00:45:51] Chad Stewart: it is like you have to have, you also have to have that level of, I don't know, because I feel like I have the opposite effect where it's just Hey, I have something really important I need to do.

[00:46:00] And then the person's yeah, I'm the most important thing. Why aren't you doing it? But

[00:46:03] swyx: I'll say one. Yeah, sorry. Having slack is really good, right? You don't wanna run a 100% utilization, just like saying any any cloud service, any I don't know, cluster of any data center. It is actually a bad idea to run.

[00:46:16] Try to run your your app, your applications, or your server cluster at a hundred percent utilization at base load. You want to have some slack, you wanna maybe run it 60% so that when bikes happen, you have the ability to absorb at least a little bit of emergency workload. So I, I do think that's true.

[00:46:32] That's obviously not what you wanna hear as an employer, to have your people slacking around for some time. But I do think if you are a knowledge worker, if you're a creative worker in particular we should work like lions instead of cow. Right. We should sprint. We should hunt. And then we should laser around waiting for the next big hit.

[00:46:50] Whereas for cows, you're just constantly grazing. And so we are not factory workers. We're not, we're not on an assembly line. Humans have, hot streaks and cold streaks and hopefully we just have, better hot streaks than we have cold. But I do think that someone on slack is important.

[00:47:03] Chad Stewart: So I'm I'm not at derail the entire conversation, but when you said slack, I was literally like, oh wow. Slack the application. I'm sorry. I just had to make that joke.

[00:47:13] swyx: but

[00:47:13] Jay Massimilano: pretty Kathy Sierra said something. Yeah. Hey, this is Jay

[00:47:17] swyx: that similar, right. Let me introduce Jay. Jay is one of the I don't know what he's doing in our community, but like he's one, like by far way more experienced than any one of us in software.

[00:47:26] And he's, yeah, he's one of the biggest source of advice. So I'm super happy that you hear man.

[00:47:30] Jay Massimilano: Well, yeah I learned a ton from this from the coding career meetup and I'm, I love that it's I've learned a ton, so it's, that is it's. I think it's, I've learned more than what I've said for sure.

[00:47:42] So on, on the topic that you're mentioning about that you'll have to be like lions, Kathy Sierra I think it's in somewhere she's published a while ago. She said only in, in the tech industry, you are expected to. So if you're in medicine, you get to practice what you do is called a practice, right?

[00:48:02] So you, and even if you do carpentry or anything, there's always throw away work. You practice, you train for a bit and. You do something new, right. But only in our industry, we expect you pick up a new tool and deploy that to production. Like without any gap or without any element for throwing things away.

[00:48:19] Right. There is, there's just now we are not allowed or at least it's just been culturally, not common for us to for a company to allow us to experiment and throw things away. If you start with a new tool, it needs to be you have to take it to production. And maybe a lot of her problems are because of not allowing for throwing things away, work away.

[00:48:37] Right. But and she says like in medicine, literally what they do is called practice. But not, that's not the case in ours. So there has to be a lot of learning and I think like when you say lions, it's like, You learn, you compress all your learning digested, and then when you're ready to P your, what exactly you're doing and it's, the output is professional.

[00:48:58] And at least in real world, when I, the work that I've seen that we have done when we pick on pick up new technologies and so on is it's usually we implement it wrong. The first version that goes out is, and it hurts customers and not right. And it so yeah, when I when I heard the line thought that's what came to me, what Kathy Sierra said, you need to back more.

[00:49:20] swyx: Yeah. Is that any is so Kathy Sarah left the tech before I joined. Okay. She was harassed off of the tech. I. Is that a book? How do you come across her work? She she had a hype,

[00:49:32] Jay Massimilano: Head rush. I think her

[00:49:33] swyx: blog rush head first

[00:49:35] Jay Massimilano: head rush. Let

[00:49:37] swyx: me look up. She used to write the head first books. That's how I know her.

[00:49:40] Yeah, that, that

[00:49:41] Jay Massimilano: is she wrote a blog on headrush dot hype ad.com. It was one of the first blogs I read when I bought my computer. So it's not online anymore.

[00:49:50] swyx: Typepad no, I found it. I found it. Oh yeah. Head address that Typepad

[00:49:53] Jay Massimilano: yeah, that's a it's it's still online. That's great. Yeah, it's, A's a well up information

[00:49:58] Chad Stewart: probably should tweet it and so we can

[00:50:00] swyx: post it up here as well.

[00:50:01] I'm adding into my thread. So if anyone's following along there is pin tweets at the top of this space and I've just been taking notes. Just cuz what, cuz I love show notes. I love giving. Homework

[00:50:14] you guys know that, right? That's awesome. Yeah. Yeah. I mean, Kathy, the other thing that, that Kathy is famous for is the fire flower, right? The there's the picture of the Mario this picture, the fire flower. And then there's a picture of fire, Mario. Yeah. And most vendors or most entrepreneurs try to sell the fire flower when actually users wanna be the fire Mario.

[00:50:32] Right.

[00:50:33] Jay Massimilano: And I don't know I really miss her. She was one of those who mixes, who I think her LA her most recent book was, is called badass. Yeah. And I that's her jam. Like she, she really care thinks about how to deliver something. Like how creating an impact on the person who is consumed who is using work like, and her advice is around.

[00:50:54] For creators, how to make impactful work, how to do impactful work. So, and yeah, I think anyone who has, if you have not heard it I'm sure a lot of people here have never heard

[00:51:06] swyx: yeah. I mean, it looks like she stopped blogging in 2007. So this is a long while ago. Yeah.

[00:51:10] Jay Massimilano: She was she was docked and someone harassed her.

[00:51:14] Yeah. Yeah. And she had leave the scene and yeah, I wish we couldn't have her

[00:51:19] swyx: back. Yeah same here. But maybe maybe I'll request this from you, Jay. Because you are very familiar with her work. I love a thread of the best of Kathy Sierra, just write that.

[00:51:29] Is he still here? He's just dropped out.

[00:51:31] Chad Stewart: Twitter spaces being Twitter spaces.

[00:51:32] swyx: Oh man. Oh man. I just made a big ass to him and then he dropped out. Ah, I mean the space is recorded, so it you're still hack. I

[00:51:44] Jay Massimilano: had a time limit on my iPhone for one hour Twitter.

[00:51:46] swyx: Anyway yes. No, so no, I was basically asking you since you're the Kathy Sarah expert. Can you do a best of Kathy Sierra so that other people can benefit? I, yeah,

[00:51:55] Jay Massimilano: I will definitely write one. For sure.

[00:51:57] swyx: Just do a Twitter thread. Just go here's like top five things you need to read.

[00:51:59] Yes. Yeah. Cool. See content idea, right? Yeah. and it's really not that hard. Like people are interested in like superlative, like best of worst off first time, last time whenever. Yeah. There

[00:52:11] Jay Massimilano: are other folks who are also close to her maybe than even know her personally Ryan singer, who used to be at base camp.

[00:52:15] swyx: Wait, is he no longer at base cap? He's no longer at base after

[00:52:18] Jay Massimilano: the a year ago.

[00:52:20] swyx: Oh yeah. I thought he was one of those. Okay. Okay. Yeah.

[00:52:25] Jay Massimilano: Oh yeah. So he's no longer at base camp.

[00:52:26] swyx: Yeah. Yeah.

[00:52:27] Jay Massimilano: He also speaks very highly for like in his work. He Heights are.

[00:52:33] swyx: Cool. Well, you can do the same. Yeah, sure.

[00:52:35] Yeah. Cool. Cool, cool. So, yeah.

[00:52:37] Chad Stewart: Yeah, so I actually wanted to ask, I mean, I think this is one of the, one of the last questions was how do you manage emails? Do you have something like K screener or something like that? I guess wanted to point that out there. Oh

[00:52:50] swyx: man. Can I just say I paid the $99 for hay and it was very disappointing.

[00:52:57] It's supposed to be fast. It's supposed to be like a new invention of email, whatever. And it was so slow. Every key press took like a second to resolve. I don't know what people's experiences were here, but I was in Singapore at the time and it just didn't have Singapore service or something, but it was just unacceptably slow.

[00:53:14] But the screening I thought was interesting. I think it's over, maybe over-optimized for screening things out. I used superhu I've just canceled it. Because I think superhuman, the thing about superhuman is fantastic. Local productivity with shortcuts and offline syncing, right? That is what you want for the fastest possible interaction with your email.

[00:53:34] And you've got nice scheduling. They've got nice, learning curve as well as they'll rewards you for reaching inbox zero. Something that they suck at, which I need is filters. It's to set up filters to say all these patterns of email, they come in, I want to go tag them here, archive them, delete them, do whatever.

[00:53:51] Right. And they haven't implemented that in four years of existence. So I just, I got tired of waiting and paying, $300 a year for this one missing functionality. And I'm going back to Gmail.

[00:54:01] Chad Stewart: How oh, so how do you, I guess, how long have you been using Gmail? I guess how long have you been since you've returned to Gmail? Cause I wanted to pick your brain on some of the

[00:54:11] swyx: stuff that you do with Gmail now. Oh, I mean, yeah. I mean, well, I never really left, but guess I'm back on Gmail now.

[00:54:17] Yeah. Not too long like a few weeks. I've like I've given superhuman a try twice. One once when my employer paid for it and then two on my own. But I, it just I need filters. I need to be able to easily set up filters and everything else. Like I, the keyboard shortcuts you can get in Gmail as well.

[00:54:33] Like I used, I didn't co justify like paying 300 something for, slightly faster email.

[00:54:37] Chad Stewart: I hear you. I dunno. I feel left off the loop cause I'm just mostly I don't know. I just, I don't know, like more recently I've been getting a ton of like work emails, cause like I get a lot of notifications from GitHub and like it was ridiculously

[00:54:53] swyx: no don't get, yeah leave GitHub notifications outside email, just, leave it inside a GitHub and then, check it whenever you're doing code stuff, but otherwise don't, I think those GitHub was the first thing, one of the first notifications streams that turned off I'll say yeah, make extensive of filters.

[00:55:08] Snippets are really useful. Like Bigham, like pre baked replies to everything. Instant shows can help a little bit. And that's when you BCC some, you take someone off to BCC and then you promote up the two list. All those things like having memorizing the keyboard shortcuts, like everyone's working on some version of that.

[00:55:24] I think there's a, the, there's some former Gmail engineers who spun out and are making their own take on what a better Gmail could look like. I think it's called shortcut. I haven't tried, I haven't like I've, I haven't mentally on my list to try them. Yeah. I mean, like base is fine.

[00:55:39] Just use filters wisely use snippets and I think you're use, use the keyboard shortcuts.

[00:55:45] Chad Stewart: Yeah, I guess I'll give that a shot. Like I just haven't really, I guess I haven't thought about optimizing my, my, my email, cuz it's always been like, oh, this one email is actually useful.

[00:55:56] Everything else

[00:55:57] swyx: is garbage for the most part. Yeah. Yeah. Cool. I think that's it for the questions. This is great for a session, man.

[00:56:04] Chad Stewart: Yeah. Great turnout by the way, I really appreciate everybody for coming out and taking in everything really appreciate that. Thank you so much, especially, well, I guess it wasn't necessarily short,

[00:56:15] swyx: but yeah, just, we appreciate no notice.

[00:56:17] Yeah. So essentially, for the past, like 4, 5, 6 months, we've been doing private meetings in the community because it's a book cloud. So we're just talking about the book, but now I think we're just trying to open it up. More like other topics. This first one I think, is just the most interesting topic at the top of Chad's mind, Chad is by the way Chad Stewart is in the room.

[00:56:35] If you wanna check him out go check it out. He's been hosting. But yeah, I think we'll just do this weekly and same time every week, I guess, if you wanna move it around, we'll let you know.

[00:56:43] Chad Stewart: Yeah. Yeah. I mean, so I guess we could just take topics from the book, but I, we could be very reactionary to like things that are going on.

[00:56:51] Yeah. And talk about that.

[00:56:53] swyx: yeah. We can talk about news. I love talking about news. I think that's something that's that was missing from people are excited about news, like they want, they wanna hear. They don't wanna hear thousand year old advice that is still relevant today?

[00:57:02] No. They want to hear like the things, the thing that just happened yesterday that will be gone tomorrow, everyone's talking about it, what are topics? Yeah.

[00:57:10] Chad Stewart: Yeah. Like one of the things that's actually found really interesting was the video that you made about fun and Deno oh yeah.

[00:57:17] You wanna talk about that? It took me a while to watch all of it, but I really enjoyed it. No. It's my, I have like I get a bunch of things and then I pile them all, all into my like browser and then have to pick like a day to okay, I need to read all of these or I'm gonna just delete them.

[00:57:33] And, like I, I ended up finishing it yesterday and I was just like, it's just really interesting because I tend to not necessarily get like that kind of news to be quite honest with you where, you have that like super in depth. Talk about, about two technologies. I just don't get that very often but I

[00:57:49] swyx: found it very interesting actually, which is funny.

[00:57:51] Right. So, Okay. The impetus for me is this right? Like I knew that there's a lot of interest in bun. And I knew I had met, I knew enough of bun, both bun and Deno that no one else had really done a comparison talk. And I knew that if I did this, I would be the first to do it.

[00:58:05] So I just went ahead and did it. And the tricky thing is to present both sides fairly in a way that they would agree. And both sides were happy with it. I know that both Jared and Ryan both watched it and gave me feedback. So yeah, I think it's a skill. I think more people should try it.

[00:58:18] And it's timely. Right? That's the other thing like now is when bun and people are interested in bun three months from now, people will just be like, oh, what's, where's, what's going on there. The excitement will die down and we'll be moving on the next thing. But I think some amount, the timely action is useful.

[00:58:30] But I also think like you can train yourself, as a conference speaker, whatever used to wait until I had a conference event to come out with a talk and then deliver that talk. But I'm just like, why not? Why don't just do one per week on YouTube. That's a YouTube video.

[00:58:44] Chad Stewart: yeah. That's effectively what it's right. Especially like lightning talks, right? Like the five minute talks, those are

[00:58:49] swyx: effectively YouTube videos. Oh man. Those. Yeah, exactly. The thing is like the production, the minimum production quality on YouTube is so high that people are scared off.

[00:58:57] They're like, oh man, I gotta pay an editor, like 400 bucks to go, put together this video and it's gonna get, I don't know, 20 views. And what the hell is the ROI on that? So people don't do it, but I, I don't know. Like I think some amount of like putting in the reps helps and then getting some hits early on and then putting in some investment to build your own personal media following.

[00:59:17] I think that can work. I think there's some formats where the cost to, outcome ratio is beneficial. We just have to find it.

[00:59:28] Chad Stewart: Yeah. I think definitely also that like people go into YouTube thinking, oh, I'm going to, I'm going to make it big, whatever,

[00:59:36] swyx: make it big is to them. Yeah, exactly.

[00:59:38] Chad Stewart: And they're just like, and then, they find that after a couple of videos, it just doesn't, it's not working out. So they find the next thing to dream about, I'm gonna let you know, to be quite honest, I've done the same. Like I, I have a YouTube channel. I did a few video and I was super low effort.

[00:59:54] I was just like, I have something I want to talk about because that's who I am. I just want to talk about stuff. Right. So, but it was like super low effort. Like I just turned on the camera and then I just, I just talked about the topic that I found interesting and I put it on YouTube, but then it just it, I guess it's the same thing of man, I'm not getting the, I'm not getting the a hundred views or a thousand views, and then, you just end up finding something else to do

[01:00:19] So I of want to also point this out. Nick has been posting a few things in the thread about the, about about the space. And one of the things he mentioned was that he spoke with some, with somebody from the Deno team. Oh, Luka. Yeah. Who had a, yeah, he has it on YouTube. So I'd probably, let me post it on the

[01:00:37] swyx: jumbotron, just in case anybody else's interest.

[01:00:40] Is that what it's called?

[01:00:41] Chad Stewart: Well, I don't think it has an official name, people came up with the jumbotron and to be quite honest, that's the funniest thing that I think I can think of. So I'm calling it that

[01:00:52] swyx: yeah, well, yeah, that's awesome. Learning in public. That's what it is. That's the game.

[01:00:56] It's a, it's an infinite game. It's a long one, but it's really changed my career. yeah, it's changed a lot of careers.

[01:01:04] Chad Stewart: Yeah. What is it called? Simon CEK is one that talks about it all the time, the infinite game, that's what you try to play. You don't try to, you, don't try to play a game that you're trying to win.

[01:01:14] You just try to exist in the game as long as you can.

[01:01:17] swyx: Yeah. Yeah. And to build relationship with others also playing that game. Yeah. Yeah. So that's really it. Cool. Perfect. We'll see you next week. Thanks for everything. Thanks everyone for joining. And hopefully we'll publish this audio somewhere.

[01:01:31] I'm gonna go clip it. I have a, I have the top ranking host, I think on how to download Twitter spaces. Hey please. Let me verify this because I may have been knocked off because there's now a dedicated SaaS that did it and they start, they came into my my comments and oh no, I'm number two now business insider.

[01:01:47] Beat me. Oh, okay. Okay. Okay. So most of the advice is how to download Twitter space. Audio. That is yours. That is the recording that you made mine is how to download Twitter spaces that aren't yours. So if you listen to something, you really liked it. You want to clip it. You wanna refer to some somewhere, but you don't own it.

[01:02:03] There's a, there's an undocumented API that someone else has figured out. And I just documented the CLI command around it. So I have all these, like non-technical people saying like, how do I download good? Oh, no coming in. But I just think this is a fantastic EO thing cuz when you know that something is new, Twitter spaces is fairly new and there's a hole in new universe and Eagle fill that whole Google will send people your way.

[01:02:23] So I, I knew that this was gonna happen and yeah, I mean I think it ran pretty.

[01:02:27] Chad Stewart: Yeah. Yeah. I know there, I know somebody made a Twitter bot that specifically downloaded Twitter spaces and then it would do the formatting. So it would spit out like an MP3 or something where, because if you download the actual raw data, you get the Ts file, which I have a bunch of them on my machine.

[01:02:45] And I only recently found out that I can't just, I can't just listen through all of them for whatever reason so I have all the data there, but either way.

[01:02:53] swyx: Cool. Yeah. All, well, this is run long, but thank you everyone. And we'll see you next week.

[01:02:57] Chad Stewart: All have a good one. All guys.

View Details

Listen to 20VC: https://thetwentyminutevc.libsyn.com/20vc-gitlab-ceo-sid-sijbrandij-on-why-you-are-not-allowed-to-present-in-meetings-at-gitlab-why-it-is-a-pipedream-we-will-go-back-to-offices-and-what-is-the-future-of-work-ceo-coaches-what-makes-the-best-when-to-have-them-and-when-to-change-them (31 mins in)

Discuss this episode: https://twitter.com/swyx
We want to hear from you! The Swyx Mixtape Listener Survey

  • Fill out our 2022 Survey! https://forms.gle/g2s1Np9wS5qmrKSRA!
  • Survey context: https://mixtape.swyx.io/episodes/swyx-mixtape-survey-refactor-and-deadpool-swyx
  • Results will be summed up in a future episode

View Details

Listen to Founder's Talk: https://changelog.com/founderstalk/88 (45 mins in)

Tweet on Open Source Application Layer: https://twitter.com/barrald/status/1549029270558752768
See also the list of Rajko's list of OSS Challengers: https://twitter.com/rajko_rad/status/1485410252795359241

Discuss this episode: https://twitter.com/swyx/status/1555033094691999744?s=20&t=Xiq05UrzEhQqPN-_GBuaDg

We want to hear from you! The Swyx Mixtape Listener Survey

  • Fill out our 2022 Survey! https://forms.gle/g2s1Np9wS5qmrKSRA!
  • Survey context: https://mixtape.swyx.io/episodes/swyx-mixtape-survey-refactor-and-deadpool-swyx
  • Results will be summed up in a future episode

View Details

Listen to SaaS for Developers: https://www.youtube.com/watch?v=LLIkfSrIHUI (from 7 mins in)

Discuss on Twitter: https://twitter.com/swyx/status/1554617433448763394
Survey

  • Fill out our 2022 Survey! https://forms.gle/g2s1Np9wS5qmrKSRA!
  • Survey context: https://mixtape.swyx.io/episodes/swyx-mixtape-survey-refactor-and-deadpool-swyx

View Details

Listen to the Changelog: https://changelog.com/news/the-business-model-of-open-source-29e6 (26mins in)

Discuss on Twitter: https://twitter.com/swyx/status/1554283718981844992
Survey

  • Fill out our 2022 Survey! https://forms.gle/g2s1Np9wS5qmrKSRA!
  • Survey context: https://mixtape.swyx.io/episodes/swyx-mixtape-survey-refactor-and-deadpool-swyx

View Details

Slides and Video: https://www.youtube.com/watch?v=O7KVEwNau6w&lc=UgzJimEUXVWtALFbCZF4AaABAg

View Details

Watch him on YouTube: https://www.youtube.com/watch?v=GrHfWKeTDEI

View Details

Source: the HOSS Talks FOSS podcast https://percona.podbean.com/e/all-things-opensource-data-warehouse-percona-database-podcast-w-robert-hodges/

Feedback/Discuss on Twitter: https://twitter.com/swyx/status/1552842592357949440

Survey

  • Fill out our 2022 Survey! https://forms.gle/g2s1Np9wS5qmrKSRA!
  • Survey context: https://mixtape.swyx.io/episodes/swyx-mixtape-survey-refactor-and-deadpool-swyx

View Details

Clip source

  • the Analytics Engineering Podcast: https://roundup.getdbt.com/p/aaron-katz-clickhouse (25mins in)

Survey

  • Fill out our 2022 Survey! https://forms.gle/g2s1Np9wS5qmrKSRA!
  • Survey context: https://mixtape.swyx.io/episodes/swyx-mixtape-survey-refactor-and-deadpool-swyx

Show Notes

  • CMU Database lecture from Robert Hodges at Altinity

View Details

Clip source
the Analytics Engineering Podcast: https://roundup.getdbt.com/p/aaron-katz-clickhouse

Survey

Fill out our 2022 Survey! https://forms.gle/g2s1Np9wS5qmrKSRA!

More on Clickhouse

HN comments on Clickhouse: https://news.ycombinator.com/item?id=28595419

I'd like to thank the creators of ClickHouse as i hope they are reading here. We've been using it since 2019 in a single server setup with billions of rows. No problems at all. And query speeds that seem unreal compared to MySQL and pg.
https://news.ycombinator.com/item?id=26316401

Also wanted to share my overall positive experience with Clickhouse.UPSIDES

  • started a 3-node cluster using the official Docker images super quickly

  • ingested billions of rows super fast

  • great compression (of course, depends on your data's characteristics)

  • features like https://clickhouse.tech/docs/en/engines/table-engines/merget... are amazing to see

  • ODBC support. I initially said "Who uses that??", but we used it to connect PostgreSQL and so we can keep the non-timeseries data in PostgreSQL but still access PostgreSQL tables in Clickhouse (!)

  • you can go the other way too: read Clickhouse from PostgreSQL (see https://github.com/Percona-Lab/clickhousedb_fdw, although we didn't try this)

  • PRs welcome, and quickly reviewed. (We improved the ODBC UUID support)

  • code quality is pretty high.

DOWNSIDES

  • limited JOIN capabilities, which is expected from a timeseries-oriented database like Clickhouse. It's almost impossible to implement JOINs at this kind of scale. The philosophy is "If it won't be fast as scale, we don't support it"

  • not-quite-standard SQL syntax, but they've been improving it

  • limited DELETE support, which is also expected from this kind of database, but rarely used in the kinds of environments that CH usually runs in (how often do people delete data from ElasticSearch?)
    It's really an impressive piece of engineering. Hats off to the Yandex crew.

more

I'd like to add an upside which is:Totally great and simple on a single node.

I looked at a bunch of analytical databases and had a lot that started with "so here's a basic 10 node cluster". Clickhouse installed and worked instantly with decent but not "big" data with no hassle. A hundred million rows with lots of heavy text blobs and a lot of columns, that kind of thing. Happily dealt with triple nested joins over that, and with billions of entries in arrays on those columns didn't bat an eye.

https://news.ycombinator.com/item?id=29098637

This has been my experience with ClickHouse as well...that is, you can basically close your eyes while writing the schema and still maintain to get extremely impressive performance.That being said, ClickHouse also has a ton of clever levers you can pull to squeeze out better performance and compression which aren't used by default, such as using Delta/DoubleDelta CODECs with LZ4/ZSTD compression, etc. Not to mention, MATERIALIZED VIEWs and/or the relatively newer feature MergeTree Projections[1]

View Details

Our Twitter space: https://twitter.com/i/spaces/1MYxNngopWOxw

Blogpost: https://dx.tips/bill-nye-the-devrel-guy

Our guests:

  • Justin https://twitter.com/rothgar
  • Micheal https://twitter.com/micheal
  • Zack https://twitter.com/ChekTek

Our hosts:

  • https://twitter.com/Chau_codes
  • https://twitter.com/RealChrisSean
  • https://twitter.com/swyx

View Details

Survey

Fill out our 2022 Survey! https://forms.gle/g2s1Np9wS5qmrKSRA!

New Daily Themes

  • Technical notes
  • Business notes
  • Creator notes
  • Health notes

You can always see the backlog of clips live, at https://github.com/sw-yx/brain

Our 2021-2022 Deadpool
## Life

  • https://overcast.fm/+olfN7lGho 20 mins social butterfly gary vee problems + 50 mins introvert strategy
  • https://youtu.be/oH9sJrAVeC0 Brandon Sanderson life advice from 14 mins in. Goals, learn how you work, break it down
  • https://overcast.fm/+b1V1guBD8 23 mins greg mckowen virality vs energy
  • how to be employee #8 at stripe https://overcast.fm/+sAoIh6me8 have side project - 18mins
  • https://overcast.fm/+HhhiZISrU be the driver 18mins

## misc

https://overcast.fm/+IOVdeY 15 mins william hung

https://overcast.fm/+KebtSrIKA 40 mins about twitter epiphanies - naval

3mins browser user agent https://overcast.fm/+LfVNDuulU

## deadpool

  • https://designdetails.fm/episodes/7RL459Ke 8 minutes - proof of curiosity - learn in public
  • https://constine.substack.com/p/how-the-creator-crisis-forced-artists jack conte on creators vs influencers 20 mins in
  • radical transparency lampshading https://podcasts.apple.com/us/podcast/everyone-hates-marketers/id1221256195
  • get spencer rascoff interview on satya nadella. user focus not competitor focus
  • spencer rascoff on spacs https://overcast.fm/+RWpv4tXUg 1h 35mins
  • https://mebfaber.com/2021/05/14/e311-radio-show/ 7 minutes found money found money startups
  • https://overcast.fm/+UwBo3_SRA stackoverflow founding story
  • calling in https://www.youtube.com/watch?v=xw_720iQDss
  • https://overcast.fm/+G72_S1rVA praxeology 2 mins rory Sutherland 17 mins
  • https://overcast.fm/+eZyDpkhOo 50 mins metrics on academic honesty
  • https://overcast.fm/+rTsVMkQyQ 13 mins how brianne kimmel started as a nobody
  • https://a16z-live.simplecast.com/episodes/one-on-one-with-a-and-z-8 pmarca on agi 30 mins
  • https://www.3books.co/chapters/22 tim urban love vs like - 1hr 44 mins
  • https://player.fm/series/hanselminutes-with-scott-hanselman/design-systems-with-jina-anne what is a design system
  • https://www.youtube.com/watch?v=pqeJFYwnkjE debt metaphor
  • https://overcast.fm/+OxeYJmQDA 9 mins not a how to - walter isaacson
  • https://overcast.fm/+rTsUkMHLE 40 mins mimetic desire
  • https://overcast.fm/+b1V2u0abg 40 mins university advice
  • https://overcast.fm/+SustHMll0 11 mins how turkey living with hyperinflation
  • https://corecursive.com/063-apple-2001/
  • 18 mins shipping ipod
  • 29 mins tech debt quit story
  • 45 mins knowing the stack
  • 4 stages if the ownership economy https://overcast.fm/+YNeSoJsXs 36mins
  • k8s documentary https://overcast.fm/+B1yJZf4lw 7mins
  • bolt guy https://three-cartoon-avatars.simplecast.com/episodes/ep-10-interview-with-ryan-breslow-the-silicon-valley-mob-twilio-insider-trading-and-why-onlyfans-cant-find-investors

yegge corner
- yegge on salary https://youtu.be/AKBYbZ1tyyc
- https://overcast.fm/+0TxbP_0Gk what billionaires talk about - CEOs
- https://overcast.fm/+0TxYQEOhk google works does well 15mins ish tech stuff
- https://overcast.fm/+0TxbyakyQ 28mins old school gates
- yegge reminder https://youtu.be/vKmQW_Nkfk8

covid stories
- https://delian.substack.com/p/operators-ep-27-nilam-ganenthiran how instacart handled covid
- https://podcasts.apple.com/us/podcast/id1507293907?i=1000471392336 bchesky rescue of airbnb
- https://overcast.fm/+L0d0r2BYc 20 mins airbnb during covid
- https://overcast.fm/+noYBB9bCQ airbnb story

crypto corner
- https://overcast.fm/+YNeQU9S5I 8mins loot
- https://overcast.fm/+YNeQU9S5I 25 min what is loot
- https://overcast.fm/+Lzu3yDXyE bored apes
- https://overcast.fm/+FhW-ynXUE 55. mins tether discussion
- https://overcast.fm/+Jy_w5_2iA nifty gateway
- https://overcast.fm/+eZyAwm28w eth mev 50 mins
- https://overcast.fm/+JmiPv_PrI bitclout first 8 mins
- https://www.youtube.com/watch?v=jwadHC5ha-E bankless ens dao
- https://overcast.fm/+eZyD3MfIg cruptonomicon
- https://overcast.fm/+Ylhm80Z-4 12 mins constitution dao problems. intro https://overcast.fm/+XcSvlJhAs 2mins
- https://overcast.fm/+pN8f_ULnQ 17 mins ken griffin side of constitutiondao
- https://overcast.fm/+QLdt2a4yQ 45 mins condao leader
- https://overcast.fm/+FaxkphON4 32 mins SBF talking about loss covering until 45mins
- https://www.youtube.com/watch?v=Dur918GqDIw&list=WL&index=18&t=244s pseudonymity balajis
- vitalik what is eth https://overcast.fm/+Q4m6kgTKA 5-10ish mins
- https://overcast.fm/+qdIBj-7hw 20mins the graph
- https://overcast.fm/+TRbX793DU 32 mins what is dao until 50ish mins
- 6529 https://overcast.fm/+nRGzZ7yqs
- uncovering dao hack https://overcast.fm/+O-dbduSYI

View Details

listen to Webjoy: https://webjoy.fm/episode/season-1-episode-4-creating-something-from-nothing-shawn-swyx

Shawn Wang joins the show to talk about his origin story, starting in the finance industry and how feeling like just a code monkey in a system drew him to learn front-end engineering and start working on product development and ultimately become a developer advocate.

We discuss what the career path for a developer advocate might look like, as well as podcast listening tools Listen Notes and Listenbox and how they help allow people to look up and listen to podcasts on their own terms rather than being stuck in a corporate garden.

  • FreeCodeCamp
  • Listen Notes
  • Listenbox
  • The Coding Career Handbook
  • Shawn's Twitter: @swyx
  • Shawn's Website

View Details

The first release of this episode had an extremely bad intro from me which I was unable to rescue. So i've just cut it out with no intro at all. Enjoy anyway!

Listen to Switched on Pop: https://switchedonpop.com/episodes/listening-2-britney-gimme-more (15mins in)

View Details

https://www.listennotes.com/podcasts/deep-questions/ep-204-deep-life-principles-eiXE038yljd/?t=5061 1hr 20mins in

  • The Deep Life
    • Radically shift your life to align yourself to things you value - deep commitment, with tradeoffs, focused, not vague
    • Practice - Gain insight from doing the thing you want to do (not thinking about it, or reading about it)
    • Career Capital - Have a foundation of Competence - be good at something valuable before you try something different

View Details

Listen to Deep Questions: https://www.listennotes.com/podcasts/deep-questions/ep-184-replay-the-y_ucZrt6CDB/

  1. Time Block Plan - give every minute a job
  2. Setup Task Boards - keep track of every task and their status
    1. this week
    2. ambiguous
    3. major projects
    4. waiting to hear back
  3. Full Capture - by end of day - every obligation is out of head, in a trusted system
    1. Email inbox
    2. Calendar
    3. Task Board
  4. Weekly Plan - at beginning of each week, build plan for week
    1. block time for critical things
    2. interfaces with daily Time Block Plan
  5. Strategic Plan
    1. The Vision for your professional life (for quarter)
    2. Vision interacts with weekly plan
  6. Automate and Eliminate
    1. reduce amounts of context switches
    2. batch stuff, handing off, outsourcing
    3. say no, leave, step away
  7. Go for it
    1. take really ambitious projects, big swings

View Details

Listen to Deep Questions: https://www.listennotes.com/podcasts/deep-questions/ep-169-how-do-i-manage-my-time-gTNFVbZvLQA/

  • Three requirements of time management
    • Capture: don't store anything in your head. Your ideas, info, commitments, plans.
    • Configure: make effort organizing. Gather relevant info in one place.
    • Control: proactively make a plan for your time in advance: quarterly, weekly, daily
    • Constrain (bonus!): figure out how to automate, consolidate interruptions with office hours
  • Actual tools used
    • Capture
      • workingmemory.txt
      • shutdown: -> go thru workingmemory -> trello, gdoc
    • Configure
      • separate kanban board for every role - researcher, etc
      • columns
        • "to be processed"
        • "waiting to hear back from"
        • "persistent initiatives"
      • daily: just add stuff
      • weekly: reorganize and review
    • Control
      • daily, weekly, quarterly, time blocking

View Details

Listen to Deep Questions: https://overcast.fm/+b1V3EeycY (8mins in)

View Details

Listen to JSParty: https://changelog.com/jsparty/226

Reactathon talk: https://www.youtube.com/watch?v=CGnlBU3K_eM

In 2020, Shawn (swyx) Wang wrote:

Every 10 years there is a changing of the guard in JavaScript. I think we have just started a period of accelerated change that could in thge future be regarded as the Third Age of JavaScript.We’re now in year three of this third age and Swyx joins us to look back at what he missed, look around at what’s happening today, and look forward at what might be coming next.

Notes & Links

  • Reactathon
  • swyx’s talk at Reactathon
  • The Third Age of JavaScript
  • Lydia Hallie’s talk on rendering patterns
  • analytics.usa.gov
  • The Birth and Death of JavaScript
  • The Rise of WebAssembly (Infoworld)
  • Ryan Dahl on JavaScript containers
  • swyx on The Changelog #467
  • The other thing I like about esbuild is that it’s a static Go binary, so I feel more confident that I’ll be able to get it to work in the future than with tool written in Javascript, just because I understand the Javascript ecosystem

View Details

Starters
- How Will I Know https://www.youtube.com/watch?v=QOez2zaLHvg

  • Trouty Mouth https://www.youtube.com/watch?v=_zEd9Zioo2U
  • Songbird https://www.youtube.com/watch?v=CJUgLEtA-74
    Girl on Fire https://www.youtube.com/watch?v=3DuVml2-Bfw
  • Rain on my Parade https://www.youtube.com/watch?v=TvnxXj9K_74
  • Brave https://www.youtube.com/watch?v=py3WJIR-N7c
  • Someone Like You https://www.youtube.com/watch?v=d3BjcKq5w2A
  • If I Die Young https://www.youtube.com/watch?v=TlWHTfrGhoY

extras to check out

  • Dance with Somebody https://www.youtube.com/watch?v=g-Q9AH9ou5A

View Details

From the Moth: https://themoth.org/radio-hour/live-from-the-united-palace

View Details

https://www.listennotes.com/podcasts/business-breakdowns/mckinsey-company-the-first-pAbhz6JnPGv/ (28mins in)

View Details

Listen to SDT: https://www.softwaredefinedtalk.com/365

View Details

  • Acquired: https://www.acquired.fm/episodes/american-dynamism-with-katherine-boyle
  • All-in Summit: https://www.youtube.com/watch?v=nK0NfL2M5L4

View Details

When people ask about how I got started, I send them to this podcast. Here is the audio, edited for ums.

source: https://podcast.freecodecamp.org/ep-59-shawn-wang-left-a-350kyear-finance-job-to-learn-to-code

View Details

Intro: https://www.youtube.com/watch?v=ysrHJMxgisA

Concerto: https://www.youtube.com/watch?v=h7KlnK39Up0

View Details

https://www.levelshealth.com/podcasts/one-ceos-81-pound-weight-loss-using-glucose-monitoring-betsy-mclaughlin-casey-means (from 2min - 18mins)

View Details

Listen to Levels: https://www.levelshealth.com/podcasts/from-selling-cars-to-building-rockets

View Details

Listen to the BranSan pod: https://www.listennotes.com/podcasts/intentionally-blank/titanic-2-sink-harder-TNZRE4xOQvX/ (25mins in)

View Details

Listen to the Jorgenson pod: https://www.ejorgenson.com/podcast/solocast-metagames-feedback-loops-and-transcending-the-muggle-world

(about 40mins in)

View Details

Listen to Purrfect.dev: https://codingcat.dev/podcast/2-21-linking-your-microservices-with-workflows

View Details

  • The way you make me feel
  • It's gonna be me
  • You're the one that I want

View Details

Listen to AEP: https://www.listennotes.com/podcasts/the-analytics/coalesce-you-dont-need-9OHhYXco26r/

View Details

Listen to Data Brew: https://databricks.com/discover/data-brew/s1-e2-welcome-to-lakehouse

Equity 101 for software engs: https://blog.pragmaticengineer.com/equity-for-software-engineers/

View Details

  • From 30mins in to ep 348: https://www.softwaredefinedtalk.com/348

Bonus: swyx segment on ep 347 https://www.softwaredefinedtalk.com/347

View Details

From: https://www.listennotes.com/podcasts/drill-to-detail/drill-to-detail-ep-5-2tru1cMz5TI/ (23mins in)

View Details

From: https://www.youtube.com/watch?v=iBUkwL9PJ9o

Samuel Kim: https://www.youtube.com/c/samuelkimmusic

0:00 Imperial March x Duel of The Fates
2:55 The Force Theme (Binary Sunset)
4:49 Star Wars Main Theme
6:27 Rey's Theme
8:38 The Mandalorian
10:51 Vode An
12:40 Droid Army March
14:45 The Clones Theme
17:10 Ahsoka's Theme

View Details

From: https://www.podbean.com/media/share/pb-n2ntb-1208ead

it's also on youtube: https://www.youtube.com/watch?v=NqAGxYWgYZk

View Details

  • The Ribbit of the Night: https://www.youtube.com/watch?v=V-L2yXwPVbQ
  • The Muffin Song: https://www.youtube.com/watch?v=QgqLJzmgPs8
  • The Dryer Song
    • https://www.youtube.com/watch?v=r_fYAQhpSpw
    • https://www.youtube.com/watch?v=ZivIAhxzFyk

View Details

https://www.youtube.com/watch?v=fs-YpQj88ew

View Details

From Bankless: https://www.youtube.com/watch?v=RXHITeaGB8Q (24mins in)

View Details

From IGN: https://www.youtube.com/watch?v=vUULNTLw0Ko (8mins in)

View Details

listen to the GCP podcast: https://www.gcppodcast.com/post/episode-297-fathers-of-the-internet-with-vint-cerf/

View Details

  • From: https://www.youtube.com/watch?v=DcPeCes4w9Y
  • https://history-computer.com/visicalc-of-dan-bricklin-and-bob-frankston-guide

View Details

Listen to DevDiscuss: https://devpods.herokuapp.com/podcasts/devdiscuss/episodes/246

View Details

Youtube: https://www.youtube.com/watch?v=u3ePPA0yzSU

View Details

Listen to the OSS Startup Podcast https://oss-startup-podcast.launchnotes.io/announcements/episode-27-security-operations-at-scale-with-panther-and-from-open-to-closed-source (20min in)

View Details

2hrs in to the Lex Fridman pod: https://lexfridman.com/peter-wang/

View Details

https://about.sourcegraph.com/podcast/max-howell about 15mins in

View Details

Listen: https://www.compressed.fm/episode/64

  • 00:00 Introduction
  • 02:06 Introducing Swyx
  • 03:28 Why Writing?
  • 07:16 Priority and Time
  • 09:45 Better to be Part-Time Creator than a Full-Time Creator
  • 12:16 Do you set up a business entity?
  • 13:22 Consistency
  • 16:49 Lower the Barrier to Entry
  • 21:17 How much do you pay attention to growth?
  • 22:37 What is the leading indicator?
  • 24:17 Engaging with your Audience
  • 25:24 Ratio of One for me, One for Them
  • 31:44 Networking
  • 34:43 Niching
  • 38:04 What's a sustainable action plan for part-time content creation
  • 40:23 Getting your stuff stolen
  • 41:41 Creating Luck
  • 48:31 Community Shoutouts

Read: https://swyx.io/part-time-creator-manifesto

View Details

Listen to Tiny Desk Concerts: https://www.youtube.com/watch?v=XfzpYcwiUrA

View Details

listen to the Levels podcast: https://www.levelshealth.com/podcasts/one-ceos-81-pound-weight-loss-using-glucose-monitoring-betsy-mclaughlin-casey-means (7mins on)

View Details

Watch Wendy's TED talk: https://www.ted.com/talks/wendy_suzuki_the_brain_changing_benefits_of_exercise?language=en

Listen to Huberman lab: https://hubermanlab.com/dr-wendy-suzuki-boost-attention-and-memory-with-science-based-tools/ (30mins in)

View Details

From https://www.youtube.com/watch?v=92kYDVjX0G0

View Details

From the Lex pod: https://lexfridman.com/john-abramson/ (1h 57mins in)

View Details

I was super honored to join Adam Wiggins (cofounder of Heroku's) podcast to share thoughts on tools for thought, LIP, and Creating Luck.

Full show notes on Metamuse: https://museapp.com/podcast/53-career/

View Details

(listen with good bassy headphones)

  • Marcus Veltri intro (first, second, last clip) https://www.youtube.com/watch?v=t_JrcAOfAp4
    • 00:00 cold open
    • 01:49 Yeti, Pickle, Guitar
    • 29:30 Guitar, Star Wars, Black Hole
  • "You make beats?" https://www.youtube.com/watch?v=BNC68gQluSE
    • 05:01 rhyming platypus, cleanser, eternal, onomatopoeia
  • Miami Guerrila Beats: https://www.youtube.com/watch?v=_6yoJTup3nY
    • 10:58 miami beach
  • Behind the Beats: https://www.youtube.com/watch?v=JqTMbYvc57g
    • 13:41 practice
  • Stevie Knight interview https://www.youtube.com/watch?v=pwn1UsNNmZE
    • 17:37 top 5 influences
  • God tier doubletime https://www.youtube.com/watch?v=Js2Q8tJLgig
    • 26:30 Harry potter, Octopus, Jacket

First Clip

right on time h mac with the freestyle

rhyme i be coming through to get that

shine

when i start i'ma blow your mind yeah

and i'm going over heads

kinda like a bald spot yeah as soon as i

come in with the lyrics

hey imma make your jaw drop let's move

imma make his own improve every night

like it to the grove yeah

every time i show what i'm about when i

be rapping they cover their mouth

yeah i'm tearing rappers to pieces i

come in hot and they couldn't believe it

hey

i make them back down you got rat goods

in your background i can see those i

kick free flows i come off top when i

rip

yeah every mac every time around man

people around the planet they can't even

get a grip hold up they love the vibe

that i provide all at once everybody

look to the side

yeah imma make his figures go boom

what's going on someone coming in the

room

yeah h man i'm speaking with a pure

voice please said the girl in the

sweater that is turquoise harry met

coming off the tip of the mantle when

they come to bars man they know i'm

essential mad effect i'll be the one

they acknowledge peace to the girl with

the black finger nail polish imma solve

it any time i was happy every man you

know they'd be loving what i'm rapping

yeah

you know what i'm all about look to the

side how does he call it out

yeah imma do it like none other yeah

i've been calling out the nail polish

color hey harry mack i be leaving tracks

mother aye

and you know i put them under pressure

boys that they couldn't even measure all

up in the background you got the dresser

drawers i give y'all more i checked her

out territory

i explore when i spit it yo it's hard to

record

every time that i beat rapping they can

see we really acting up

i'm spitting with the passion i got all

my enemies backing up let's go

Second Clip - Yeti, Pickle, Guitar

yeah yeah yeah hey rappers ain't ready

coming through shop like machete y'all

know my lyrics is deadly my name is

harry compare me to the yeti

yeah whenever i'm rapping y'all know

they're gonna go ham hey scaring y'all

like the abominable snowman

i'm coming through and y'all know my

lyrics quite pure scary kinda like the

hairy eddy with the white fur

hey yo i'm doing me i hope you

understand it they popped up in the tent

we were like damn are y'all camping

it was like yeah we chilling in the

backyard never thought you'd be the

piano player in rap star

but here we are coming through do it

swift yeah find another rapper who could

do it like this

off the handle forever we coming through

so easily and back when i first started

told you ain't no one believing me but

now i make it happen y'all my style is

not for rant kid kinda like your

situation this

is intense hmac break it down y'all

better feel me

i never hold it down cause i'm

delivering the real me

yeah i come with the sick flow a lot of

them don't even get those but when they

becoming a pringle major flavor i'm like

a pickle

i'm here to make it happen i'm the

dopest with the bars yeah

flavor like a pickle when you open in

the jar yeah i keep it real and my

thoughts are concealed word to pickles

cause i'm about to give y'all the deal

you feel me i break it down real swift

just like this get your high

like a spliff i'm really bout to drift

moving through it when i'm on it i'll be

delivering bars hey yo

marcus on the chords but he ain't

playing guitar yeah

check how we do this man we plucking the

strings yeah for me it really isn't

nothing to say

hey yo i come right off the top when i

be flexing i get stronger

we popped up and she was like hold up

are y'all songers

i'mma break it down one time h may be

coming through with that astounding

rhyme

yeah hey yo y'all know i get loose when

i create rhymes peace to both of y'all

and the homie up on facetime

Third Clip - Platypus, Cleanser, Eternal

yeah coming off the top and i'm spitting

that heat he's like you gotta rhyme over

one of my beasts i'm like no doubt man

we bout to get loose i was like oh you

make beats tell me you produce he was

like yeah you know i got the fire i need

three words just to get inspired hmac

i'm about to keep it true he was like

nah wait a minute i'mma rap for you uh

we about to flip it to my birth so much

passion my heart really hurts hmag y'all

know that i'll really be a boss as soon

as the beat drops i'll be fully going

off

from the heart imma gladly push i'm an

animal platypus hmeg when i rhyme and i

really get ill like a platypus mouth

i'll be getting to the bills

get into the money uh i live with every

day and be sunny when it comes to lyrics

man i've never been a dummy uh hmac

really about to kill this [ __ ] i'm about

to make you feel the [ __ ] i'm real with

this whenever i be on it man i'm about

to leave a rhyme on censored uh y'all

know whenever i be all up on the scene

keep it clean like i came through with

the cleanser yeah hmac man i get it done

uh how to show where i spit it from yeah

and my lyrics be the mean type spray a

bit of cleanser then hit you with a

screen wipe what i mean to say is they

talking i live it hit the screen right

cause i'm always coming through vivid

hmac with the hd cam whenever i be

coming off the top i'm bout to slam yeah

y'all know i'm bout to spit it clean and

my whole demeanor is something like soap

back in the game just to fill him up

with hope preaching on the microphone

something like the pope yeah y'all know

i'd be the illest freer first word he

threw was onomatopoeia i was like i'd

love to do it for you boy but the

problem is oh i did that one before h

man you know i'm really about to slam

hard on mine up here cause my flow boom

bam how you spend i've been coming

through and making noise hma rocking for

the girls and the boys and the whole

entire team and the whole entire squad

when it comes to kicking livers people

know that i'm a god yeah they're like

hold on wait a minute cause they see me

shout out to these dudes mentioning the

beanies hmac man i'm really about to

smash this dude in the back he'd be

rocking with the glasses hey coming

through with the freshness ain't the

living rapper on the planet who can test

this rhyming up suggestions y'all know

i'ma burn you every time i grab them

like you know i'm about to murk you back

in the day y'all we used to smoke purple

nowadays every rhyme i kick is eternal

yeah i always be in the [ __ ] when i

rhyme all my verses are infinite and i

do it off the top without no facade i

used his word he said oh my god all this

dude is way too real way too ill every

time that i spill ready to build i'm all

offended when it comes to lyrics i'm too

infinite i've never been timid i step up

to the podium i'm going and i'm showing

them exactly what i'm all about it's

every man stay up on my rhyming route

it's all about the time and now i'm

coming with the rhythm i'm making you

listen i'm showing my vision i got you

all knotted i do this often keep on

rocking till i'm up in the coffin yo get

nobody other really do what i do the

homie with the beanie and the braids

yelling out

hey man i make it understood over top

the beanie you even got a hood hmac

although i be the rhyme say a beanie and

a hood man my rhyme got layers h man

it's off the top check all the way that

the kid could ride oh when i spit i'd be

making a laugh now from the front to

that tail up in the background yeah and

i'm living my dream right behind this

dude i can see the screen hmac when i

rhyme i make it look easy so you're

about to see me all up on your tv yeah

i'ma make it known h man man i can't get

busy when i first pop up they like yo

wizzy now i make their heads been round

till they dizzy gotta turn and point

into the tv like did he say that is he

really all typing all his raps here i

know it's unbelievable i said the level

that i'm on is inconceivable uh y'all

know i come through properly yeah i know

i'm slowing down now a piece to the

homie in the chat who just blessed me

with a name for his soundcloud imma have

to go and keep your beats now h getting

busy with the freestyle every time he's

rhyming they be knowing he's wild i'm

about to hold this [ __ ] down till i'm

seen now uh i surround you soon ain't

another [ __ ] who could clown the

dude and you'll know i'll be shining

bright kind of like the colorful life

that's flashing all around your room oh

hmac i got hella freeze i'll be shining

bright like the leds yeah i've been

getting busy in the circle from red to

the orange to the blue green purple

every different color it all combines

when i spit i'll be teaching all the art

around i said all these rappers on my

level i'll be thinking hardly turn on

the colorful lights let's start the

party what

Fourth clip - Miami beach

hey what's up guys how's it going

my name is harry mack i'm doing videos

for my youtube channel

can i do a freestyle rap for you guys

real quick yeah no no so can you give me

like a random word to inspire my

freestyle um

beach there you go all right we start

with that you can yell them out while i

go too

okay

all right

yeah

yeah

yeah

yeah okay okay okay uh keep a low pro

and i stay out of reach i'm the

professor with lessons to teach they

lining up just to hear on my speech had

to bring my vibe out here to the beach i

make it happen y'all know that i'm sick

with this setting it up and you know she

predicted it mac i come through y'all

know the scope shout out to my girl with

the gold on the hopes

freestyle so my rapping is infinity yeah

and y'all know i control the vision damn

your errands looking like the solar

system

yeah yo i can see the sun in the planet

h man y'all know that our drive rap is

crazy you got the solar system but you

never been spacey holding your attention

coming over time with the lyrical

invention yeah y'all know that i'm about

to beat you

in miami beach florida yeah i'm about to

make it known cause when i rap i'll be

entering the crazy zone y'all know i

split it off top with the flare unlike

your shades i am never a square back i'm

not breaking down the one cold when i be

rhyming i'm breaking the rules uh we

gonna pull up in the menzies baby in the

fancy ass lenses y'all know we do it hey

grade she don't even need the sunglasses

she ain't throwing shade

y'all know what we're all about anything

that i see i'm about to call it out

making it happen i'm crazy we're rapping

i never been slacking i'm taking the

action lyrics off the tip and this is

about to make you think she'd be rocking

orange sample [ __ ] in the pic every time

i rhyme though i do it for the heart

she's been wrecking all right and she

really brings the art yeah

all these other rappers hardly ran

fitted from the heart yo i knew it from

the cardiac every time i'm spitting man

you know it's too astounding girls out

in miami beast start bouncing again

with the realness hey i'm gonna take the

game on a field trip

y'all know we out here working with

never gonna

all around i got love for y'all other

rappers we're about to rise above them

all i'ma leave i'm the manuscript for

help like spanish this is the moment

where my freestyle's finished let's go

Fifth clip - Behind the Bars

we're gonna try some different you

know rhyme schemes different patterns

different placements of the rhyme so you

know a b a b

rhyme inside a rhyme you know

a a b c c b d e e f now i'm just playing

but uh you know some stuff from poetry

class man we're gonna work on it

mikey what were you saying we should

call this

practice oh traffic school this is

traffic school right here

a b a b which is kind of like you're

weaving two separate lines uh two

separate rhymes in and out of each other

so if you think a shirt then you think

of wearing

then you set them both up like keep the

speakers blaring because mac is doing

work ask me what i'm wearing i'm in the

black shirt hey yo to blow up in the

game they expect me crazy crazy here's

the a b a b hold up hey yo i rock y'all

know i'm off the head right these

rappers stop just like they at the red

light hey yo smash every time i bring

the vocals these rappers getting gassed

they remind me of a mobile yeah it's

clear the people know i rapping forth

hey yo i'm here to show you how we go

back and forth uh got what you need i'm

getting plenty live yo i'm adjusting my

speed it's only 25 hey yo i bust these

lyrics imma let go heavy like a bus get

around like the metro hey yo stalking

rappers manifesting phlegm hey yo they

walking they something like pedestrians

stepping to the mac illinois bust off i

got you chilling like you waiting at the

bus stop hey yo i drop with no bungee

i'm giving not no [ __ ] hey yo i'm

feeling mad hungry let's hit the taco

truck uh cow know that i'm illin that

fellow be never chilling i'll be pushing

straight through them to yellow a drag

y'all know i'm off the brain now

y'all heard me make a mistake i [ __ ]

up right lots of times when i'm doing my

practice people are like oh

why is he making mistakes or yo that's

the first time i really heard him make a

mistake it's a good observation so

here's what's going on when i'm

practicing it's different than when i'm

performing right so when i'm practicing

i'm working on something very specific

and i'm sticking to it repeating it

again and again and again and trying to

chip away at my weaknesses so in that

case you're gonna make more mistakes

you're working on the things you haven't

mastered yet yeah

y'all know that mac amazes anytime he

touches the mic he blazes kids all

across the planet they bout to crave

this we bout to practice our four bar

phrases so you need three rhymes like

blurt and berserk i'm out my mind age

mac goes berserk turn on my mic cause my

brain's about to blurt yeah y'all know

i'll be rocking the black shirt anytime

i grip up on the mic i'm doing mad work

now this is something most of y'all

can't [ __ ] with but it's something that

the industry is stuck with slam down on

the ground leave the floor ruptured

normally it's just two lines and that's

a couplet but we bout to double that

extend it to four hard to the core imma

break them off with more hmac got the

beautiful lyrics the fans adore and when

i'm finished rocking they beg for the

encore yeah am i the illest off the tip

hold me dead right hey yo we can make it

happen right here on site hey yo every

time i shine with the head bright y'all

know that we chillin right here at the

red light uh i told you i'm about to hit

the target anytime the mic is in my palm

i'ma spark it lots of rappers rappers

but see mackin is the artist i'm numero

uno like the name of the market yeah

compared to other rappers i be sicker

i'm contagious with the flow and my

brain works quicker yeah my light stays

on strong and never flickers maybe we

should take a pit stop here and cop some

liquor all right listen i'm the number

one up on the word scene uh hey yo i

might be splitting your spleen yeah hmac

tell me what the words mean now i'm in

effect moving forward cause it turned

green i'm never slipping microphone is

what i'm ripping well imaginary mic is

in my palm but y'all listen to the vibes

and divisions while i'm staying on my

mission i'm michael jordan these rappers

just assisted scotty kippen

traffic school baby

Sixth clip - top 5 rappers

Yeah, ay, ay

All the way freestyle off top, you know how we do

Look, look, look, look, look

Cold when I spit it like December wind

Said I'm cold with the lyrics like I'm Eminem

Ain't a rapper in the game who could ever just gel me

I've been influenced by him since The Slim Shady LP

Wait, even before that, you know we been the shit

Pre-Slim Shady LP, his flow was infinite

H-Mack, on it, yo, this is what we always about

See, Stevie knows whaddup, he's callin' it out

Listen, I'ma break it down like this

Y'all know I bring the hard flows

When it come to lyricism right off top

Man, I'm really tryna do it like Marshall

Mack all up in it, you rappers don't matter

You are not a factor, you are just actors

I'ma do it like Eminem, he be spellin' the initials, Marshall Mathers

We about to throw down right here

And you know the game is lit for Harry Mack

So let him tell me what my name is

Yeah, we do it like this, throw your hands up

Yo, would the real Harry Mack stand up?

Let's get it, man, I'm throwin' it down

I be a king up in this bitch, I need the goldenest crown

No one can really rock this way

You know that I rock all day

You know me and the beats be the perfect combo like

Eminem to Dr. Dre

So let me put it down for all o' y'all

You know that I always scald tracks

They be sayin', "Who's your top five, Mack?"

Well listen, you know I get up on the track and then I kill static

Number one on my list, he made Illmatic

Yeah, you know there's no rapper goin' past me

Like old school Nas 'cause my vocals hella nasty

Next level when I do my thing, that's for sure

I'm stillmatic like Nas in the orange velour

Yeah, check the way I break it down, I'm makin' people listen

Feel like Nas up in the Queens projects with the stool pigeons

I'ma do it for my people, bars are lethal, dawg, I'm running you

That was all from number one! Damn, who's number two?

Black Thought from The Roots, I'm about to blast off

You know that I'm 'bout to do it like Future, my mask off

Too sick with this, I'm risin' above

Number two is Black Thought, he's on a quest for love

He's firm with The Roots, forever do my thing for the art

You steppin' incorrect to him, that's when things fall apart

That's a Roots album for y'all, you know I got 'em tremblin'

Happy birthday, number three, y'all know we give it to Eminem

Puttin' it down for my people whenever I'm on it

They call me a true god

Next dude ain't quite as lyrical, but love to Snoop Dogg

Stevie, are you down with Snoop? You know he's got the flavor

I know he ain't intricate with bars, but dawg, his vibes is major

Aight, number five is transcendent with bars

The young legend outta Compton known as Kendrick Lamar

We heard him flex on Good Kid, then flex again

Can't believe I did a freestyle next to him

Now, I know what you thinkin', "Okay, Harry, it's just a freestyle...

...At your level, you could just do that when you senile...

...We know what you do, you kick all them flows...

...You point out the color of a shirt, or some other clothes..."

Nah, let me tell y'all what the fuck is really goin' on

I ain't just rappin' 'bout T-shirts, dawg, I'm really flowin' strong

See, compared to rappers, I be all in they dreams

'Cause I can take one singular word, then craft out a scheme

"But Harry, wait, what's a scheme?" I'ma break that shit down

That'd be like if you gave me one word, let's say it's "town"

Now I could do a simple word about the town that I'm from

Or go from town to city to building and stay on my run

From building to foundation to skyscraper, they know I'm quite major...

Ah, fuck, man!

Ay, y'all can tap in on the channel @Stevie Knight later!

Let's go!

[ Transcribed and subbed by Nick @plebcrabslayer ]

Seventh Clip - Harry Potter, Octopus, Jacket

Birthin' the verse all up off the top o' the mind, all these lyrics get spawned

I should change my name to Harry Potter, I should change my mic to a wand

Yeah, I get loose with the tactics

Unh, and I'm tearin' through the fabric

Yeah, I'm really 'bout the raw rap shit

I'm like Harry Potter 'cause I'm workin' magic

Unh, and you know that I be hotter than hell

Every time I'm in the session, I be castin' a spell

Unh, y'all know that I'm ready to slam

I'm about to do a trick like, “Alakazam!”

Unh, when I be rappin', I never be small-time, I be on some big shit

Ay, hop on my broomstick, now I be playin' some quidditch

Unh, all on the field, ay, that's where you probably find me

Ay, ay, if I ain't there, then I'm with Ron, I'm with Hermione

Yeah, yeah, every time that I rhyme off the top
I be playin' them god sports

Ay, I'm workin' magic, yes, I am a wizard and I am at Hogwarts

Unh, every time I grip up on the mic, man, you know that I'm truly controllin'

Ay, everything I write 'bout to make me a billionaire, that's J.K. Rowling

Unh, and y'all know that she really been hittin'

Harry Mack, off top when I'm spittin'

Shouts out to J.K. Rowling

She said J.K. but she really wasn't kiddin'

Really takin' over, built the empire

When it come to lyrics, man, they know I been fire

Comin' off the tip o' this, I'ma get you high like lots o' kush

I be goin' deep like a octopus

If it ain't natural, you gotsta push, I'ma get it done

Every time that Harry Mack is freein' in a session
I got everybody on Omegle havin' fun

Let's go, ay, spit what I think

Don't need a squid, I don't use ink

Unh, when I be on it, I'm spittin' the lyrics they sure to remember, though

Everything that I spit gonna stick like a tentacle

I put it deep in your mental, though

Harry Mack, when it be comin' to lyrics
I'm healin' your pain like the medical

Man, I got several styles I can use, I be up in my zone

I see you on the side, you filmin' on your phone

Anytime I grip the mic, you know I'm 'bout to damage you

Shouts out to your octopus, I'm diggin' that stuffed animal

Comin' off the tip o' this whether high or sober

I said, "What you doin'?"
They said, "It's a sleepover!"

Mack goin' in, mad style, I pack it

Brrr, too cold, you are gonna need a jacket

H-Mack, I be flowin' off the head

Shout to the two fans layin' in the bed

Every time I'm on it, man, I really take control

I'm known around the globe, she in the white globe

In the white robe, that's what I meant to say

Any rapper who be steppin' is gettin' sent away

It's Mack, I'm all up on it, and I gotta keep it honest

Every time I grab the mic, you know I keep it like a promise

Go beyond it when I'm on it with the double-time spittin'

I be gettin' loose, no beat, still rhythm

H-Mack, y'all know I really came to spit the flow

Peace to the homie with the iPhone video

What!

Last Clip - Guitar, Star Wars, Black Hole

yeah all right let's get it

uh check out the way that we sparked

this hmac collab with marcus

we be locked in here on amigo we

connecting with brand new people

yeah i'ma come off tip everybody trip

whenever i rip

yeah can i keep it firm in my grip hold

on the mic and it's never gonna slip

yeah y'all know what come with the bars

when i be rhyming i'm traveling far

hey

[Music]

but we don't need no guitar we got

marcus all on the chords yeah he's on

the north it be the stage three in the

rays g i just come off tip if i said it

then i meant it if freestyle with guitar

i'd be hendrix

i'm about to lay it down when they got

the lyrics at the top of the middle

everybody knowing i don't really play

around let's go

hey give you more y'all know i'm bout to

drop bars hey

don't play guitar but still i feel kind

of like a rock star pop up on the screen

and they know where it's at

yeah every mag we become minor right now

from the bottom and you know i'm really

climbing right now

real lyrics i know that i wrap bars i'll

be massive kind of like the death star

yeah i've been coming through with

creations that's not a moon

it's a space station h man i'm facing

the challenge leipzig kind of like

millennium falcon henry mack you know

that i got the bomb vocals hit me like a

rookie i roll with han solo call me

chewbacca you all know i'm about to be

taller than a skyscraper

hold up matter of fact i be a jedi

[Music]

i'm about to hit bad in my x-wing when

i'm on the mic i'll be flexing they'd be

checking they'd be watching the way that

i'm moving always being proven boy so

soothing

yeah i'm about to blast my enemies to

fractals

every time i rhyme i'm navigating

through a black hole

hey call him his majesty hey i use my

faculties

hey kinda like black hole i hold it

View Details

Listen to Analyse Asia: https://www.analyse.asia/solana-with-raj-gokal/ (15mins in)

View Details

Listen to Bankless: https://sites.libsyn.com/247424/how-to-become-a-vc-with-haseeb-qureshi-layer-zero (55mins)

View Details

Listen to Infinite Loops: https://www.infiniteloopspodcast.com/alex-danco-what-is-web-30-all-about-ep95/ (37mins in)

Transcript

Alex Danco:
Yeah. So one of the cool things is that, I can say this from a vantage point at Shopify, is that all of this is
fairly obvious to us and it's not because we're smart people, it's because when your whole life is working
with merchants, it's like, these are merchants whose job is not terribly dissimilar from musicians. It's
create meaning, create community, create a reason to come back and talk to each other, and therefore
products get sold because of that underlying meeting. It's like, no, shit, that's what this is for. This is
what we already were doing, this isn't new, this is kind of like it just makes a lot of sense.
Jim O'Shaughnessy:
Right. And it's repackaged and it gives the tool to greater extend the reach. But yes, I agree with you.
Alex Danco:

So, hey, we should NFT this conversation and sell it, and then if you buy this NFT, you'll become the only
person who gets to understand what NFTs are for. You have the exclusive rights to it, everybody else
gets to be wrong.
Jim O'Shaughnessy:
Everyone else is wrong.
Alex Danco:
Unless somebody right clicks and saves the audio file of our podcast, in which case they have stolen it
from you.
Jim O'Shaughnessy:
Yes. And you're fucked.
Alex Danco:
Good luck to you. Sorry for your loss. Sorry, you got hacked.
Jim O'Shaughnessy:
Well, this leads into Web3, because I was very eager to hear you do a bit on Web3, it's like so much stuff
is being written, talked about, blah, blah, blah, blah, blah. What are your thoughts?
Alex Danco:
I mean, to some degree, I think it's like being able to draw a precise box around Web3 is a little silly
because it's like there's just the web and it's all these cool tools. And certainly at Shopify, our job, I mean
on the blockchain team and also generally is not to give merchants the best of Web3, as opposed to
Web2, our job is to give them good things that help them.
Jim O'Shaughnessy:
Exactly.
Alex Danco:
And it's like if you want to draw a box around this bunch of stuff that's Web3, fine. However, in an
attempt to not be sarcastic and actually answer your question correctly, here is I think a good way to
think about what Web3 is. So if you go back to this whole idea of, okay, there are these things called
blockchains, what is the point to them? What do they do? Why do we care about them? It's like, okay,
what is the blockchain? A blockchain is a new kind of network computer that is designed around a really
interesting set of constraints.
And the constraints are very expensive and but they do something really interesting, which is
they allow for a bunch of people to create this shared state that everybody can agree on the inputs and
everybody could agree on the rules. And it's very, very constrained in how you're able to modify this
state, but everybody can agree on what has been done. And different blockchains have different rules,
the rules of Bitcoin are different from the rules of Ethereum or different from the rules of flow
blockchain or polygon, any of those things. But ultimately you create this shared bit of state that can
grow in ways that are very, very constrained, but are highly observable and agreed upon.

So what is the point of that? Who the fuck cares, what is this for? Well, what's interesting about
this is that this creates this new format for something that you can call code that can make
commitments. What does that mean? Well, it means that you can submit some code to this that will
run, and once it's running, you can actually trust that it will run in a fairly deterministic way,
independent of any of the actors involved. So long as you trust that Ethereum will exist, then you can
expect that this smart contract will behave in a certain way. It's code that can make commitments, that's
neat. Well, what's the point of that?
Well, what's really interesting about code that can make commitments is that it makes possible
a new setting for running certain kinds of applications. Well, what are those certain kinds of
applications? It's like, well, it's a new setting for whether, it's like developers to go create little instances
of rules that will follow those codes that can make commitments. And that might have some value to
people, both because of the inherent work that they do, but also because of the shared state that they
do it in. Again, going back to this, well, there's a shared meaning and that has some interesting value,
and if you're also participating in this, then that's really cool.
And I'm sort of building and building there, but what ultimately that makes possible, and really
it's like it took us the better part of a decade to actually really settle on this as the atomic unit of what's
the point of this is wallets. We had all these false starts with crypto about how regular people could
think about what the atomic unit of it was. Like, is the atomic unit the coins? It's like, well, yes, but then
largely what you think of what you're doing is speculating. Is the atomic unit like network and ICOs as a
way of bootstrapping a certain thing? It's like, oh, maybe, if what you think of what you're trying to do is
various kinds of incentive design and whatever.
But ultimately now I think we're sort of at this point that largely actually mimics the beginning of
the internet and the web where it's like there was 10 years of web before the web browser where it was
very hard to actually do anything with it. And then the browser came along, it was like, ah, okay, now I
can actually do stuff. Same thing with wallets, I mean, wallets have existed since the beginning of
blockchain. It's literally just like an address and then a key that you sign with to show you're you, but it's
like it wasn't until I want to say Metamask is the first sort of modern wallet that let you actually do
things.
And now these modern wallets, like Rainbow that are amazing where you're like, "Oh my God, I
get it." The point of this is for me to be able to say, "Hey, this is a way for me to do informed consent for
things where you know it's me consenting because of the blockchain in the back being you know it's me,
and you know it's informed because of what is basically called, if you ever interacted with this, it's like,
sign this message. Sign this message to inform consent to X. And it can only be you because it gets all go
back to, so the point of the blockchain is so that why wallets can do informed consenting to things and
the wallets can do informed consent that has meaning because of the shared state that's in the
blockchain back.
So pause for a second. Now what on earth is that good for, if again, this is only useful in this
super slow, clunky Web3 environment that doesn't actually have any real work it's doing yet? It's like,
well, now you can go back and you can say, "Okay, well now we can think about this web space full of
web apps and full of databases and applications and abstractions about what's in those databases and
APIs through which you can access them and then applications that build on top of them and then users
who use this applications. And it's like, all of that web stuff can still exist, just now bookended with these
two very strong concepts of the wallet and informed consent and removable informed consent.
I can take it with me, I can remove my consent from somewhere and add it to somewhere else.
This is all the idea of how Unfollow is the most important button on Twitter? Remove Wallet is the most
important button in Web3, it's like you can just leave and go somewhere else. But again, it's like you

now have this whole set of web stuff that can now do work, except for when it's bookended by these
strong forces at the ends of this shared state on one side, on a blockchain and wallets and your keys that
you sign with, and only you sign with on the other hand. All of a sudden this radically, it's not like it
requires you to rewrite the internet from scratch, it doesn't and that's important.
It sort of rechanges a lot of the relationships between those things and what is strong and what
is weak and what is powerful and what is not. And most importantly, it changes where the switching
costs are. And that changes everything about how the internet actually works because I've explained to
so many people, I explained them to this whole idea of, I tell people, "Imagine a merchant storefront,
and you can just connect your wallet. And because of what's in your wallet, now all of a sudden, the
storefront reacts to you. You get special discounts, you get special this, you get special that."
And they're like, "How is that different from login with Facebook? Isn't it the same thing? Isn't it
just now like login with Metamask. Doesn't Metamask now be the owner?" It's like Metamask is just like
UX. Metamask, it's your key pair that is associated with the thing. That's very, very hard for people to
understand. The fact that all the stuff is in public is just associated with you and this thing you have,
which is just a string of numbers, numbers of letters, it's just literally like a password, like a seed phrase
that you have, that is this big key to all of this that you can remove and add and remove and add and do
what you like.
And it doesn't change what any of the stuff in the middle does, that's still all these web
components and we can still do stuff, but it changes the degree to which you have switching costs,
navigating around it, and therefore what people can get away with. Like, what actually are the power
dynamics along these sets of things. And so specifically, actually, this is all very abstract, let me give you
a specific example here, which is, right now, you have all these, so there is this NFT collection called the
Bored Ape Yacht Club, which is one of the most famous/infamous NFT collections, because it has all
these celebrities in it and all these crypto bros.
And to a lot of people, they kind of represent the most distasteful, it's high pro behavior. Bored
Ape does ultra pro behavior and it's one of the richest NFT sets. And these people because they're these
idiots, a lot of them are constantly getting hacked and getting their NFT stolen from them for various
reasons. And so there's this big thing of, oh, go to Opensea and have them freeze the NFT. And so you
might say, "Well, this is crypto. You can't freeze an NFT. It's on the blockchain now. It's like, whoever
owns it now really owns it." It's like, okay, well, what Opensea can do is it can go to any of the...
Opensea can say, "Okay, well, we're just going to take that particular smart contract and token ID and
say, 'well, that is not going to appear in any more Opensea search results, you can burn from this thing."
So you might cry foul and be like, "Oh my God, wait a minute. This is just central law, what's the
point of all this? If somebody in the middle can just turn it off, what on earth is the point about this? This
gets to a really big, important aspect of this, which is that Web3 doesn't mean un-censorable, it doesn't
mean ultimate, it doesn't mean nobody can do anything. It just means it is relatively different. The
power of what you have versus what you don't have is relatively shifted towards your ability to just
move to another NFT marketplace. You can just move your wallet to somewhere else and maybe if
they're not censoring it, then you show up there. The thing you fundamentally own, the meaning is
always there.
Now other people might decide to not recognize it, that's what censorship is. That's real
censorship and you can never stop that. If everybody agrees to ignore you, that's actually something
that nothing can stop, but it doesn't mean that you don't have the original thing, which is that key pair
associated with your ID, this is maybe significantly going into the abstract cloud. But to me, to get back
to your original question, though, of what is Web3? It's like Web3 is basically Web2, plus these two
booklets of the blockchain, plus the wallet that give you this web ability to take your informed consent

with you and take your idea association with this meaning around with you, such that your freedom to
move is significantly increased. That's Web3. And so Web3 is the set of apps and behavior and stuff that
emerges in this new understanding about your ability to move around. That's Web3.
Jim O'Shaughnessy:
Bingo. Bingo.
Alex Danco:
Is that what you wanted?
Jim O'Shaughnessy:
Yeah, it is exactly what I wanted because, and I put very, very succinctly because that isAlex Danco:
I wasn't succinct, that took 10 minutes, but you just take the last 30 seconds, get rid of all the crap at the
beginning.
Jim O'Shaughnessy:
Succinct for you, Alex. B

View Details

Listen to Unchained: https://unchainedpodcast.com/did-someone-deliberately-attack-terra-luna-to-kick-off-a-death-spiral/ (15mins in)

My reflections: https://www.swyx.io/risk-conservation

View Details

Richard is one of my fave speakers in software, particular in the Elm and language sphere of things. Check out Why Isn't Functional Programming The Norm? and Roc, the new language he's working on!

Listen to Software Unscripted: https://www.listennotes.com/podcasts/software-unscripted/crossing-the-chasm-1-dDJwWER37/

View Details

  • https://www.youtube.com/watch?v=7VSDVQFQNWk
  • https://www.youtube.com/watch?v=x6jp-e592Tw
  • https://www.youtube.com/watch?v=R1dfP_Xbe3Q

View Details

Listen to HIBT: https://www.npr.org/2021/12/17/1065352806/spin-master-paw-patrol-ronnen-harary (55mins in)

View Details

Listen to the Changelog: https://changelog.com/podcast/487 (12mins)

Series A: https://techcrunch.com/2022/04/05/warp-raises-23m-to-build-a-better-terminal/
HN reaction: https://news.ycombinator.com/item?id=30921231

View Details

Listen to Software Defined Talk: https://www.softwaredefinedtalk.com/346 (12mins in)

  • https://techcrunch.com/2012/08/28/rackspace-acquires-y-combinator-startup-mailgun-an-api-that-abstracts-creating-email-inboxes-for-apps-and-web-sites/
  • https://techcrunch.com/2021/09/30/sinch-acquires-pathwire-the-company-behind-mailgun-and-mailjet-for-1-9b-to-add-email-into-its-api-based-communications-platform/

Ev went on to start Teleport, which just announced their Series C: https://goteleport.com/blog/series-c/

View Details

Read: https://www.swyx.io/self-provisioning-runtime
See https://www.serverlesschats.com/124/ for transcript and links!

View Details

Clips:
- Esperanza Spalding https://youtu.be/TQtXo4tiZxs
- Laufey https://www.youtube.com/watch?v=JIGiPrejRi4
- Sant Andreu Jazz Band https://youtu.be/BsEFFaboTAM

View Details

Listen to 3 Books: https://www.3books.co/chapters/22 (1h 5 mins in)

Previous Tim Urban creator commentary: https://www.listennotes.com/podcasts/the-swyx-mixtape/quality-vs-consistency-QDP6mN_Ky20/

View Details

Watch Brandon Sanderson channel: https://www.youtube.com/watch?v=Xb_S4kH0WdE

View Details

See the visuals: https://twitter.com/search?q=Endless%20Idea%20Generator&src=typed_query

Listen to the Digital Writing podcast; https://podcasts.apple.com/ru/podcast/how-to-generate-100-content-ideas-write-viral-twitter/id1600176185?i=1000552947481 (10mins in)

View Details

The Circles
- product (incl integrations)
- docs
- content
- community
- UGC

TALK ABOUT SVELTE SOCIETY STORY

Dimensions of the Circles
- negative engineering? or dev exceptions
- onboarding -> production -> prod-dev -> billing -?

Other definitions of devx
- single command do a lot -> until too magic
- does what it says you would do
- making some cycles faster -> esbuild 100x faster - bret victor inventing on principle

Future of Devx? integrate forward, or backward
- content creation meta - video. shortgame + longgame.
- backward -> going into docs, product

Listen to the DevX pod: https://devxpod.buzzsprout.com/1895030/10012425-the-radiating-circles-in-devx-with-swyx-head-of-developer-experience-temporal

Pauline: 0:00

Hi, Shawn! Thank you so much for joining us for a DevX pod today. We're really excited to have you on board. I just wanted to point out this is one of those things where I tweeted about something and then someone was like, I recommend this person. And then I found you, so this is really exciting and we're going to have this awesome conversation about developer experience. Maybe for those who may not have heard of you before, can you give us a bit of an introduction on your story? What you're all about?

Shawn: 0:31

Yeah. Thanks for inviting me on. I'm Shawn also known as swyx online. I originally am from Singapore and, moved to the U S for college and pretty much the rest of my career and spent my first career in finance before changing careers to tech. And since I joined tech, I've been fairly known for learning in public, for speaking about reacts and serverless. And now I work as Head of Developer Experience at Temporal.

Pauline: 0:55

I have a follow-up question actually. What does it mean to be head of developer experience at Temporal?

Shawn: 1:02

It's a role that we basically, I created for myself because when they were reaching out to hire me, they didn't have something like that. And I don't think it's a common role at a startup as well. The bit of a background, which we can get into like how I got started into developer experience. I previously worked at Netlify where I originally joined as a developer advocate type person, but then when Sarah Drasner came along and started leading us as a VP she restructured the whole thing to make it more of a developer experience engineer. So I'm turning developer relations into something where you actually do a bit more engineering and are responsible for parts of the developer experience rather than talking about it. Then I continued that into AWS, whereas also a driver advocate for AWS Amplify. Well, I think for me, the role that I really thought would make the most sense to borrow was something that spans across docs and developer advocacy as well as community. And then I was also a product manager for our recent tax group STK. When you're in a smaller startup, you kind of have to wear many hats. And so, uh, this developer experience umbrella felt that the most descriptive

Mike: 2:14

I think you literally just covered the next two questions I wanted to go talk about. I wonder if you have any more details in terms of overall what DevX is to you?

Shawn: 2:25

Yeah. I've actually written some thoughts about this. I kind of think about it as a radiating circle out from the core product. And so part of this is influenced by me struggling with developer relations at Netlify and at AWS, because often there's a separate team that is responsible for docs. There's a separate team that's responsible for product. It's very hard actually, when you realize. A lot of the things that you do as a developer advocate is very it's downstream of everything else that's above you. And if they're shipped and organized by different teams, then you can get a very disjoint experience. Essentially like your impact as a developer advocate may not be as high because people don't see your stuff as much as they see the docs or the experience about it. So just think about it in terms of like, okay, you start with the core products, make sure that the product design and you get enough feedback. You make sure that API design is really solid. then you radiate out into the docs, which is your sort of first party content on how to use it. I consider docs secondary to products because the best doc's is the docs you don't have to read, right. That is intuitive experience, but still you need docs anyway. And then going out from the docs you need, you go into first party content, which is the role of a developer advocate. And that is anything that's ancillary to docs that explains the why instead of the, what or the how. But you can also dive into the what and the how as well. Like sometimes you just need to pitch the same thing, seven different ways before someone gets it. And then you go from the first party content, which is your blog posts and talks and stuff like that. It's very traditional DevRel fodder into community, which is going from one to many communication to many, to many communication. In other words, having a place where your users talk to other users and help each other out. And then the final tier is enabling third-party content, which is I think about it in terms of users writing blog posts and books, workshops and courses and tutorials about you, even posting jobs with your tool or your technology in the job description on anything like this, where it's very user initiated. I really like encouraging that because that's how you know that you start scaling developer experience beyond the sheer number of people that are working in your company because you have users working for you. But that only happens after you got all the core inner loop stuff right.

Mike: 4:48

I like the analogy with the radiator being in the middle and starting to do, send the heat out. I wonder, what's your take on in product developer experience, how do you make sure you don't have to ride this doc? Do you know that chapter in the documentation and how do you deal with that? Are you directly involved in the product to make certain changes that you think are more intuitive? Or how does that go?

Shawn: 5:13

Yeah, I think it depends on the maturity of the company. This role or this job changes very much depending on whether you're a seed stage or series B and maybe you're not a venture funded company, but depending on the maturity of the products, right? If the thing is mostly fully formed, then you have much less impact or possibility of changing things. But for me, I was directly involved in shaping every single part of the API that we shipped for the TypeScript and I wrote almost every single word of the docs. Very extremely involved! Because then after that it can flow from there to my DevRel efforts and community building efforts. So I think it really depends. The second thing it really depends on is how visual you are versus how much of a code base Platform you are. So we are very code based. In other words, we care much more about API design than user experience design or UI design. I think UI design for visual product makes sense. I think Gitpod probably more of a visual products because there's no Gitpod API. I mean, there's a config and there's no Gitpod API that I integrate into my app or anything like that. Netlify where I used to work as well. Yes, there's another Netlify config, but like the rest of the thing is just point and click. So in that sense, yes. The role of UI design, I think is very powerful. The last point I'll mentioned for you as well, is that another principle or API design principle that applies regardless of whether you're doing visual or programmatic SDK work, is that you want to try to enhance the power of a single command. So for us it was Netlify deploy or git commit, and that would create a whole new deploy preview. And that was a big revolution in front end development. There was other analogies in the CLI that we should, that we shift this well that I was involved in. But I always think about that in terms of like, okay, how do you increase the power of a single action and just pack as much as possible in there? I really liked that idea. I don't know if that is described as good developer experience, but to me, I think that really contributes to a wow moment that where you type a single command and something magical happens, because that would have typically taken many steps to accomplish.

Mike: 7:27

I think this is a great way to describe it. The other thing I like is when it does what you expect it to do, I think that's another huge one. You could have add whatever, but then, it does only half of the stuff or, yeah there's really good examples out there for sure. Nice.

Shawn: 7:42

There's a part of a developer experience, which I often talk about which is a developer exceptions. In other words, developer experience often we talk about happy paths. Like, oh, if you ask them, do I like this? Look at how amazing it is. Look at how awesome and how fast and how everything, how amazing everything is. But people in developer experience often don't talk about the, what happens when things go wrong and actually sometimes paying attention to giving you a nice remedial path when something goes wrong is actually also a really good experience that developer experience, which people don't talk. So improving observability, making sure that you don't have pricing mistakes or your pricing is predictable, at least. And doing things like having clear versioning and deprecation support policies, these all kind of boring and less headliner things that you want to ship, but it's actually very key for developer experience.

Pauline: 8:35

That's a really good point. You said having a wow moment and that I think is a really good explanation of what developer experience is. Why is it important to you that we have that wow moment? Why should we even care about developer experience? Why have that wow moment?

Shawn: 8:54

I think the wow moment is more of a marketing thing in the sense that there's a lot of developer tools out there and you need to stand out somehow and you need to get to that wow moment as quickly as possible because everyone has other things going on. They may click away if you don't get to that wow moment. so I think that's part of it. The other part, which is also like game design, in the sense that, you need to keep having rushes of endorphins to you, to make your job fun, to have the developers stay in flow and developers that stay in flow and more productive. As to why in general, should we even care about developer experience? I actually, yeah. There's a cynical view. And then there's a more genuine view. The one genuine view is that developer experience helps, developers be more productive, which helps ship more products and makes users happy and blah, blah, blah, develop a tooling companies are worth multiple billions of dollars. And if you can help a developer tools company improve the developer experience in whatever form, then that creates a lot of value for developers. That's the feel good, happy view. My secret problem with developer experiences that I don't think it's that important. Like it's, you're not curing cancer. You're not flying to Mars or anything like that. So I think it's intellectually, interesting and financially very rewarding career. But we should also be a bit humble about. Yeah. Like nobody wakes nobody else outside of developers cares about developing experience. We, they just care about, are you making the thing that helps me make the other thing go faster or ship faster, whatever. And that's it. All these other metrics around, like, I don't know, like number of people visiting your blog posts, like no one cares. So I'm very cynical about that sort of thing. Oh

Mike: 10:45

no, my analytics,

Pauline: 10:49

I was just going to say that's... That's probably the most refreshing take actually. Because I feel like a lot of other people have not mentioned it in that sort of way or describe developer experience in that way you are right.

Shawn: 11:02

Also, I wasn't interviewing there, I was talking with a very senior person at Cloudflare and, I told him this . And he was, I think he was like considering to hire me or whatever. And it wasn't an interview or anything, but I think I closed that door when I told him this, because he was like, what are you talking about? Developer Experience is everything. I'm like, dude, like, come on. Like, like developers are very pampered. Like we have like unlimited leave ,we have like six figure salaries. We're fine. Like, we don't, you don't have to pretend like this is the highest value thing in the world. But, I mean, it's still very valuable. It's just it's one of many possible things that smart people are. Oh, could you read it one more? Nice thing, which is that I think improving the developer experience for beginners is very important. Enables beginners to get started, to make the career, to, to transition their careers which is I'm a career changer myself. And if I did not have the help of people who focus so much on docs and community and, making things accessible to beginners, then I would not be here. I'm not against it. I'm just saying it's not, you know, there are also many other important things.

Pauline: 12:09

Absolutely. If you're like a doctor or a surgeon, or solving our pandemic . Yeah. No, thank you for that. A lot of our guests have said accessibility especially to begin as is why people should continue caring about developer experience and improving it and stuff like that. That's a good point.

Shawn: 12:25

Yes.

Mike: 12:29

No, no, I, I was, uh, I wanted to move on, but that's a good point. And it does make moving on a bit easier then on the previous note we talked about, so I think we talked about the commands that, you know, do a lot for you. What other kind of like excellent developer experience have you experienced or maybe build yourself or with the team that you can share about?

Shawn: 12:49

I feel like I should write this down because there's a number of nice develop experiences that stick in my head that I haven't really articulated very well. So in other words, single command doing multiple things that's good until the point that it becomes too magic and then that's bad. We've established that already. Another one that I really like is making some cycles faster, right? If you can make things in order of magnitude faster than you have better developer experience. Something that people bring up a lot is the benchmarks of IES built in the JavaScript ecosystem, comparing to Webpack or a parcel or roll-up. On the ESPP build website, they have a very prominent benchmark that shows that they are a hundred times faster than Webpack. And that is. And when anytime you increase things by orders of magnitude, that you unlock different usage of that tool. And so I think it's a very important thing to try to always look for areas in which you can speed up the feedback cycle because then you unlock opportunities for play. I think one of the best talks on developer experience that everybody has talked about is I think Bret Victor's inventing on principle talk, where he shows like, okay, if instead of jumping back and forth between your editor and your final output, why not just combine them and have your app or your writing be directly interactable so that you can shape it and play with it as you go along and discover new things because of the play. So I really am inspired by that. And there's a simple analogy to the shift left ideology that came out of IBM, which is that a lot of times when people discover bugs, they discover it very late in production, or even after they shifted in production. And if you shift things left, if you reduce the feedback loop of finding bugs, whether through tests or types or a QA or whatever, right? There's a whole bunch of techniques that are all developer tooling and development experience related. If you shift those items left from production back into the development time, then you enable the opportunity to increase the feedback loop in and correct your mistakes before they get too far out, or you build too much. So I really liked that feedback loop reduction, and then another developer experience thing, which I really like is this idea that everything is just there for you. In other words, you don't have to go out and assemble a bunch of different tools yourself, having an all in one package that with blessed the tools that are known to work together, I think is really helpful. One example of this is I'm actually going to venture out to the jobs review system and talk about Anaconda and Python. So Python is a fairly wide and huge community. But Anaconda is a specific distribution of hyphen with preselected pack packages that are all guaranteed to work together because dependency resolution was a huge problem for the Python ecosystem and the data scientists that were using Python, where it's spending so much time, like trying to say, like, does this work at the other thing? No, it doesn't. So I will have to both drop back to like an older version of the common thing, blah, blah, blah. Very common in JavaScript as well, by the way. But Anaconda actually managed to carve out a niche in Python and made Python, the de facto language for machine learning because they made that develop experience so much. And I actually genuinely think that they are, single-handedly responsible for making Python itself that much more popular. I think that's another interesting thing, which is like, where's the all-in-one for the 80% of use cases that don't need that much customization. Of course, if you want to customize sure, go ahead. You have the full power, but most people, they don't, they just have very standard needs. Let's just do this, just pave out the common path. And so that's how I went from using React. Which is the most popular Javascript framework, to Svelte, which Mike knows very well. And so has all the tools and tools included batteries included. And if I need to customize or drop out of it, I can. And I think that is also a really good developer experience in there so that the, all the ones who toolkit it, that doesn't constrain you too much.

Mike: 16:57

So really the question for 2022 is what's the Anaconda of JavaScript?

Shawn: 17:01

When Vercel talks about building the SDK for the web, that's what they mean.

Mike: 17:04

Yeah. Good point.

Pauline: 17:05

You gave me lots of flashbacks of playing around with Python over the past few years. I haven't really been in that ecosystem in a long time. Actually, Mike will be really proud of me, but I started learning and rebuilding one of my big projects. One of my, well, actually my blog, which is my biggest project, in Svelte, moving away from Nextjs. But, it's taking me quite a long time, longer than I thought, because there's so many. I don't know, there's so many different things that I need to learn how to use this Svelte way of doing things. But yeah, it's really interesting. It's a lot of fun. I understand why Mike and yourself love it so much. I think.

Mike: 17:43

We will talk offline about that Pauline.

Pauline: 17:46

So let's, let's do that. Yeah. Lots to, lots of talk about, yeah, it's messy. Yeah. Awesome. Thank you for sharing that.

Shawn: 17:55

One thing I'll share with you about this Svelte thing. I'm friends with Rich. I had come across Svelte, but actually ignored him for a year until I was like on a trip with him at Barcelona. And then he was like, he's still talking about Svelte. And I was like, okay, I have to try this because you can only be friends with someone so long before you have to try their things. And then I tried it and I was like, oh, okay. I'm an idiot for ignoring this for so long. But the other thing. Notice was that Svelte did not have a very strong community backing behind it. So actually started Svelte society as a part of the next stage of developer experience. So if you think about that reading radiating circle thing, had a very strong product already and it needed and it had pretty good docs. It needed the next level, which is community or DevRel, whatever that is. There is no first party DevRel for Svelte, but I guess Rich's the one had a one man show for that. The community part was the thing that I focused on and that's how Svelte society got started.

Pauline: 18:45

I was going to say, but this is what is this? Maybe the sixth or seventh episodes that we'll be posting on dev X pod and community has taken the lead every single time. It's always the thing that brings everything together. And it's also very validating because I focused on community at Gitpod so every time I hear it, I'm just like, yeah, that was great. Cool. Awesome. I wanted to move on to our next question, which is, where do you see DevX evolving? Will we be focused on tools or people or community?

Shawn: 19:20

I think, in line with the model that we've been developing, in this episode, either you integrate forward or integrate backwards, in other words, a typical typically develop experience is very tied to developer relations and a lot of first party content creation. So you integrate forward, meaning that talk a little bit more with community, you take on more community management roles or you encourage more, third party content by holding workshops and stuff like that. Or you integrate backwards, which is you get more involved with products. So I think that's an interesting way to think about this in terms of the radiating circles, but the other way to think about it as well is what's the shift within the content creation meta game, which I think about a lot as well. So for me right now is that I think a lot of people should be shifting towards video. I think that, the amount of time that how much time do you spend. You know, a week or a day I spent roughly an hour or two hours. Yeah,

Pauline: 20:14

exactly. I was going to say a bigger number than that, so, yeah. I'm glad you said your number first.

Shawn: 20:19

We all spend, we all spent a lot of time and a lot of times we're never going to spend on developer content because we're just on YouTube to veg out to. But I think people who do video very well are getting disproportionate attention. And I think it's a very scalable format. There are challenges with it, which I think Mike has maybe one up in the past before, which is that video is very expensive to produce and it gets outdated very quickly. There will be new tools that arise to fix that. But otherwise, I think the sheer reach of YouTube is just unparalleled. It is the second biggest search engine in the world. The content that lives on there, if you can get it to be evergreen, it can be extremely valuable. I still get comments on videos that I did two years ago, I always think about the half-life of content. The half-life of a tweet is four hours. The half-life of a blog post is maybe like a year or if it's a good blog post, if it's a normal. blog post that everyone is like treating us nothing special then. Yeah. It's probably a day or so. That will be irrelevant in a non-existent, but for videos. It's definitely very long. So I'm very interested in that. And I almost also interested in this idea of having a short game in the long game. It's kind of like tennis. If you only play long games, if you only stay at the back and you only love the ball and then you get killed on the, on the short game. Likewise. So in other words, do you have a short form game where you can pitch your startup in very short and concise detail? And do you have a long game where if people want to engage with you over very in-depth conversation, you also have ability to go deep and you have the content to offer them. I think having, so this is why I focus on having two minute videos and three hour workshops. you want to go extremes? There's a lot of 30 minute talks and podcasts out there. That's fine. But, I think the areas of relative under development are the short game and the long game.

Mike: 22:12

I had a conversation with a friend recently where she was asking me like, Hey, why don't we put some educational tech content on TikTok? And it was around the time when, TikTok had took over Google products in terms of like number of visits in 2021. And that was yeah, actually, why not? So I signed up for TikTok and I spent like 10 minutes watching videos. And I'm like, this is crap. Like what the heck? There's just too much stuff I don't care about. So I need a way to filter the stuff I care about. But then I started searching for things like web development, full stack development, and then whatnot. And there's a few things, but I think what you're saying in terms of the two minutes versus longer things, you can take that to an even other extreme of I'm going to take a real cheesy example, but array methods. One video, 15 seconds about each method and put it up there, see if it goes viral and people talk about it. But I think this is another platform that it's going to up and coming and currently not used for it, I think might be a really interesting play.

Shawn: 23:11

To see if it started watching it. I'm keeping eyes on it as well. The problem is that every, everybody knows array methods and you're not really doing anything for your work by explaining a writing methods. You might grow your own personal following, but that's also not a very valuable following. And let's just be real about that, right? If you get a whole bunch of beginners, then you will be incentivized to create more beginner content and you'll be stuck in beginner tutorial. And then I see a lot of people also get stuck to that because the numbers are only thing that matters to them. So I think, as far as philosophy of consecration goes, I definitely aim for some mix of intellectual curiosity and reach. And if you have only reach, then you may sell out yourself and you may burn out. You may not fall in love with the process. And I think that is the saddest thing in the world for someone to be in such a privileged job as a developer experience person, and to have your own personal intellectual curiosity, thrown by the wayside. I do, and they're doing courage to try to pursue some mix of reach plus first intellectual curiosity. I think the person that really does it best is Scott Hanselman. I don't know if you follow him. To talk as well. He does introductory stuff, but it's always authentic to him. He's not selling out. He's genuinely like, Hey, I think this is really important. And whether or not it happens to be advanced or intermediate or beginner, he's always very much that this is something he genuinely thinks in his.

Pauline: 24:34

The first thing that's on my mind is the fact that I love how in the past two episodes, actually we've been talking about, we've been bringing to light, content creation in developer experience because I don't think a lot of people think about that. Certainly until the previous episode, I didn't really think of developer experience, including content creation or including things like videos or tech talks, because the only thing I was thinking about was the products, like how can we make the product better? So that engineers on board quickly. So yeah, I really liked this conversation and it's really quite eye opening for me. I don't know. Mike, I wanted to say to your point, TikTok does get better after you train the algorithm. I was like, I don't know why anyone is on this app is just full of gen Z. I was just like, I don't understand this. But then after I started watching content that I actually liked it's really good it's really interesting. And now I've been hooked like at least an hour a day. I've been on it.

Mike: 25:33

But well, on the bright side, I have a lot of different methods to peel a pineapple now. So I learned a

Pauline: 25:43

lot of, and the how to use an air fryer in all these different ways, how to cook all these different recipes. Oh, yeah, it's really cool. I just find it really interesting that content creation is included, but it really validates where my thoughts are in terms of content creation and develop experience as a whole.

Shawn: 26:01

This job, this industry is still very nascent, so it's not well-defined. So I don't think you should feel weird about it at all. I think for me, I came at it from my background, which is that we called this DevRel function, this content creation function at Netlify, we called it developer experience engineer. And so that's part of what we do. I should also mention that. Yeah, we were responsible for third-party integrations as well. So I guess.

Pauline: 26:33

Exactly.

Shawn: 26:35

But no, I think, at the end of the day, people wants to develop the tools. Companies want people to discover them and the best ways to, through content marketing. And that's why they hire people who are smart at that. And getting them down through that top of the funnel is very useful to them. I think probably where that we need to do better is that yes, I can pull a lot of people at the top of funnel, but if the product doesn't align with what they expect, then it's going to be a very leaky bucket. A lot of people going to come in, they're going to kick the tires and then they're going to leave. So how can we get a higher qualified audience or how can we get a product that is more intuitive or that retains people better? My own personal journey has been very much backward integrating into.

Mike: 27:21

Nice. Yeah, I feel like every episode we recorders, I always go away with it and I'm like, okay, let me think about all that again. And then I started researching and digging deeper and I'm like, there's a lot of interesting stuff. And we're really just getting started and five years from now, if we had another episode and talked about what is DevRel going? We would have a very interesting conversation, probably very different to today. Definitely looking forward to it. Cool. So one thing we tried to do is use kind of at the end of the podcast to wrap up with a fun thing that you recently came across with, or somebody you want to give a shout out to, that really made your day in the last couple of weeks or so? Um, yeah anything top of mind that you want to share?

Shawn: 28:01

I wasn't prepared for this, but I guess I'll shout out to obsidian. So I think for me, my personal note taking system is very much very important to me in terms of having it as a second brain where I store all the thoughts that I had that are still working progress or data points on some essay that I'm writing, but it's not done yet. And I moved around a lot from simple note to one note to notion. And most recently I made the shift to obsidian and the way I decided on this is that I really wanted to bet on mark down. I think mark down is a format that's going to. Longer than any of us. And that I also wanted it to sync, to GitHub and to have a good mobile application and obsidian match all of those things. Plus it has an optional service to publish your notes so I can share what I am thinking as I think it, for people who really care about, finding out before I publish something on my blog. Obsidian is a really good note taking.

Pauline: 29:01

I was going to say that is really interesting that you shared that for this week because Mike I'll just go next. But the thing that I wanted to share this week is actually LogSeq which is similar to obsidian. I don't know if you've heard of it. I think it's created by the same people or someone had left obsidian team and then built it. I'm not actually sure of the background. But I have been using it for the past two months now. And it's my favorite note taking app, just because, I think in bullet points. And I sometimes feel overwhelmed when I used to use other note taking apps where I would write like a long block of notes and then I try to organize it, but it just all felt overwhelming. Whereas when I have bullet points at the start of when I'm taking notes, it just like sinking things into my head better. I don't know. No, it just makes sense for my workflow. And then every single day, I don't need to worry about organizing my notes. I can just when I open up the app tomorrow, I will have a fresh, clean slate and I can start I'm taking notes of my day. And again, it's become my second brain because then I can just scroll back down and be like, what did they do yesterday again? And then everything is in one place. So yeah, LogSeq is my shout out of the week actually. And it was just really interesting that you brought up obsidian. Cause I think they go hand in hand. Well, but yeah, over to you, Mike, what's your fun thing about.

Mike: 30:30

Well, you really put me in a tough spot because I feel like I need to talk about my note taking,

Pauline: 30:35

I genuinely have this prepared in my notes. I was like, this is what I'm going to talk about, which is why I was really interested in,

Mike: 30:42

oh, I'll take the Liberty to do two things. One is my note taking app, which is Reflect.App. Exactly the same concept. You get a little graph every day. It gives you a new empty note, you take your note, but same idea. Markdown, I guess, for the win. The other thing I did have in my notes though to share is I don't even know if I should share it because I literally just found out about it two days ago when I read the landing page, but I want to dive deeper into it. It's swim.io with double M. And what they're saying is that they sync your talks with your code. So it's more of like a documentation tool for code, it seems well, the screenshot looks interesting. Let's say that. So I'm going to dive into it, but I figured this, is it something that is literally just top of mind, for today's podcast then? Um, I figured

Shawn: 31:30

out what share that. Yeah, we actually a hand-rolled we had wrote something like this for our own docs. I don't know if it's a startup. I remember this one because, swim, they raised a pretty big series, a 30 million, and also it's coming out of Israel. So it's just like a really it's the market, this big come on. But, uh, Hey, you know, it's a hard problem and it helps developer experience.

Pauline: 31:53

We'll link everything that we mentioned from this episode in the show notes, but we have reached the end of the podcast. Oh my gosh time has flown by. Thank you so much, Shawn, for joining us today, I'm excited to share this episode with everyone. So many things to think about, and Mike said earlier, I actually edit these podcasts, so I listen to them, quite a few times over. Every time I listened to them, I'm like, wow, there's so many ideas here that we can take on for Gitpod, for community or whatever it is. I'm really excited to re-listen to this multiple times, take the best bits and then share it with everyone. So yeah. Just want to say thank you again.

Shawn: 32:30

Well, thanks for having me pleasure. I'm really excited that you guys are doing this because people are dying for more DevX content. Every time I post something about it. You know, how I feel about that mix now? And so every time I posted about it, I always feel like a bit of a mix of like, okay, like, this is interesting, but also I don't want it to define who I am, but I think it, yeah, it's definitely very valuable and people are very interested.

Pauline: 32:51

Yes, absolutely. Absolutely. I'm sure it's going to be an interesting lesson to a lot of people!

View Details

Listen to Postmodern Jukebox: https://www.youtube.com/watch?v=aLnZ1NQm2uk

View Details

Listen to Startups for the Rest of Us: https://www.startupsfortherestofus.com/episodes/episode-576-dont-become-a-media-company-a-rob-solo-adventure

Build a Business, not an Audience: https://jakobgreenfeld.com/build_an_audience

View Details

  • Peter on YC Podcast: https://www.youtube.com/watch?v=l-vfn97QTr0&t=2355s
  • Peter's Thread: https://twitter.com/reinpk/status/1492153549282676739

View Details

Listen to https://bootstrappedweb.com/ 35 mins in

View Details

  • First clip: https://www.youtube.com/watch?v=EHTvN0ux3W0 2mins in
  • Second clip: TED 2022 https://www.youtube.com/watch?v=cdZZpaB2kDM 11mins in
  • Last Clip: https://www.listennotes.com/podcasts/three-cartoon/ep-12-dan-primack-talks-PavdKL_7uQp/ 15ish misn in

View Details

Watch Behind the Curtain: https://www.youtube.com/watch?v=GiOuUP9z7l4

View Details

Listen to Creative Elements: https://www.creativeelements.fm/austin-kleon/ (19 mins in)

Transcript

I was like 27, or 26. At the time, these kids were probably 22. You know, so it's like, what can I be stoked on these, you know, these students? It's just absurd. And they wanted a title for the talk. And I said, Oh, it's called. I saw I looked at my blog, I was like, what's the most interesting thing I've written recently, it's called How to Steal Like an Artist. That's what it's called. And I didn't have it written or anything. Like, that sounds good. But I had this blog post that was like, all these quotes about artists talking about stealing. And then I went on this walk with my wife, and I said, you know, what do I say to these people that aren't that much younger than me? And she said, Well, the best talk I ever heard at school, was this lady got up in front of our class, and she just had a list of 10 things that she wish she had known when she was a student. I said, that's great. I'll steal that. And that's where the talk came from. The talk went over well, but you know, me being a sort of old millennial, right on the edge of, you know, I was born in 83. So it's like, I have a little bit at digital native to me, but not terribly. So it's kind of like, well, what happens to all this material after I give this talk that no one recorded? And so I thought, well, it would make a really cool blog post. And that's really the thing I posted the How to Steal Like an Artist blog post. And that went viral. And this is 2011. And it became clear, like, immediately, because I started hearing from editors is like, this is your next book. Even though you put this book out, there was a poetry book that sold okay, but like, didn't really blow any doors down. But this is like the new one. So you get a second chance.

Jay Clouse 18:08
This idea of being a second chance, was this the language that was told to you by the publisher?

Austin Kleon 18:13
No, no, no, no, no, that was just in the back of my head. You know, for the publisher, it's all. Publishers just think, is it going to be a good book or not? You know, I mean, it's a funny thing, my agent would hate it if I told this story, but which makes it even more fun to tell. But you know, Ted, my agent, there was a point after newspaper blackout came out that I wrote him an email and I said, I just realized that I really need an agent. You know, like, it would be good to have an agent, I realized that now. And he sent me this email back that was pleasant, but he was like, Look, kid, I make money by selling books. So when you got you better hope this book that you do on your own sells well. And if you got another idea for a book, then come see me. Right. So that was like, right after Newspaper Blackout came out? Well, I came to him when it was time to sell steal like an artist to publishers. So it was never the second but it almost feels like I don't know, like a bands like Nirvana puts out Bleach and then never minds the like, the major label, even though that doesn't really work because my publisher workman's independent, but it did feel like okay, this is the pop shot. This is like, this is the chance to do a book that might have a bigger audience than then the poetry book.

Jay Clouse 19:32
Well, I kind of blew past this. You know, a lot of people come on the show. They've self published books, some of them have gone through a publisher and they talk about it being like a miserably difficult experience to get to the point where someone says, Okay, we'll publish your book. Yeah, you publish Newspaper Blackout through a publisher. How did that happen?

Austin Kleon 19:48
That was just an editor that was a year younger than me. Harper Perennial, Amy Kaplan, who she's got a different name now. She said, Have you ever thought about a book I said, hell yeah, I thought about a book, let's do it, they sent me a contract, which, you know, really, in hindsight, I should have never signed. But you know, I, my, my mother in law's a lawyer, and she looked over it and it seemed fine. You know, it's like, cuz, you know, it's a poetry book. And the stakes seem very low. But I, my feeling was always with books, when people want to book from you, they'll they'll tell you, you know that that's always how I felt about it was like, it's much easier to be wanted than to try to sell something fresh or new. Now, you know, every writer now has the ability to grow an audience before they ever publish a book. But the thing is, is that you want an audience, if you want to self publish, you got to have an audience. And if you want to publish with a publisher, you need to have an audience. You know, it's kind of like, your, I think the thing that I tell people now is, it's like, it's both terrifying, and freeing the fact that you always run your own show. And it's always in your core, you are always the one doing the work. You know, I've been a published professional author for a decade now. And nobody ever comes to you and says, We're gonna do it for your kid, don't worry, we're gonna make your stuff that just doesn't happen. I mean, maybe it happens to like, a pop singer, something, you know, but it's never going to happen. Every person you see, that's like a big deal. There's just all this work that you don't see that happened before that, where they were making things happen for themselves. You know, I thought when I was younger, I'm such a genius. I'm so talented, someone will just come out of the woodwork and say bold. Here you go, kid. You know, I just I just had that stupid, wishful thinking. But you know, my agent has three things that he tells writers that I think are really, really, it's really, really good advice, I try to pass on, one, get famous first. And that sounds horrible, and terrible. But really what he's talking fame is just more people knowing you than, you know, people. So fame can be a tiny fame too. So that's just getting known in your field, like get known for something that's, I would actually change it from getting famous, I'd say get known for something, you know, first, Ted second. My second piece of advice is all publishing is self publishing. So whether you're self publishing, or whether you're going with the big five or Big Four, now, publisher, you are the one that cares the most about your work. And you're always going to be the one that pushes it and sells it and gets out in the world the best. And then three, the thing that Ted says that I think is even more true today than it was when he was saying 10 years ago is you're really CEO of your own multimedia empire to only think in terms of books is very limiting now, because you have these tools available to you now where you can just do whatever I mean, you've got the access to media now is stunning, you know, so it really becomes about what you want to do. But I always thought those three pieces of advice were really good. But I think the major thing is like don't wait on anybody. No one's going to come and night you, you know, no one's going to get out the sword and put it on both shoulders and say I knight thee you're in the club, you know, and by the time it feels like you're in the club, you don't need to be in the club. You know what I mean? So it's just so I'm always with people. I always think that young people need to get sort of the best of punk rock. earliest they can not they're like, oh Sal out there spit on us punk rock, but the real sort of the kind of punk rock that Michael Azur ad writes about in our band could be your life. These bands that got in the van, and they toured and they built audiences city by city, and they got addresses and built their mailing list. You know, that kind of great American. You know, it's the best of America punk to me, like, the band on the road. That's like, sort of the best of the American dream, you know, like building your audience slowly.

Jay Clouse 24:26
Yeah. I feel like there's like a, there's a lot of analogs, from music to all the online greeter stuff we talked about today, because they were just out there doing it going on the road, building this mailing list, every time they went to the city, it just got a little bit bigger. And that's not that different than what we're doing now. It's just instead of cities you have maybe internet communities, maybe you have these small pockets of culture. It's really about the same.

Austin Kleon 24:52
One newsletter subscriber at a time. Somebody tells their friend or his tweets that or whatever, you know, that musics interesting for me, I'm sort of a, I'm sort of a want to be, you know, music is what got me through my teenage years, I realized very early on, it wasn't going to be the lifestyle for me I wasn't going to be okay with just like being on the road and trying to entertain people, which is hilarious now because half of my job is getting up on the stage and performing for people. But music has always been an influence. And music is interesting, because musicians are always the kind of canaries in the coal mine. As far as media goes, anything bad that's going to happen will happen to musicians first. And it was true of streaming. It was well it was true of digital. It was true of Napster and all that. It was true of streaming. And it was trueThe pandemic. Musicians are really the artists, they're sort of, I can't think of another art form that's really more on the edge of whatever the world is doing. And they'll do it to them first.

Jay Clouse 26:00
Yeah, yeah. I thought when we started to see holograms of Tupac at Coachella, I was like, this is this is next.

Austin Kleon 26:08
Well isTupac. It's Gemini season right now. No one this layer, but you know, yeah, it's true. It's like, the indignities that are put upon the passed away musician.

Jay Clouse 26:19
Your three rules from Ted, if you believe them to be true, which it sounds like you do that number two rule of everybody is self publishing. What is the litmus test now for someone to decide if they should go with a traditional publisher? If they have the opportunity?

Austin Kleon 26:34
Oh, great question. I think it has a lot to do with business goals. It just depends. It depends completely on the person depends on what kind of stuff you're writing. You know, for me, my books do really well by the cash register, at the paper source or the, you know, Urban Outfitters, or wherever. Now, these books have taken a hit during the pandemic, because nobody's in person anymore. Yeah, so those books take a little bit of a hit. But, you know, like, I'm reading a book right now on how to take better notes. And I forget the guy's name. But it's like, that's a very niche.

Jay Clouse 27:18
Yeah.

Austin Kleon 27:18
Thing that most publishers probably like, take better notes. What is the you know, whatever, I'm sure this guy's probably sold a million copies, he's probably made of fortune. The thing about self publishing that I try to remind people is that it exists on a very wide economic spectrum. So like, for example, my two self publishing heroes are on one side, a guy named John Porcellino. And on the other side is a guy named Edward Tufte. Now John Porcellino has been doing this scene called King-Cat for 30 years, I think King-Cat since like, 19, you can tell I'm not good. It's late afternoon. My math skills are bad. But John's been doing this scene for 30 years at least it's it's it's one of the greatest American comics. And in my opinion, John's never gotten rich off of it. He, you know, started when he's a kid, it's so got that punk buddha, energy to it. But john, now I think he, he just started a Patreon. And I think he's just starting to be able to save enough to have a reasonable, like, lower middle class. I mean, this is just from what I've seen of him and seen of his work. He's just starting to be able to like kind of have a decent living through Patreon and his subscribers to King-Cat. So that's like one side of the economic spectrum. On the other side is someone like Edward Tufte. Edward Tufte. He was statistician at Yale. Nobody wants to publish his book called The Visual Display of Quantitative Information. Can you imagine no one wanted to publish that book. So he self published it out of his garage, took out a second mortgage on his house. Ed sold like 1.5 million copies of these books, they retail for $40. So you do the math, even if there's half I mean, this guy's made Yeah, he's made $40 $50 million. If you do the math off of of self publishing these books and he towards like the Grateful Dead, you know, he's one of those guys. He goes around with a sound system. He sets up in a Hilton ballroom, 500 people come and they sell, you know, 300 bucks ahead, and everybody gets books and he just goes around does that and makes a killing too you know, meanwhile, John's at like a comic con, hand selling King-Cat, you know, so like, both these dudes to me are our punk. You know, like they're both. They have that DIY punk spirit that the Grateful Dead had to You know, they're doing it, they're just doing it themselves, you know. But yeah, I don't have a huge opinion. I mean, the publisher thing, to me, it's still about having the muscle of distribution and getting it everywhere. And of course, the publisher takes a little bit of the risk with the printing and stuff, but that with on demand and stuff, it's changing a lot. I mean, it'll be interesting to see where you know, what happens with my next book, you know, whether I do some self publishing experiments or not, it's still worth it for me to go with a major publisher. But I have friends that say, I'm stupid, you know, I have friends who say, why would why at this point, wouldn't you self publish something, and sell it for 20 bucks and keep 10 and make a killing. But for me, it's about just being patient. I'm planning on doing this for a very long time. And so I'm just sort of patient and to be perfectly honest, I'm not very business savvy. I mean, I'm number savvy. But I'm not really interested in being a business person, which has always been a problem for me. You know, I didn't get into this. Like, if I wanted to make money, I would have gone to business school.

View Details

Watch Colin and Samir: https://www.youtube.com/watch?v=dbOXYhjpXAc

View Details

In December I was on the Changelog to talk about my career and work, and we promised a more indepth followup on Temporal in future. Here it is!

Listen to the JSParty episode: https://changelog.com/jsparty/208

View Details

Watch him sing: https://www.youtube.com/watch?v=08AGzOmCk-s

you can see him in the Hugh Jackman story here: https://www.youtube.com/watch?v=PluaPvhkIMU

View Details

Listen to Software at Scale: https://www.softwareatscale.dev/p/software-at-scale-44-building-graphql?s=r

See also Dear Sir, You Have Built a Compiler

View Details

Listen to the StackOverflow Podcast: https://the-stack-overflow-podcast.simplecast.com/episodes/why-david-barrett-ceo-of-expensify-still-takes-his-turn-on-pagerduty/transcript (from about 8mins in)

View Details

Listen to devtools.fm: https://devtools.fm/episode/26?view=SECTIONS

View Details

Listen to SDT: https://www.softwaredefinedtalk.com/330 (about 50mins in)

See also Netlify's press release: https://www.netlify.com/press/netlify-raises-usd105-million-to-transform-development-for-the-modern-web

View Details

See the twitter buzz: https://twitter.com/search?q=https%3A%2F%2Ftwitter.com%2Fi%2Fspaces%2F1eaKbNPbMmXKX&src=typed_query&f=live

View Details

  • Hey It's Delilah 2020: https://www.youtube.com/watch?v=vXWGo4EhE84
  • Hey It's Delilah 2022: https://www.youtube.com/watch?v=fZF263xBfms

View Details

Listen to Unthinkable: https://www.listennotes.com/podcasts/unthinkable-with/new-rockstars-vs-NjSZB6rJYx-/

View Details

Listen to XOXO with Jessica Szohr: https://www.iheart.com/podcast/1119-xoxo-91519105/episode/sebastian-stan-93902649/

View Details

Watch Corridor Crew: https://www.youtube.com/watch?v=QRbIhj35kyA (10 mins in)

View Details

Listen to SONY on Acquired: https://www.listennotes.com/podcasts/acquired-ben-gilbert-and-david-rosenthal-9pne_5jCY2u/ (2h 22mins in)

My mixtape queue is always live here: https://github.com/sw-yx/brain/blob/master/A%20-%20Mixtape/Mixtape%20Daily%20Clip%20notes.md

View Details

  • The Force Suite: https://www.youtube.com/watch?v=eb2zuegwcwk
  • Duel of the Fates: https://www.youtube.com/watch?v=xlYCxbBZUCY
  • Obi-Wan trailer: https://twitter.com/obiwankenobi/status/1501630732619423744

View Details

Listen to the Data Eng podcast: https://www.dataengineeringpodcast.com/snuba-event-data-warehouse-episode-108/ (11mins in)

  • https://blog.cloudflare.com/http-analytics-for-6m-requests-per-second-using-clickhouse/

Transcript

James Cunningham

Yeah, so I'd say as far as all the decisions that we made in order to go into this new platform, one of the biggest leaders was that we had a big push for having environments be kind of like a first class filtration, we had to build a new dimensionality of data across all this denormalized data, essentially doubled the storage that we had. And then we said to ourselves, like all this is great, this looks cool. environments are dope. But what happens we want to add another dimension and have dimension or we're just going to continue to, I guess, like, extrapolate across this data set and eventually end up with 100 terabytes of, you know, five different dimensions of data. So we said ourselves That we kind of needed a flat event model that we'd be able to kind of search across and to ourselves, you know, there are a few other pieces that we want. And on top of that, we want to be able to search across these arbitrary fields that we really, really looked into whether those are custom tags or something that we kind of promote, whether that is like releases or traces or searching across messages. We didn't want that to take as long as it did. And some of the other parts is that we have all this data stored in, you know, this tag store and all these searches that we have to go through. But we have in a completely different side for time series data that again, had to have that dimensionality in it. If we search across these arbitrary fields, the next thing that a customer would ask for is, Hey, can I please see a pretty graph. So if we could boil down that search, and that time series data into the same system, we'd be destroying two systems with one rewrite.

Ted Kaemming
And also like as part of that process, I mean, you kind of always have this Standard checkpoints, you know, like the replication and durability is obviously really important for us ease of maintenance is huge, low cost as well for us. So even that just kind of ruled out some like the hosted magic storage solutions, like those kinds of pressures.

Tobias Macey
And as you were deciding how to architect this new system, can you talk through some of the initial list of possible components that you were evaluating and what the process was for determining whether something was going to stay or go in the final right?

James Cunningham
Yeah, of course. Um, so our first, I guess, thing that we kind of crossed off is no more orientation, Postgres to serve as well, probably wouldn't, you know, we hope that we could engineer a good solution on top of it, but ultimately, we decided we probably needed a different shape of database to get the query across. We've kind of had like, five major options. We had document stores, you know, we had Some sort of Google proprietary blend, because we are completely on GCP. We had, you know, more more generic distributed query stuff, you know, a little bit of Spark, maybe a little bit of presto, we took a look at other distributed databases, we ran a good amount of Cassandra and my old gig. So I know how to run that. And we also said, like, Oh, hey, we could just like, put data down on distance ourselves and not have to worry about this. Some of the other like, serious considered things that we had was a was a column restore some of these other ones that we actually like kick the tires on, was to do we kick the tires on Pino, and Druid. And ultimately, we found click house as a commerce store. And we kind of just started running it. And it was one of the easiest ones to kick the tires on. Some of these other like, I guess, you know, columnar stores built on top of distributed file systems. It really did take a good amount of bricks to put down in order to get to your first query. And some of the things that we wanted was figuring out operational costs on that. We want to be able to iterate across question You wanted to be able to kind of pare down all the dependencies that the service had. You know, while we weren't afraid to run a few JVM, or to run it, you know, a little bit of HDFS, that was something that realistically, I might not want to have to have, you know, an entire engineer dedicated to running something like that. And on the antithesis of that, you know, we can choose some of this Google proprietary blend, but how did it feel to go from having century only require Redis and Postgres to now saying, you can only run the new version on Google? Yeah, as a little bit silly. So we ended up really just getting through an MVP of I think, both Kudo and click house, and one of the one of the biggest ones that really did kick us and for anyone listening, go ahead and correct me if I'm wrong. But one of my memories was that one of our engineers, you know, started loading data into q2, and you didn't really know when it was there. It was great for you know, being able to being able to crunch down about your numbers, but one of our biggest things that you did kind of hint at Is that we do need real time data and to be able to write into this data store, and then to be able to read it on a consistent basis with one of the things we need it, we have the ability to have a feature called alert rules and what you say, hey, only tell me if, you know, any event with the tag, you know, foom in got in and the value equals to what it was only maybe like 10 events in the last hour. And you want to be able to read that pretty quickly so that when that 10th event comes in, you're not waiting minutes until that alert shows up and click houses able to do that. And so that kind of just got its way up to number one.

Ted Kaemming
Yeah, I think also in general, like, at century we try and kind of bias a little bit towards relatively simple solutions. And it seemed like click house there was, at least to us, based on our backgrounds, it seemed more straightforward to get running. And I think that as well. appealed to us quite a bit. The documentation is pretty solid. It's also open source. You know, a lot of us will be but you know, click house has a pretty active repository. They've been very responsive when we've had questions or issues, they're very public about their development plan. So I think a lot of these things just kind of kind of worked out in its favor.

Tobias Macey
Yeah, it's definitely from what I've been able to understand a fairly new entrant into the overall database and data storage market. But I've heard of a few different stories of people using it in fairly high load environments. So I heard about the work that you're doing with Snoop, as far as I understand. CloudFlare is also using it for some of their use cases. And they definitely operate at some pretty massive scale with high data volume. So it seems like a pretty impressive system that has a lot of different capabilities. And I was pretty impressed when I had some of the folks from all tend to be on the podcast A while ago to talk about their experience of working it and working with some of their clients on getting it deployed. And I'm curious what some of the other types of systems you are able to replace with click house were given that you as you said, you have these four different systems that you had to be able to replicate event data to Were you able to collapse them all down into this one storage engine.

Ted Kaemming
Yeah. So like in our code base, the those four different things, the TSP search, tag store, and node star all have kind of abstract service interfaces that really just sort of evolved from the fact that it's a open source projects, people wanted to use these these different methods for it. Three of those now are backed by the same data set and click house. So all the TSP data comes directly out of click house, there's no pre aggregation that happens anymore. It's just you know, we're just ripping over individual rows competing those aggregates on demand, at least for now. Search. Some of the data for search still lives in Postgres, but a lot of it now is it just runs in from log data in House essentially, tax store, we've removed how many servers were we using for tags?

James Cunningham
We had? Oh, goodness, like 12 and one haiman 3232 core and maybe 200 odd gigs. But you know, getting getting into some of these other stats that we have a little bit more down the list. We went from 52 terabytes of SSD to two terabytes. Which is a good number to break down from. Yeah,

Ted Kaemming
so we were able to absolutely, yeah, we were able to decommission like an entire Redis cluster, like cluster in quotes, and this entire Postgres cluster with drastically less hardware. And yeah, just the fact that it all reads from the same click house cluster. And there's none of this weird replication lag between all these systems. That's it's a huge positive.

Tobias Macey
Can you talk a bit more about the overall architecture of Snoopy itself and just some of the operations characteristics and experience that you've had in terms of click house itself and maybe some of the early pain points and sharp edges that you ran into as you are getting used to this new system.

Ted Kaemming
Yeah, sure. So I guess just to give you kind of a brief overview of the architecture, because it's, it's something that's really not particularly fancy. It's really Snoopy is just a small, like, a relatively small flask application at least small when you compare it with like the remainder of century. So it's a Yeah, it's a flask application and it just speaks HTTP. It's in Python. It's generally stateless rights as they come in. They go through a Kafka topic. It's published directly from the the remainder of the century kobus. The central code base in this new book codebase are actually completely independent, at least as far as like the project. Get to read. So century rights in this Kafka topic. This new book, consumer picks them up, does some de normalization Some data munging you know, kind of conventional Kafka consumer stuff and writes large batches of events to click house. We don't use the click house Kafka engine or anything particularly special for that we just use the complete Kafka driver from confluent, which is live already Kafka based. And that's all in on Python reads just me about half and also over HTTP. Not anything also particularly fancy there. We have some various optimizations that we we do kind of just a general query cache and duplication of queries. So that way, we don't have large queries that have long run times, executing concurrently on the cluster. We do some optimizations where we move some stuff from the where clause in click house sequel to a pre WHERE clause, which is basically the closest thing you get to any sort of query optimization. And we just some other just like query rewriting stuff based on our domain model. There's other rate limits and Quality of Service metrics logging type stuff that happens in there as well. As long as that all goes well, responses returned to the caller with something that is almost identical to what you would get if you're just interacting with the HTTP interface, click house itself. If it doesn't go, well, that ends up getting locked a century. And we we then kind of entered the system again to go to go look at it. So that's kind of a brief overview. It's, it's nothing particularly fancy.

Tobias Macey
Yeah, sometimes simple as best, particularly when you're dealing with something that is critical path is this.

James Cunningham
Yeah, for sure. Yeah, so talk a little bit of the early engineering that you might have alluded to. One of our I say one of our biggest early difficulties was that we've you know, we've we've spent a lot of eggs in the Postgres basket. So we turn this on and, you know, the queries that we've set up for a rather oriented database are just like, absolutely not met. columnar store, which is a crazy thing to say,

Ted Kaemming
it's so easy to type select star.

James Cunningham
So easy spelling is Howard. But, you know, there's there's some things that just absolutely did not cut over to this column or store that we kind of had to like redesign how we had every query, you know, a century kind of had a quick application of order by some arbitrary column and then limit by 1000, to be able to like, explicitly hit a binary tree index in Postgres. And that didn't matter in click house, you know, any sort of limits just kind of truncated, what rose you're returning if you applied an order by that would have taken your entire data set and ordered it so many other things is that we have a lot of select stars everywhere, like Ted said, and that is, honestly one of the worst ways to operate on a column or store because you're just reading from every liberal file. So maybe change that a little bit. Some of the other things that we kind of had, you know, we we didn't have a quarter planner, so there was a lot of like, Taking a query and just kind of moving pieces around. One of the things that Ted alluded to was the notion of a pre where when you have, you know, multiple columns that you want to you want to filter on and aware clause, you kind of have the ability to give click house a little bit of heuristics and say, This is the column that we believe has the highest selectivity. And you put them in a pre WHERE clause, it will read through that column first, you know, decide which block IDs it's going to read from for the rest of them. So if you have something along the lines of an event ID that for us is, you know, global unique, that might have a little bit higher selectivity than environment or you know, it release might have a little bit of higher selectivity. So we were kind of working around these edges by just swapping variables around and saying, Well, did that make it faster? And then we said, Yes, we kind of threw some high fives around.

Ted Kaemming
Yeah, they're like, also just the integration into some of the query patterns we have in century was a bit of a challenge. Click house is really designed to do particularly well with inserts, it does not do particularly well with updates or deletes to the point where they are actually like syntactically valid in the like click house flavored sequel. So we have except century as a whole is particularly insert heavy but it's not insert only and so we had to kind of work around. Basically the fact that click houses is extremely oriented towards inserts. We kind of ended up with something that actually James mentioned he worked on Cassandra in a past life I did as well. We ended up with a architecture that is fairly similar to Cassandra tombstone for how we delete data, where we kind of implement our own last right wins semantics on top of the replacing merge tree and click house. There's a long blog posts About how we do that, as part of, we have this field guide series that we've been working on where we go into some of these like weird things that we do with cookhouse. Similarly, for things like those alerts that James mentioned earlier, we basically require sequential consistency to be able to execute those queries effectively. That becomes a problem when you're dealing with multi master replication, like click house does. So we ended up having to do some kind of dodgy load balancing stuff, where we, we don't have a literal primary for all rights, but we kind of have this ad hoc primary, that all rights go to as long as that is up. And for some subset of queries, they are only allowed to evaluate on that that primary. It's not like guaranteed sequential consistency and like a true distributed system sense but it's it's good enough for what we need. It's also particularly complicated because the system doing the querying is not smoother. It's lives in the century codebase. And so we basically need to be able to notify the century codebase that these rows have been written to click half from Cuba as part of this. So we ended up having to engineer this solution where we have a commit log coming out of the smooth Kafka consumer that the century application is actually subscribed to that Kafka topic, the commit log Kafka topic and gating its own progress based on the progress of this new writer. There's also a blog post that goes into more depth about how we specifically implemented that on the century blog as part of this field guide series. But just yeah, things like that, that you like we knew things like the mutations were going to be something that we had to manage. We didn't particularly have strategy around it and The sequential consistency stuff probably caught us a little bit more by surprise than it should have, as we were doing some of our our kind of integration testing in production with us. And notice that some of the queries weren't exactly returning what we thought they would have. So that was that was something we also had to solve.

Tobias Macey
And you mentioned that one of the reasons that you ended up going further forward with click house than any of the other systems is that it was pretty easy to get up and running with and seemed fairly simple operationally. So I'm curious what you have found to be the case now that you're actually using it in production and putting it under heavier load in a clustered environment. And any sort of useful lessons that you've learned in the process. Do you think anybody else is evaluating click has to know about?

James Cunningham
Absolutely. So this is this is my time to shine.
So one of the things that I kind of had to had to make a concession Is that I've never worked with a database that possibly be bound by CPU. It's always been, you know, make sure that your disks are as fast as possible, you know that the data is on the
disks, you got to read from the disk.
And the reason that you know, it very well could be bound by CPU is that, you know, I've seen compression in the compression in the past, and I didn't really understand what compression could actually give you until we returned click house on sort of compression realistically, you know, brings our entire data set, you know, we kind of alluded to it earlier, brings our entire data set from 52 terabytes data, two terabytes, and about 800 gigs of those are surprisingly uncompressible because they're unique, you know, 32 character strings. If anyone can tell me a, an algorithm that helps compress that, I think that we made a TV series around that or something like that, but you know, for the for the right The rest of the data, it's so well compressed that being able to actually like compute across it does so well, you know, we, we run a small amount of servers to supply what is a large amount of a data set? You know, we've, we started, I wouldn't say that, like, if there was any advice to anyone out there, start by sharding. Never Never shard by two, because two is a curse to number in terms of distributed systems. But we really just started with, you know, three shards, three replicas. And you know, with that, with that blessed number of nine, we haven't gone up yet. We kind of have a high watermark of a terabyte per machine. Google gives a certain amount of read and write off that disk based on how much storage you have. And we've kind of unlocked a certain level and one terabyte for a machine on if anyone else is somehow running click house on GCP I guess on GCP that is, you know, we're we're about to apply our fourth shard. But realistically, some of the other things that are operationally sound is That, you know, as as much as we'd all love to, I guess like hammer on or praise XML. It is it is very explicit about about what you have to write in. Its configured via XML. There's no runtime configuration that you're applying. There's no you know, magic distribution of writing into an options store and watching that cascade into a cluster
auto scaling.
Yeah, I'm not I'm not, you know, crunching in any Kubernetes pods or anything like that. One of the things I'd be remiss to not say is that you did mention CloudFlare is running click house and shut out CloudFlare they run real hardware and I'll never do that again in my life. But uh, one of the things that they alluded to and one of their kick ass blogs about click house is that it replicates so fast that they found it more performance that when a disk in a like raid 10 dies, they just wipe all the data, rebuild the disk essentially empty and just have click house refill it itself. It is crazy fast in terms of rough application. Since all that is compressed, it really just sends that across the wire. Some of the other stuff that, you know, we found completely great in terms of operationalize is that since it is CPU bound, it's mostly by reads when you are right heavy company, and you're now bound by reads in terms of cost of goods sold, like, I can throw around a million high fives after that. It's great to just watch, you know, people log in and actually look at their data and watch our graphs tick up, instead of just saying, Well, you know, we spent a lot of spend a lot of money on this, and people are only reading, you know, 1% of their data. One other piece that I'd be remiss to not answer is that some some niceties about click house that kind of separated for a few of the databases I've worked with is that the ability to kind of set some very quick either like throttling or kind of like turbo ng settings that you have on a client side. So some of the things that we might do is that if we know that a query is going to be expensive, we could you know, sacrifice a little bit of resources and Kind of like turn it back fast. So there is just a literal setting that is Max threads where I say, you know what, I really want this to run faster set max threads to eight instead of four. And it does exactly what it says it does, it'll run twice as fast if you have it twice as many threads. So they're pretty easy things that we kind of run around in terms of operational wise, I think that as far as a database goes, you know, one of the hardest things to do is just kind of read all of the settings to figure out what they do. But after you kind of get versed in it, you'll understand you know, what applying this setting might be or at what threshold, you might set something, and it's not very magical, you know, some of these settings, realistically are for very explicit types of queries that you'd only supply from a client side if you really needed them. So fairly, I wouldn't go so far as a simple like the configurations almost like dumb, and then either straightforward, very straightforward. Yeah.

View Details

Listen to HashiCast: https://www.listennotes.com/podcasts/hashicast/episode-5-paul-dix-influxdb-PGC9o3DmNyc/ (12 mins in)

Benefits of TS DBs:

  • Compression for timestamps
  • Write throughput because append-only writes
  • Downsampling high precision for 7 days, then 10min summarizations for 3 months, then 1hr summaries
  • Query patterns - Instead of SQL, Influx uses InfluxQL

More on the TICK stack: https://docs.influxdata.com/

View Details

full recording: https://share.transistor.fm/s/ae30126a

Timescale Series C: https://news.ycombinator.com/item?id=30430000

Timescale vs Influx: https://news.ycombinator.com/item?id=17766566

Timescale vs Clickhouse: https://news.ycombinator.com/item?id=29096541

Timescale launch: https://news.ycombinator.com/item?id=14984464

View Details

  • https://www.thefader.com/2020/07/31/foushee-gets-what-shes-owed-in-deep-end
  • sky - good grief: https://www.youtube.com/watch?v=LoSHncRm_8M

View Details

Listen to Honestly with Bari Weiss: https://overcast.fm/+vpWZ6rHT0 (2mins in)

  • Kim passing the "baby bar": https://www.bbc.com/news/entertainment-arts-59642262
  • More on Bari: https://www.bariweiss.com/resignation-letter

View Details

Listen to How I Built This: https://www.npr.org/2021/11/12/1055432035/coinbase-brian-armstrong

View Details

Listen to the Oxide Twitter Spaces: https://www.youtube.com/watch?v=faY7kWHQuNE (starts 5 mins in)

View Details

This has been edited down to 10 minutes. Listen to Indie Bites for the full story: https://www.listennotes.com/podcasts/indie-bites/growing-to-4m-despite-apple-rn2HtUxBjfL

More:

  • https://boingboing.net/2019/10/16/robber-barons-2-0.html

View Details

Watch this chat in YouTube (with screenshare): https://www.youtube.com/watch?v=ECUvzJ1r6bU

Notes on the Second Brain movement:

  • https://www.swyx.io/tiago-forte-second-brain
  • Week 1-5 of my Second Brain workshops
  • Previous mixtape episodes

View Details

You can check out a great lyrical analysis of MGK vs Eminem here: https://www.youtube.com/watch?v=PyW8h1XmkAk

View Details

Listen to Business Breakdowns: https://www.listennotes.com/podcasts/business-breakdowns/the-new-york-times-the-Eb-7_okaSv0/ (23mins in)

View Details

Watch/listen to Stanford ETL: https://www.youtube.com/watch?v=ZMJa231UfwY (19mins in)

View Details

Listen to Acquired.fm: https://www.listennotes.com/podcasts/acquired/peloton-ZR3_Mv1kJ7C/ (53 mins in)

View Details

Sorry there's no editing in this one - too tired. I've mentioned I did college acapella. This is one of my fave arrangements from another acapella group in my school - and one of the most successful, in that they've done tours and stuff!

Listen to more Penn Masala: https://www.youtube.com/watch?v=Azvq1ua06wA

View Details

Listen to Philosophy Bites: https://philosophybites.libsyn.com/paul-bloom-on-psychological-hedonism

View Details

Watch the livestream: https://www.youtube.com/watch?v=E40KwlxZJFI

View Details

Listen to Cal Newport's podcast https://overcast.fm/+b1V1bNX7g (40mins in)

I have a related essay on The Power of Lampshading.

View Details

Listen to MFM: https://overcast.fm/+rTsXrj2F0 50mins in

View Details

Lots more songs on Kurt's YouTube!

  • 2009: Don't Stop Believing https://www.youtube.com/watch?v=xIoSTbPt_PI
  • 2010: Just A Dream https://www.youtube.com/watch?v=a2RA0vsZXf8
  • 2013: Cups https://www.youtube.com/watch?v=6y1aOg_UO_A
  • 2019: Proposal https://www.youtube.com/watch?v=hj41byzzTqs
  • 2021: Goodbye https://www.youtube.com/watch?v=V3-rLh0ZtaQ

View Details

Listen to Indie Hackers (35mins in) https://www.indiehackers.com/podcast/212-arvid-kahl

View Details

Listen to the Indie Hackers podcast https://www.indiehackers.com/podcast/232-sonal-chokshi (35mins)

Related essay: Particle/Wave Duality Theory of Knowledge

Transcript

I think what's happening is this other phenomenon, which is not only about content, but it's about code building, which is a lot of people on Twitter and social and their own like, one person media brands essentially creating cults. And I think a lot of those are not just subscribers and listeners and audience, but their followers. And a lot of the people I see who are doing that right now are focused on viral hits or like, trying to just get popular. They're not actually thinking about a body of work, like a portfolio of work. And I think a lot of companies and start ups and individuals and even one person media brands should be thinking more strategically about a portfolio and body of work. Well, that's so interesting because there's this sort of polarity between OK, like, viral hits that are sort of trending and that are riding a wave. And these things are pretty good because they can spread far and wide and capture a lot of people who ordinarily would have been exposed to your ideas.

Then there is this alternative, sort of like evergreen backlog of content you can produce that people will go back and read for years to come. Like, First Round Capital is really good at this. They put together, like, several websites where I can go and search for great startup advice from years ago. This is evergreen. And that's also, like a valid way, I think, to reach people. If you go through the right channels, for example, search engines and optimization being found on Google is huge. There's perhaps almost no bigger way to reach people than that.

And so when you are putting together something like future, as an outsider looking in, my knee jerk reaction is like, these are viral hits. These are things that will cause an uproar when they're written and they're very timely. But like two years from now, they might not be as relevant or there might be something that people reference, but that people aren't sharing to such a large degree. And the downside to that is, like, how do you build over time? How do you grow an audience over time? Will people get basically bored if it's the same thing? Or will people keep coming back if you don't continue producing new viral hits? Yeah. Well, this is an essential question of any media operation. And I don't know how you do your editorial calendar Courtland, but I think about everything in terms of stock and flow. I think was it Robin Sloan or someone coined this? It's an economic term, but he coined it in the context of content.

But I think of stock and flow. So, like, the flow is the stuff that you run for volume and cadence and to kind of build an audience. To be clear, you should not be running a bunch of junk. So people ask me, like, number one advice by editorial strategy. And my advice is sometimes it's more about what you don't run and what you kill than what you do run. I think about it in terms of stock and flow, and then the stock is sort of the big ideas that you might put out there. So they're not just things that are timely.

And when you're talking about stuff that might get outdated, some of our best content is very windy, like it keeps coming up over and over and over again. It's evergreen, and that is really critical for creating immediately. You have to have both. I'm reading a quote from Robin Sloane when he says Flow is the feed, it's the posts and the tweets. It's a stream of daily and sub daily updates that remind people that you exist. And stock is the durable stuff. It's the content you produce that's as interesting in two months or two years as it is today.

It's what people discover via search. It's what spreads slowly but surely building fans over time. And so there are these pieces that have come out of a 16 and other media properties that are like, definitely stuck. Like Marc Andreessen writing It's Time to Build or his idea of sort of product market fit that he wrote about over a decade ago, or writing about Software eats the world. These are things people talk about forever. Legion writing about the passion economy and the greater economy, the idea of 100 true fans. There are these ideas that just last forever that are certainly stuck.

Yes, except I will say it's interesting because in the examples you cited, two of them Marc's post on its time to build and Lee's post on the passion economy, which also grew from the conversations with the consumer team here. Both of those are also very much in the zeitgeist and about the timing that they ran in. And so Lending posts like Evergreen post will do really well regardless of the time they're in the product market. Fit post is a great example of that because that is an evergreen essential idea that keeps coming back over and over and over again. Ben's example on this front is his famous like, good product manager, bad product manager post, whereas it's time to build. As viral as that essay was and oh my God, it was really viral. It also is of the time.

And in that zeitgeist of the pandemic and his frustration, which he writes about in that piece that are you kidding me? We don't have enough surgical masks, eye Shields, and medical gowns. As I write this, New York City has put out a desperate call for rain ponchos to be used as medical gowns rain ponchos in 2020 in America. Those are all his exclamation points. But that was very much a call to arms. And in that zeitgeist, it was very motivated by the time of the pandemic. The other variable in what you just discussed is it's not just the evergreenness or not, and the stock versus flowness of it or not, it's also the timing and the zeitgeist. And timing plays a really critical role in content and viral hits as well.

So what are your thoughts on contributing to both of these categories? Because I think there's probably different strategies for producing a viral sort of flow hit, let's call it, versus an evergreen stock hit. And like, no one's good enough to reliably sit down and just say, I want a viral hit today. Just get it whatever they want to. But at the end of the day, if you're trying to produce a publication that is going to be successful in these two areas, you probably have some principles, some thoughts about what will make something viral and what will make something stuck. And also, since you're working with outside writers and contributors, so it's like you don't even have full control over this. I know this is what makes it so hard and also fun. Yeah.

And I actually have to say it's going to sound so braggy, but I don't mean it to sound braggy. One of the things I pride myself on as an editor, from both my work at park to Wired to here is sort of like a track record of viral hits, and there are certain variables that go into all of them, and timing is a big part of that. But it actually goes back to where we started this conversation, which is differentiation. One of the things that I'll tell people is because a lot of times I think people play this content game that they're trying to compete for who has the first take. And this is the exact problem that a lot of media outlets have when they were covering news. It became extremely commoditized very fast. And so the real strategy here is to figure out what your unique mode is.

When I first started at a16z, one of the partners came to me and was like, oh, my God. So and so wrote that post. I wanted to write phone all. We should have gotten it out last week. And I'm like, Dude, if someone else wrote the post, you could write, you're writing the wrong thing. And so you shouldn't be writing that post. You have to write something that only you can do.

Like when Connie and I wrote the we chat piece, that was something that only she could do in the unique way from her vantage point that nobody else could do. And so it's okay that we spent a couple of months working on that because nobody else could beat us to that game. And so when you're playing the commodified game, it's a race at the bottom. It's diminishing returns. It's all those phrases. You're always playing the wrong game. So does this compete with the idea that when I look at pieces that go viral, they're often part of a bigger conversation that is very popular during election season, the viral hits are about the election.

And so in some ways, they're not that unique because they're about a topic that everybody's discussing. But within that constraints, they have to be unique. Yes. And to be clear, I think there are cases where sometimes you're right. Like in the zeitgeist, like the creator economy is a great example. Right now, everybody is talking about the creator economy as it applies to crypto and the intersection there. And I feel like every day on Twitter, I see 20 of the exact same piece in different forms from different people.

Now, that's exciting to me because that shows a lot of energy and excitement. It's also, quite honestly, a little boring to me because everybody is saying the same thing. And so to me, that's three things. One, is there's a timing factor. And yes, you're right. Like, in a time when there's a hot topic or something in the zeitgeist, everyone will start to be circling around the same ideas. And when you're playing that game, you have to be first to the conversation.

The other way to play this game is to go later in the conversation. And my former colleague got Wired Mark McClusky. He was the editor in chief of the Sports Illustrated Online after this. And he wrote a book on sports performance. He coined this thing, which I call the McClusky Curve, which is the timing of this. So if you go first, you want to either be first in the cycle or you want to go later and add a very differentiated, deeper, in depth take that nobody else has where you're adding value to the conversation. But if you go anywhere in the middle, you're just in the noise.

And frankly, I think a lot of people are doing that. And look, I'll tell them it's a great strategy because you get a lot of followers, you get a lot of attention in the moment. But I guarantee you and I would put good money on this. Like, I would take a bet on this with anybody who wants to bet me on this. Those people are going to ask them to out. They're not going to grow past a certain point because they're not thinking about it in terms of a body of work. They're not thinking about their moat, their competitive differentiation, and where they're adding value, and they're not playing a long game.

And so you had to play the trade offs there. To some extent, that makes a ton of sense. And I've noticed this with any hackers, too. Like, if some media event happens and we push out, quote, unquote news to our audience about it, because it's very valuable to inform people like, hey, this just happened. You should take advantage of it. We could write something that's extremely sparse and mostly just the headline like, hey, this happened, and it'll generate a ton of discussion, a ton of discussion if it's super new. But after that, the McCluskey Curve kicks in and it's much more about providing a ton of detail, a ton of analysis, a ton of educating people how to think about certain things or providing a point of view that is not necessarily required upfront but definitely is required to stand out from the noise later on.

Well, the media has a phrase for this too, which is like first day story, second day take third day story. But I'm actually talking about something even bigger and in your case, you building Indie Hackers as a brand. There's also Besides individual pieces and how they do and don't do in the timing that we just talked about that you just shared, there's also kind of a meta level to this, which is the phasing of the brand. So what's you did a few years ago in the early days of Indie Hackers is very different than what you do today because you're in a different phase and that's also important to consider when you're trying to build your content. Operations.

View Details

Listen to Venture Stories: https://www.listennotes.com/podcasts/village-globals/greatest-hits-what-kevin-wQPbLh6JyXv/ (19mins in)

View Details

Listen to Copyblogger: https://www.listennotes.com/podcasts/the-copyblogger/the-truth-about-the-creator-g3O9n_JY4aK/ (30mins in)

View Details

Full talk on youtube: https://www.youtube.com/watch?v=2iacVfTQA7k

View Details

Watch/Listen: https://www.youtube.com/watch?v=ZpiNUKpGI88&list=PLH8IAbt5kqZOFeFAda17MaUe2wrZi9xku&index=32

View Details

Listen to the Lex Fridman podcast (23 mins in) https://lexfridman.com/kevin-systrom/

The Invisible Asymptotes essay

View Details

Listen to the Creator Lab: https://www.listennotes.com/podcasts/creator-lab/lenny-rachitsky-lennys-bUBLKO_NIG4/

Growth Loops are the New Funnels: https://www.reforge.com/blog/growth-loops
The Racecar Growth Gramework: https://www.reforge.com/blog/racecar-growth-framework

Transcript

today for the sake of focus we're going to start with this growth framework called the race car growth framework which i thought was really incredible um so let's just kick it off man from what i could see from the outside from reading your work there's four components to this product growth which is

  • the first one was the growth engine
  • the second one is called turbo boosts
  • third is lubricants
  • the fourth is fuel

we're going to explain what all of those are in a second um but before we even go into the details could you just share like a bit of context around what who who is this for and who is it not for

yeah because absolutely this isn't for every single company in the world and um you know you've probably applied this in many different contexts but yeah curious what what stands out to you there so maybe zooming out even further i spent a lot of my time with this newsletter looking into growth stories and how growth strategies and essentially understanding how all the most successful companies grew and i've spent a lot of time on the early days of how they got their first say a thousand users and then i've also spent a lot of time on the longer term down the road strategy of how do they grow long-term what can what needs to work for a company to continue growing and so now there's kind of these two ends of the spectrum that are coming into focus for me of how do i get your early users and then how to long term grow your business so this race car framework is focused on the long term how do you grow eventually and long term and then we can even talk about how to get your first users and then i'm slowly filling in these puzzle pieces through more and more of my research of how companies go from zero to say a million and it turns out it's it's not as mysterious as people think there's not actually that many options it's more of a question of which of the options do you choose and then how do you become the best at that or do something remarkable within that option so so we could start at the end and then we can come back to the beginning days

so the end is this race car framework and i this is uh based on work that i did with a buddy of mine dan haukenmeyer so this post is something we both put together and what we found is there's a really cool mental model of thinking about how businesses grow long-term and it turns out you can think of your company like a race car which includes these four components that you're talking about there's the engine there's uh turbo boosts lubricants and then fuel and the engine is the most important part because that's what drives your business and

it turns out there's essentially four engines you can choose from as a company and uh and these engines are self-sustaining loops that keep your business growing and there's kind of like a fuel that goes into it and then the output is growth so should we dive into those yeah yeah so

i love that so i'll repeat kind of what i heard and understood and then you can clarify if i heard it wrong so the growth the growth engine is the most important part is self-sustaining the turbo boosts from what i understand are more like these one-off events or big hero moments maybe events a super bowl ad and they can maybe make a big splash but they're not self-sustainable the way a growth engine is and we'll go into the details of what that means and then the lubricants are more about running efficiently exactly things that make everything run better exactly and then the fuel is what's actually needed to make the car run so the input that's needed that's that's awesome so maybe yeah we can start off by going into the growth engine itself so i've heard you talk about loops and engines and i have a visual of this thing going around and people talk about flywheels i found like a lot of the jargon sometimes is like overly used but in this case i think it actually is really helpful to see it visually um because i think if you think of like a growth engine in a traditional business you think of a marketing funnel which is not exactly the same thing but a lot of the time when you're getting new users and getting them to convert and become paying users and then spread and share something like in business school you might learn it like a funnel and i think what i like about this is it's not necessarily like a linear thing that just goes from top to bottom it's more something that keeps feeding itself is that accurate before we move on from there yeah that's exactly accurate and there's this uh group called reforge who was one of the first uh i guess um groups that kind of figured out that this is the thing that matters more than funnels so they kind of have this famous blog post that loops for the new funnels and in reality they're both important like funnels are a part of these loops and so they both uh are worth thinking about but when you're starting out it's a lot more important to think about the flywheel slash engine slash loop they're all kind of the same idea and it's just your point there are these things that kind of feed themselves and keep going yeah and so what we're going to do is we're going to be talking about a lot of theory but what we're going to try to do is layer on examples wherever possible so if we're talking about a funnel or a sorry not a funnel a a uh flywheel is there one that we could just explain to people yeah like airbnb's flywheel or a company that people know about

ENGINES

let me share the four engines first and then we can talk about yeah that sounds great leverage each one

so essentially the way to think about this is if you think about like all the things you can do to grow your business there's like pr there's events there's paid ads there's seo there's this like whole collection of options and what this concept tries to help you with is which ones should you focus on deeply and which are just kind of these one-off things or just micro-optimizations

so the engines are the there's only four ways your business is really going to grow long term and the four ways are

  • performance marketing and the way that loop works is you spend money to run an ad the ad drives customers the customers generate revenue and you can feed that into more ads so that's a pretty straightforward one

  • the next is virality which is what we all know and love when we think about viral growth essentially users draw new users and those users join and invite their friends and their friends join and it goes on and on and they'll give examples but maybe an example that one is like yeah snapchat or telegram whatsapp facebook things where you're kind of encouraged in by your friends and we can talk about like how to know which of these your business is most naturally suited for because it's not like choose any it's usually based on the type of product that you have one is going to fit best and there's actually this kind of growing meme of first time founders focus on product and second time founders focus on distribution and a lot of that is that's actually very true i find and knowing these engines is how you think about that is almost working backwards from i have a unique way of being really good at one of these things what product can i build to take advantage of that that's that's in it that's a mental model that i find useful so anyway let me go through the four and then we can talk in more depth

  • content is the third one and that includes seo as one and usually the the most popular one but also includes like viral videos and content people share with each other so an example of a company that grew primarily through content is like glassdoor or uh trulia or quora and reddit where you just think of like looking for a thing and then shows up in your google results and then you go find it yeah

  • and then the fourth is just sales where you hire a salesperson they generate they find customers customers generator revenue hire more sales people that's usually the most common engine for enterprise businesses b2b businesses like a force i think it's probably a good example of yeah salesforce is a classic example the king that's right

yes all right that's awesome and i i know that you've mentioned those are the four the four main ones in the blog post you also mentioned that there's some others people think about but like partnerships physical space um so like physical space could be retail stores uh like a showrooming thing that casper done for example came to mind for me um shelf placement casper is a good example where they they're almost exclusively performance marketing driven and then they started expanding into other engines like retail where like the loop of a physical location in physical placement is you pay money for a location either on a shelf or a on a block people walk by you know for those people buy stuff generate revenue and keep the business going sometimes it's just like a brand building thing where it's not meant to make money but that's i think directly yeah yeah and then the other one was partnerships which we'll just touch on briefly because even though it's not part of those those four components i think increasingly we're seeing really interesting examples of this

even in the creator world um that both of us semi-playing well you're definitely playing and i'm partially playing in now you're definitely playing it yeah yeah i'm definitely kind of in there nowadays um but yeah so i think it's an interesting one as well because a lot of people don't always think of this and maybe it's not the primary way to start but for some people it can be a huge growth driver i mean even at google when i was there and that's a really obviously huge established business channel sales was uh channel partners were a huge uh driver for us um even on a smaller scale affiliates for other companies i've worked with as well and even on a smaller scale if you're an independent creator i would think about partnerships too because um you know the way i'd see it like i did something with the hustle newsletter that wasn't like i didn't pay for anything but we both like i brought something to the table and they wanted to feature it so there was a way for me to be featured in their their newsletter where there's distribution so um i think it's probably worth mentioning those two as well but for the sake of this conversation we'll we'll start with those four

WRINKLES

an important wrinkle to think about when we talk about this stuff uh the kind of the core idea of an engine is that it continues to grow your business and sometimes partnerships do that where they continue to draw traffic sometimes it's kind of like a one-off event and it doesn't mean you shouldn't do that like other those other parts of the car are great it's just they're not going to continue driving growth and that's the core is you need to find a way that continues that growth otherwise you're just going to flatten out it again um

another really important point of this concept is it's not that you just pick one and you'll win it's to actually do well you have to become one of the best in the world at that engine in order to have a chance and the way i think about it is you kind of find the cross-section of your market and one of these engines where you could be in a huge company if you're the best at say content for travel and another business can be amazing at performance marketing for travel so as an example airbnb is incredibly successful as a virality driven travel company but booking.com very large successful business is also really big but they become really good at performance marketing and and then there's like tripadvisor which became really big through content so the way to think about this is you just need to find a way to become the best at your market in one of these engines to have a really good chance and the main thing the main issue companies have is they don't realize how they have to become incredibly good at one of these things they think they can just do all these things in some small way and have a chance and it turns out that's really really hard

View Details

Listen to Writer on the Side: https://www.listennotes.com/podcasts/writer-on-the-side/065-400k-from-writing-YXOg2DQur-5/

View Details

Listen to Village Global: https://www.listennotes.com/podcasts/village-globals/andy-rachleff-on-investing-YaXZIM2WHuj/ (15 mins in)

  • Don Valentine
    • If a startup can screw something up it will
    • only way it can succeed is if the market pulls the product out of its hands
  • Steve Blank:
    • Value hypothesis (what are you building, for whom is it relevant, whats your business model)
    • THEN Growth hypothesis (acquire customers cost effectively)
  • Almost no company succeeds with its original value hypothesis - they succeed and then they revise history
  • Great tech companies don't start by evaluating the market and coming up with solutions
    • They observe an inflection point in tech that allows them to build a product, then figure out what they can do with that
  • iterate on the who, don't iterate on the what
    • most people change product - you lose insight on tech differentiation
    • iterate on the customer base to find what you have to offer
    • find desperate people - they dont say maybe, they say WHEN CAN I HAVE IT

View Details

Listen to the Sourcegraph podcast: https://about.sourcegraph.com/podcast/swyx/

Video version: https://youtu.be/L1ATAYQFMn4

We cover: Svelte Society, Learning in Public, and Temporal.

View Details

Listen to Endless Thread/20kHz: https://www.20k.org/episodes/zzzzzzzzzzzrr

View Details

Clip is 10 mins into this deleted Lindy Talk episode: https://web.archive.org/web/20210312232914/https://paulskallas.substack.com/p/03-lindy-talk-w-marc-andreessen

Protocol on a16z and the Lindy Effect

View Details

Listen to the Lex Fridman podcast (25mins in): https://lexfridman.com/elon-musk-3/

How I Approach First Principles Thinking via Logic and Epistemology

Transcript

So what's your source of belief in situations like this when the engineering problem is so difficult, there's a lot of experts, many of whom you admire, who have failed in the past. Yes. And a lot of people, you know, a lot of experts, maybe journalists, all the kinds of, you know, the public in general have a lot of doubt about whether it's possible and you yourself know that even if it's a, non-normal set, not empty set of success, it's still unlikely or very difficult. Like where do you go to both personally, intellectually as an engineer, as a team, like for source of strength needed to sort of persevere through this and to keep going with the project, take it to completion.

2

00:24:49

I suppose the strength. Hmm. I just really not how I think about things. I mean, for me, it's simply this, this is something that is important to get done, and we, we should just keep doing it or die trying, and I, I don't need, I source of strength. So

0

00:25:07

Quitting is not even like, I'm

2

00:25:10

Just not, it's not in my nature. Okay. And I, I don't care about optimism or pessimism, fuck that. We're going to get it done. Gotta to get it done.

0

00:25:23

Can you then zoom back in to specific problems with Starship or any engineering problems you work on? Can you try to introspect your particular biologic when you're in that network, your thinking process, and describe how you think through problems, the different engineering and design problems. Is there like a systematic process you've spoken about first principles thinking kind of,

2

00:25:45

Well, you know, like saying like, like physics is low and everything else was a recommendation. I'm like, I've met a lot of people that can break the law, but I, I have never met anyone who could break physics. So, so first for any kind of technology problem, you have to sort of just make sure you're not violating physics. And, you know, first principles analysis, I think, is something that can be applied to really any walk of life, any anything really? It's just, it's, it's really just saying, you know, let's, let's boil something down to the most fundamental principles.

2

00:26:29

The things that we are most confident are true at a foundational level, and that sits your at your sets, your axiomatic base, and then you reason up from there. And then you cross check your conclusion against the, the axiomatic truth. So, you know, some basics in physics would be like, oh, you Vida and conservation of energy or momentum or something like that, you know, then you're slugging to work. So that's yeah. So that's just to establish it. Is it, is it, is it possible? And then another good physics tool is thinking about things in the limit. If you, if you take a particular thing and you scale it to a very large number or to very small number, how does, how does things change

0

00:27:17

Like temporary, like in number of things, you manufacturer, something like that. And then in time,

2

00:27:23

Yeah. Like, let's say, take example of like, like manufacturing, which I think is just a very underrated problem. And, and like I said, it's, it's much harder to take a, an advanced technology product and bring it into volume manufacturing than it is to design it in the first place. My more's magnitude. So, so let's say, you're trying to figure out is like, why is this, this part or product expensive? Is it because of something fundamentally foolish that we're doing? Or is it because our volume is too low? And so then you say, okay, well, what if our volume was a million units a year?

2

00:28:05

Is it still expensive? That's what I'm invaluable thinking about things to the limit. If it's too expensive at a million units a year, then volume is not the reason why your thing is expensive. There's something fundamental about design.

0

00:28:16

And then you then can focus on the reducing complexity or something like that.

2

00:28:19

We could change the design to change the chains apart to be something that is not fundamentally expensive, but like, that's a common thing in rocketry. Cause the, the unit volume is relatively low. And so a common excuse would be well, it's expensive because our unit volume is low. And if we were in like automotive or something like that, or consumer electronics, then our costs would be lower on like unlike. Okay. So let's say now you're making a million units a year. Is it still expensive? The answer is yes. Then economies of scale are not the issue.

0

00:28:53

Do you throw into manufacturing? Do you throw like supply chain, you talked about resources and materials and stuff like that. Do you throw that into the calculation of trying to reason from first principles? Like how are we going to make the supply chain work here? Yeah, yeah. And then the cost of materials, things like that, or is that too?

2

00:29:10

Exactly. So like another, like a good example, I, of thinking about things in the limit is if you take any, you know, any, any product, a machine or whatever, like take a rocket or whatever, and say, if you've got, if you look at the raw raw materials in the rocket, so you're going to have like an aluminum steel titanium in canal, especially specialty alloys, copper. And you say, what are the, what's the weight of the constituent elements of each of these elements and what is their own material value?

2

00:29:54

And that sets the asymptotic limit for how low the cost of the vehicle can be, unless you change the materials. So, and then when you do that, call it like maybe the magic one number or something like that. So that would be like, if you had the, you know, like just a pile of these raw materials here, and you could wave a magic wand and rearrange the atoms into the final shape, that would be the lowest possible cost that you could make this thing for, unless you change the materials. So then, and that is always, almost always a very low number. So then the what's actually causing these to be expensive is how you put the atoms into the desired shape.

0

00:30:37

Yeah. Actually, if you don't mind me taking a tiny tangent, had a, I often talked to Jim Keller, who's somebody that work with use.

2

00:30:45

Yeah. Jim was a great work at Tesla.

0

00:30:49

So I suppose he carries the flame of the same kind of thinking that you're, you're talking about now. And I, I guess I see the same thing at Tesla and, and space X folks who work there, they kind of learn this way of thinking and it kinda becomes obvious almost. But anyway, I had argument, not argument. He educated me about how cheap it might be to manufacture a Tesla bought. We just, we had an argument. What is, how can you reduce the cost of scale of producing a robot? Because, so I got an, a chance to interact quite a bit, obviously in, in the academic circles with human robots and then my Boston dynamics and stuff like that.

0

00:31:33

And then they're very expensive to build. And then Jim kind of schooled me on saying like, okay, like this kind of first principles thinking of how can we get the cost of manufacture down, I suppose you do that. You have done that kind of thing. If a Tesla bought in for all kinds of all kinds of complex systems that are traditionally seen as complex, and you say, okay, how can we simplify everything now?

2

00:31:58

Yeah. I mean, I think if you, if you are really good at manufacturing, you can basically make at high volume, you can basically make anything for a cost that asymptotically approaches is the raw material value of the constituents. Plus any intellectual property that you need to license anything. Right. But it's, it's hard. It's not like that's a very hard thing to do, but it is possible for anything. Anything in volume can be made of, like I said, for a cost that asymptotically approaches this raw material constituents plus intellectual property license rights. So what will often happen in trying to design a product is people will sought with the tools and parts and methods that they are familiar with and then, and try to create a product using their existing tools and methods.

2

00:32:52

The other way to think about it is actually imagine the, try to imagine the platonic ideal of the perfect product or technology, whatever it might be. And so what is this, what is the perfect arrangement of atoms that would be the, the best possible product. And now that are trying to figure out how to get the items in that shape.

0

00:33:15

I mean, it's, it sounds, and it's almost like Rick and Morty absurd until you start to really think about it. And you really should think about it in this way, because everything else has kind of, if you think you, you might fall victim to the momentum of the way things were done in the past, unless you think in this way,

2

00:33:37

Well, just as a function of inertia, people will want to use the same tools and methods that they are familiar with. They just that's what they'll do by default. Yeah. And then that, that will lead to an outcome of things that can be made with those tools and methods, but is unlikely to be the platonic ideal of the perfect product. So then, so that's why it's good to think of things in both directions. Like what can we build with the tools that we have, but then, but, but also what is the, what is the perfect, the theoretical perfect product look like? And, and that, that theoretical poet part is going to be a moving target, because as you learn more the definition of, or for that perfect product, what will change because you don't actually know what the perfect product is, but you can successfully approximate a more perfect product.

2

00:34:25

So thinking about it like that, and then saying, okay, now what tools, methods, materials, whatever do we need to create in order to get the atoms in that shape? Fitbit for people rarely think about it that way, but it's a powerful tool.

0

00:34:44

View Details

Listen to Akimbo: https://www.listennotes.com/podcasts/akimbo-a-podcast/the-magnification-of-small-EVg8tLQnljC/

View Details

Listen: https://nav.al/failure

HN Discussion also worthwhile: https://news.ycombinator.com/item?id=29488641

View Details

Listen to Backstage Pass: https://www.pushkin.fm/episode/john-legend/

View Details

Listen to the Lex Fridman podcast: https://www.youtube.com/watch?v=X0-SXS6zdEQ

  • Read about Software 2.0

View Details

  • Source: https://www.youtube.com/watch?v=o2GhBig0OWM (16 mins in)
  • Jess Frazelle: Why Open Source Firmware is Important

View Details

Listen to the Sourcegraph podcast: https://about.sourcegraph.com/podcast/sugu-sougoumarane/

  • https://twitter.com/ssougou
  • https://www.linkedin.com/in/sugu-sougoumarane-b9bb25/
  • Consensus Algorithms at Scale

Transcript

Beyang Liu:

Yeah, tell us that story. What happened between you and Elon Musk?

Sugu Sougoumarane:

So, this was 2000. Elon had just founded X.com. He had sold off Zip2, which was his previous company, and he was considered one of those up and coming entrepreneurs. He wasn’t as popular as he is today. But when I read X.com, if you read the description then, it said that it was an online bank. So, basically, there’s Wells Fargo, there’s Bank of America, and now there’s X.com, which is an internet-first bank.

That’s what it looked like. I said, “Wow. If it’s a bank, I better be formal.” So, I wore a tie and suit.

Beyang Liu:

Oh no. And I’m assuming the dress code was a lot less formal.

Sugu Sougoumarane:

That turned him off instantly. So, I’m sitting there, he walks in and says, “Who the hell are you?” “I’m here for the interview.” “Oi, why are you wearing a suit?”

Beyang Liu:

That’s hilarious.

Sugu Sougoumarane:

So it turned out that this was 2000, where the boom was happening–‘99, 2000. And there were so many “me too” companies. “I’m going to change the world” kind of companies.

Beyang Liu:

Sure. A lot of copycats.

Sugu Sougoumarane:

And I had been interviewing with a bunch of them. And none of them had a real story. A lot of them didn’t even have code written, but they had raised money from VCs because that’s how desperate VCs were to give you money. Anybody that said “I have an idea” got money.

Beyang Liu:

It was the height of the bubble.

Sugu Sougoumarane:

Yeah, it was the height of the bubble. I was completely disillusioned saying that, “My God, this is a disaster. There is not a single company that has anything viable.” So I show up there and I’m kind of low energy because I don’t expect anything from this interview. All previous interviews were disasters and I had just walked out. And this one, I was like, “Oh, okay. Let’s hear it out. Let’s see what you got.” And so that came across to Elon as a guy who has no energy. And he was kind of disappointed. And I was wearing a suit. That’s even worse.

Beyang Liu:

Two strikes.

Sugu Sougoumarane:

Two strikes. And as I’m hearing his story, by the time the interview ended, I was so excited by what he was building. I just couldn’t believe it. I said, “Oh my God, this will change the world.” That’s basically how I ended up leaving. But that’s not how he ended up seeing me. I went through a recruiter. And the recruiter says, “Hey, they’re going to pass on you. They’re not interested. They think you have low energy.” I said, “What? Give me Elon’s email now. I’ll send him an email.”

So I sent him an email. Essentially, paraphrasing what I did, I basically sold him back his own company. I told him why this is going to be huge. And it turns out that, apparently, he was struggling to convince the greatness of his company to his own employees. And so he saw that and he was impressed that I was able to see what he saw. He even sent that email to everyone and told them, “See, there’s a guy outside who believes in what we are doing.” And so he called me back for an interview.

And now, looking back, I can see everybody was smiling. Everybody was passing me by, giving me second looks, and smiling.

Beyang Liu:

You were the guy.

Sugu Sougoumarane:

Yeah, I was that guy.

Beyang Liu:

That’s awesome.

Sugu Sougoumarane:

The rest is history. Then I joined X.com. And then soon after that, X.com and PayPal merged, and that’s how I ended up at PayPal.

Beyang Liu:

Do you remember what it is you said in that email? Because I’m sure everyone who’s listening, who’s ever bombed an interview, is like, “What do you say? What do you say in an email that gets you that second chance with Elon Musk of all people?”

Sugu Sougoumarane:

I think actually I relate to what I said even now, because what I said was, “The most important thing is that I am sold on this vision and I will do anything to be part of it. I don’t care what you offer me. This vision is awesome. This is going to change the world. So I want to be part of this. I don’t care. My low energy is situational. Don’t read into that.” I need to dig up that email. I don’t think I was as eloquent as I am now.

Beyang Liu:

If you dig it up, we’ll link to it in the show notes.

Sugu Sougoumarane:

Yeah, I’ll find out. I’ll see if I can find it. This is literally 21 years ago.

Beyang Liu:

I was just trying to think of email systems back then.

Sugu Sougoumarane:

Yeah, exactly.

Beyang Liu:

But do you even remember what email you used in those days?

Sugu Sougoumarane:

I think it was Yahoo.

Beyang Liu:

Oh, Yahoo. Okay.

Sugu Sougoumarane:

So it may still be there. I should go look for it.

Beyang Liu:

Yeah, fascinating.

Sugu Sougoumarane:

He may not remember me, but I think if I reminded him of the story, he would remember me if I ever met him again. If I told him this.

Beyang Liu:

Yeah, it seems pretty memorable. I mean, a guy comes in and sells your company back to you so well–probably better than he could describe it. He shared it with the entire company. That’s awesome.


part 2

Beyang Liu:

Tell me about the key selling points of PlanetScale. So the front page says serverless database platform. What does that mean?

Sugu Sougoumarane:

So here is what is changing in the industry. Vitess was in some respects, the first step towards what PlanetScale became. At YouTube, we literally ran tens of thousands of nodes. That’s how big the Vitess deployment was at YouTube.

Beyang Liu:

Wow.

Sugu Sougoumarane:

And there is no DBA team that can manage anything of that size.

Beyang Liu:

It’s just too many nodes.

Sugu Sougoumarane:

Just too many things, too many nodes. And those tens of thousands of nodes were running on Borg.

Beyang Liu:

And Borg is the Google internal predecessor to Kubernetes.

Sugu Sougoumarane:

It’s the predecessor to Kubernetes. It was in the Borg cloud. And the shutdown of a pod is something that is not human generated. Previous to that, even today, with MySQL deployments, there is a DBA watching over that machine. Right?

Beyang Liu:

Super manual.

Sugu Sougoumarane:

It’s super, super manual.

And when we deployed Vitess in Borg, we had to make it developer-friendly. Make it such that a DBA was not needed to be watching over those nodes, so we had to actually automate a large part of those things away, so that we could deploy things at scale. The DBAs’ role actually changed, such that they would not manage a single instance. They will be doing things for the cluster. I think that trend is now more prominent. They are called DBEs or DBREs–there’s lots of names.

Beyang Liu:

They’re going from minding individual pets to being cattle herders.

Sugu Sougoumarane:

To managing fleets. So that was what Vitess did at YouTube, which became extremely relevant at Kubernetes. But it still had an administrative mindset, where you still had to know a few things.

The way I would describe it and now what Vitess is evolving into is, I kind of see two types of developers in the community. There are the tinkerers and there are the builders. There are application builders. They are kind of non-overlapping. They want to do different types of things. The tinkerers like to install software, configure it, play with it.

Vitess is a tool that relates to that type of person. They like to learn.

Beyang Liu:

Nitty-gritty, get your hands dirty.

Sugu Sougoumarane:

Yeah. How do I configure this relationship in this data?

Beyang Liu:

Diving into Unix internal… yeah.

Sugu Sougoumarane:

Yeah. They’re actually this one level above Unix. It’s more like understanding data, modeling relationships with them.

Doing cool things with the data. Like when you shard… optimizing your sharding algorithm. That’s what Vitess relates to. And then there’s the other category, which is the application builder. The biggest turn off to an application builder is that they say, “I want something…” and you say, “How much CPU do you need?” You’ve lost them. “How much display?” ‘I don’t know.”

Beyang Liu:

I don’t want to care. Just figure it out.

Sugu Sougoumarane:

I don’t know how much I’m going to need. Whatever it takes. Just give me something to get started. Those should be taken away. If the developer comes and says, “I want a database.” You say, “Here’s a database.” So PlanetScale is for this person. The person that says, “I want a database and we shouldn’t ask any more questions.”

Beyang Liu:

Yeah. It should just work.

Sugu Sougoumarane:

You want a database, here’s your database. “How do I connect to it?” “Here’s your connection string. Go.”

And another big problem that PlanetScale solves is the problem that’s been plaguing the database industry, which is managing schema deployment. A large number of developers who like databases, who like SQL–many of them are using key value stores.

Beyang Liu:

They like SQL, but they’re using KV stores for some reason.

Sugu Sougoumarane:

Yeah. They decide to use KV stores, say, “Why did you do it?” “It’s because of schema. I just don’t want to deal with the headache of schemas.”

It’s almost a universal story. But then what the database industry has been saying, “Well, it’s necessary. Schema is necessary.” Yeah, it’s needed.

Beyang Liu:

And you’re talking specifically about schema migrations or conversions, right?

Sugu Sougoumarane:

That’s where the disconnect came, right? Nobody tried to go in and find out why schema is such a big headache.

Beyang Liu:

I mean, it’s almost like a type system, right? It imposes certain constraints, but then this thing can change too.

Sugu Sougoumarane:

Yes. And not only that, it’s not only a type system. It’s a disruptive system. The moment you deploy schema and you make a small mistake, you have an outage that goes into many hours.

Beyang Liu:

Yeah. I’ve been there.

Sugu Sougoumarane:

One small fat finger, and you have an enormous outage of epic proportions. So that’s very scary. You cannot just say, “Here’s a schema change. Boom done.” This danger exists, right? How do companies solve the problem? They install gatekeepers. People to review your change.

Beyang Liu:

Only certain people can directly access the database and you have to go through them.

Sugu Sougoumarane:

Only they can directly access data, and they will review your code. And I have a schema that is ready to be deployed, but this DBA is on vacation, now I have to wait three days for them to come back. Or, they are busy fixing, taking backups, so they are not available. Because a DBA’s job is not to wait. That’s not their priority to review your schema change. So the entire process becomes a huge headache. And so Sam, who is our chief product officer, he kind of developed that system within GitHub. He came, he said, “I know what the developers want, and this is what we’re doing…” So this whole thing was his idea.

And you can see how the developer community is responding to these features. “I’ve been waiting for this all my life,” is what the developers are saying, which is self-serve schema-safe schema deployments.

Beyang Liu:

The full power of SQL, but with none of the hassle.

Sugu Sougoumarane:

With none of the hassle. And also, the way we deploy the schema is underlying… I don’t know if you’ve heard of gh-ost, which is the MySQL schema deployer.

Beyang Liu:

No.

Sugu Sougoumarane:

Basically, it allows you to deploy schemas without downtime.

So if you have a billion rows in your table and you want to add a column, MySQL is going to lock that table, and you’re not going to be able to write to it. And gh-ost actually allows you to do the deployment without locking that table. It’s called gh-ost, which stands for GitHub Online Schema Tool. But it’s also gh-ost, because it creates a ghost table for you.

Beyang Liu:

Oh, I see. That’s the trick. It just copies stuff over.

Sugu Sougoumarane:

And basically it forms an atomic switch. And it turns out that Vitess has the same technology called V-replication as a core primitive that you can use.

Beyang Liu:

That’s convenient.

Sugu Sougoumarane:

And the author of gh-ost coincidentally happens to work for PlanetScale, and coincidentally decides to implement that same feature in Vitess. So the same offline schema deployment now is available through Vitess.

Beyang Liu:

I feel like every organization or company that operates a database, they over time accumulate a bunch of scripts that automate certain tasks, whether it’s schema deploy, or pulling certain pieces of information. It sounds like you’re just productizing all of that and turning it into an out-of-the-box, non-hacky, non-duct-tape solution.

Sugu Sougoumarane:

Exactly. I mean, the writing is on the wall. GitHub kind of showed this model for source code already as a viable model, right? Where they took away what each enterprise had internally and productized it as a generic uniform method of managing source code. And now enterprises are all moving towards that, right? Instead of having each one implementing their own way of managing source code. We’re kind of doing the same thing for databases.

View Details

Listen to Software Dev Journey: https://www.listennotes.com/podcasts/software/152-shawn-wang-from-the-fine-px_1sYDV9yT/

View Details

Listen to Conversations With Paul Simon: https://www.audacy.com/podcasts/revisionist-history-21817/revisionist-history-presents-miracle-and-wonder-conversations-with-paul-simon-947753006 20 mins in

View Details

Listen to the Huberman Lab: https://hubermanlab.com/dr-lex-fridman-machines-creativity-and-love/ (2h 43mins in)

View Details

Listen to the Sourcegraph Podcast: https://about.sourcegraph.com/podcast/joseph-nelson/ (about 10mins in) 

View Details

Listen to the episode: https://www.listennotes.com/podcasts/unthinkable-with/going-bananas-K9rhSCyVziv/ 15mins in

Subscribe: https://pod.link/jay

View Details

From the MongoDB Podcast: https://mongodb.libsyn.com/ep-93-swyx-learn-in-public-and-temporal

View Details

Watch Mike Dawes on Youtube: https://www.youtube.com/watch?v=2bx9vTF8x2s

View Details

listen to the Peter Attia podcast: https://www.listennotes.com/podcasts/the-peter-attia/183-james-clear-building-mqgBcuP8-25/

View Details

Listen to the Huberman Lab (1h18mins in) https://www.listennotes.com/podcasts/huberman-lab/the-science-of-making-1VeFnGW6psA/?t=4702

View Details

Listen to the GTD podcast: https://gettingthingsdone.com/2021/02/david-allen-interviews-charles-duhigg/

View Details

Listen to the GTD podcast: https://gettingthingsdone.com/2019/10/an-overview-of-gtd/

View Details

Listen to Fake Doctors, Real Friends: https://overcast.fm/+ZHU0NDSpM

View Details

From The Moth: https://themoth.org/radio-hour/holiday-special-2014-monkeys-megachurches-and-first-elves

View Details

Listen to the PH podcast: https://soundcloud.com/thepornhubpodcast/leo-vice-asian-male-pornstar

View Details

Watch and subscribe: https://www.youtube.com/watch?v=iYFFKuuaF3k

View Details

Watch the Intentionally Blank podcast https://www.youtube.com/watch?v=Dnbmku3lFmg (20mins in)

View Details

Listen to Films to Be Buried With (1h in): https://www.listennotes.com/podcasts/films-to-be-buried/pete-holmes-films-to-be-6f_tQjdSLmH/

View Details

Listen to After On: https://after-on.com/episodes-31-60/057

Roger Hanlon's research online: https://www.youtube.com/watch?v=ogCIqaCe2zI

View Details

From: https://www.youtube.com/watch?v=AVmfpULFk-M

Points of interest:
11:24 Doc Ock’s theme

21:20 "Goosebumps"

37:30 Tom Holland standing in the pouring rain while he watches Jonah on the big screen right after SPOILER

42:00 The movie's max hype moment

48:05 SPOILER 3's theme

48:42 SPOILER 2's theme

51:44 Final fight

1:01:27 Goodbyes

1:04:36-1:06:12 Credits-only Spider-man theme

Track List:
0:00 Intro to Fake News
1:11 World’s Worst Friendly Neighbor
2:03 Damage Control
4:20 Being a Spider Bites
5:25 Gone in a Flash
7:18 All Spell Breaks Loose
10:44 Otto Trouble
15:04 Ghost Fighter in the Sky / Beach Blanket Bro Down
17:52 Strange Bedfellows
19:37 Sling vs Bling
24:38 Octo Gone
28:12 No Good Deed
33:13 Exit Through the Lobby
37:28 A Doom With a View
39:29 Spider Baiting
41:04 Liberty Parlance
42:33 Monster Smash
43:55 Arc Reactor
46:52 Shield of Pain
51:44 Goblin His Inner Demons
55:39 Forget Me Knots
1:02:28 Peter Parker Picked a Perilously Precarious Profession
1:04:00 Arachnoverture

View Details

Listen to the Economist podcast: https://www.economist.com/podcasts/2021/12/15/meet-the-cryptokings

Read the article: https://www.economist.com/christmas-specials/2021/12/18/the-most-powerful-people-in-crypto

View Details

Listen: https://www.youtube.com/watch?v=m_2fDTuh5aU (start at 25min mark)
Crypto villain of the year https://cryptobriefing.com/2021-review-the-top-10-crypto-villains-year/

Transcript

i would be curious to learn in

what sense has ether over optimized for

being money so what at what points did

it make a trade-off like a conscience

trade-off to say

we

we designed the chain to be better money

and worse as let's say an execution

layer

sure

i think a good broad way to understand

it is if you look at antonio the founder

of do idx's tweets about it afterward

and he he said you know

the ethereum user experience on on layer

one has basically not even 10xed over

five years

um and at that time the roadmap

was very much to to figure out how to

cater to users and developers right um

and and so i think just like if you just

zoom out that far it's pretty easy to

see that we're we're in a very different

place today

on ethereum than it was uh

a couple years ago and i think the

another easy way to see this is just

with d5 itself right where if you look

at the d5 that's kind of really taken

off and done well it's been crosstrained

it's been non-ethereum right so you know

luna versus snx but then also you know

um

sort of projects on avalanche versus

projects on ethereum the you know the

same exact project but they'll do better

on avalanche um and then you know you

you you kind of get a sense that um

i think ethereum rightfully says that

they're the bedrock or kind of the uh

birthplace of defy innovation right but

what that also means is that if that's

the

main claim to to to um

sort of power that that that becomes

quite

it becomes quite nostalgic like in a way

right uh where

um what about the new users or what

about the new developers where do they

go and and you know what we're seeing is

that new developers are just multi-evm

right so they

deploy where the users are because their

goal is to

have their product be used you know so

an example is we back tranches which is

a

quite quite uh novel mechanism for doing

risk sharing across um longs and shorts

and it's got one of the highest tbls in

d5 right but they started off on bsc and

the the founders love ethereum but they

just

said if i launched on l1

uh there's no way and i'm not gonna

launch on matic because

if i'm gonna launch on another chain

anyways i might as well launch where the

actual users are

right so

uh okay

this is what kind of work this is kind

of what we're seeing on the app side and

then you look at the performance of d5

coins too right you know when we have

that part let's take note with the

performance let's let's stick with the

sort of the tech for a second because

yeah sure sure so

um

if we i think if we look at blockchains

from

actually first principles

it's really just you know it's a shared

database where anyone can can verify or

where anybody can see that the the

computation that was done whether it's a

transfer or a smart contract execution

that was done with

integrity so that was that was done

correctly right

and you can have various

kinds

of such uh

database basically so being the most

centralized would be just binance right

the centralized exchange nobody has any

insight into their database but it has a

lot of reputation at stake um so you

just trust it to you know perform all

the other updates correctly pretty much

and on the other extreme

you have something like bitcoin and

ethereum where they say oh we throttle

the network um really hard to sort of

keep um

this verification cost this cost for

people to actually do the accounting

themselves to to to to walk through

every step that was done and say oh i

can i can verify

without making any trust assumptions

that all of this computation was done

correctly

right and in the middle between these

two extremes centralized exchange and

the completely decentralized blockchain

you have a pretty wide trade of space

right and um that's where you find bsc

that's where you find avalanche and

solana at some points across these

spectrums right

but

sort of what i'm wondering is

i mean

are these other chains really gonna you

know

develop in in in any other way i mean

than ethereum and bitcoin so their

databases are always so yeah

i guess my answer would be they already

have and they will continue

because they are attracting all the new

users i think this is the just the

reality of the space right and i think

you know when i told you that half of

metamask users are bsc users and it

under shocked you

it's because a lot of

you know a lot of ether ogs and biblical

energies they don't use

chains because they don't need that

money right like you don't need to make

a thousand dollars you don't need to

make ten thousand dollars right you're

too wealthy to care

but that says more about you than it

says about other people right so

it's kind of my point which is that um i

i find that a lot of ethiopians they're

in the mindset now where they're like

i'm already rich and you have to

understand why what i've done is so good

and also what i why what i'm preserving

is so valuable and valuable

as it may

um you have given very few outlets for

new users to come and participate

in what you've done and and so you know

that's the reality of the space and and

you know having matic is not is not an

answer right because if you have matic

then they say what is the difference

between matic and any other l1 right and

then and then you open up that door and

then

yeah of course of course there's none

right so so i think that that's kind of

the reality of the space and i agree

with you a hundred percent on you know

there is a

you know a decentralization trade-off uh

between each of these and i think what

the novel sort of

understanding that i have or or that um

i think the market has as well is that

um

where ethereum is on the trade-off scale

um

[Music]

it

it is optimized for a world

that um

it's struggling to maintain its network

effect for evm itself

where evm developers are immediately

deploying to every chain

and then users are using where

they find it most convenient

so

i would say in april or march i would

have said that ether itself uh will

benefit a lot from this multi evm i

believe i said that in a thesis um and

he did and i think in part ether has

right it has outperformed bitcoin quite

a bit uh since then because ether

benefits from being able to be ported

around on evm just much easier right so

you can bring your you know you can

bring your ether across different

bridges you can use it as collateral

here and there

and so it has

definitely benefited from that but it's

also underperformed

other layer ones massively and and

the the reason why i do say performance

is important is because

the this is also the incentive for

people to get involved right so you know

if you look at the d5 projects on

ethereum you know where they have

uh pretty much only gone down in dollars

even uh over the past year i mean if

someone had told you at the time we did

that podcast where we predicted device

coins would enter the top 20 that they

would actually all be down in dollars

you would you you would have said you're

insane right

yeah

but

but it's happened and i think and i see

that i think they have performed not

that bad since then they are up in

dollars definitely but down

big

but i think a lot of them are actually

down in dollars if i remember correctly

and and and so that's something that i

don't think

people are i mean

privately i've spoken a lot of people

and and and they you know they they they

say what those reasons are

but i think that um publicly it's

something that

is a bit taboo to talk about right

because it has

it you have to admit a lot of kind of

things and and and so i think

i mean my diagnosis would be a few

things right i i think one is that

the early ether builders they were very

committed to ethereum as a network

and so

where the founders dilemma kind of plays

in is that if you already own a lot of

ether and then it's gone up 20x

you're already wealthy right

so so once you're already wealthy

your incentive to build also starts

going down right because

what is the

incentive to build at that point and and

and that we've seen a lot in the

ethereum device space i think um

i think

on the on the idea of

you know going cross-chain and acquiring

users i think that this is a

this is very much a knife fight right

this is very much a fight uh to see you

know which builders are the most

aggressive at creating products for new

users um and creating experiences for

new users and i find it interesting too

that like when i speak to some of these

ethiopians you know some are very good

at going cross-chain and and

using them but but a lot of

like others their mentality is like i

i'm too rich to have to do that

i'm too wealthy like i don't need to

right um so

this is i think the big divide really in

this space which is that it's to the

point where

um ether can no longer ethereum can no

longer claim to have all the innovations

right like now you actually see the

opposite where synthetics are trying to

copy what luna's done with you know

ecosystem airdrops and multiple projects

on it

and you know it's we're we're kind of

seeing that reverse copying on a number

of projects now as well and so i think

that

there's an arrogance to the ethereum

community similar as there was an

arrogance of the bitcoin community um

and i actually think that you'll see

this arrogance play out in almost every

community um not in a fatalist way but

just as a as a product of founders

dilemma like if people already become

billionaires people already become you

know worth a lot of

money

their their basic worldview becomes how

do i perpetuate this idea as opposed to

um how do i compete in the open market

so i think

that that kind of reality um

is is the main reason why

um

i expect d5 building and and d5 to to do

better on newer chains because the

builders there are just hungrier and

they're also trying to create

applications for a million users or 10

million users

but i think what you're missing is that

you're taking kind of an objectivist

approach right you're kind of saying

this must be the solution that is the

most technologically valid and hence

you're only interested in that well be

that as it may

um you know

these were the kind of criticisms put on

solana in the early days and what we've

seen is that solano's actually attracted

a whole huge amount of grassroots

developers and huge amounts of

application interest right i would say

the last 20 of our application bets

uh

15 plus of them are non-ethereum

mainly because we prefer to do best

where

the

we can see it get to a million users

um and

i think for a lot of the other funds

even the funds that were quite against

solana

i see them now trying to get into these

rounds too and so it's just something

that while i hear you on you know your

vision of where the technology should be

and how how it looks

i do also see that

the way that the industry is going is

much more pragmatic which is to say i

want to onboard the users now

um and

that's that's the

that's the goal

right

and

and so i just think that

there needs to be a broad okay

put it this way i think there needs to

be a broad respect

from the ethereum community for

uh users i don't i don't think there's

quite that respect for users and i and

you can argue that there doesn't need to

be because ethereum is on this mission

to scale uh in this uh robust way but

we're getting into bitcoin lightning

network type of logic now too right

where

be that as it may

you're you're free to do what you wish

but

you do run some risks of losing network

effects um and and so i think

that that's kind of what i would say

about this i mean i think fundamentally

it's it's it's talking on two different

planes right or it's talking past each

other where the set of priors are just

different

um so so my set of priors is to say

okay we can invest in bitcoin and if

there are stores of value that's fine

um and we speculate on when we buy them

and when we sell them and the global

demand for user and the the global

demand for crypto monies right

but

at the same time we also

uh

feel that applications on ethereum have

really suffered from uh you know

optimistic role of not being competitive

and and then later on uh you know newer

scaling not coming out um and you know

the world we live in today is very

different from the world uh we imagined

when ethereum device was sort of at

their highs and and so uh seeing that

world i'm an introspective person so i

look at that and and i ask myself why

did it fail right what happened

and the reasons that i'm seeing or the

kind of the realities that i believe i

am perceiving

are that well first of all the builders

are actually better on these other

chains because they have chosen those

other chains because they want to reach

users so i see that with dokon and luna

i see this uh with a few other projects

and this i think is actually the

anti-culture case for ethereum which is

that it actually is unable to provide a

space for these type of builders i

remember during a clubhouse where andre

chronos he said i think this was in like

march i can't remember exactly when but

he said like if you're an evm builder

today you need to go to bsc immediately

right and then you know at that time

like then then a whole host of people

went

to

bsc but

i think that this is

this is the future um

of smart contracts application space and

users and and so from my point of view

um

i do have a bit of regret and nostalgia

for the d5 times and i wish that it

would have gone better uh but i think

that um

you know the reason why i was so

triggered by kane is because he kind of

um is kind of the is kind of the

ultimate example of sort of you know an

ethogee who did very well holding eth

basically um and then the project itself

you know has kind of

not been as

you know and it's not something where

i'm like shaming builders or this or

that but he's the one who says you know

you know anyone who's not building on

ethereum layer two is like you know

we're gonna keep track of all your names

and then you know i'm not going to

welcome you back to community i mean

this is dangerous stuff i think um and

this is stuff where

yeah um i don't believe in it so

i

i think that um at the end of the day um

the same problems that happened to

bitcoin maximus are happening to

ethereum maximus and the problem for

ethereum is that while it matters less

for bitcoin because you don't do

anything with bitcoin it matters more

for ethereum because you actually have

to do things on ethereum and so if

builders are starting to go to other

chains which i see them doing this is a

matter of debate that i have with some

other funds but i do see builders going

to other chains um especially solana

especially avalanche

then

then the floodgates are very open on

that and you won't we won't be able to

claim in two years that all the

innovation is on ethereum right and once

you lose that

uh then really what you have left is you

can say that the evm uh

enshrines eth as the holy asset which i

think is happening um and that um it

shares a store value case with bitcoin

and that and that can be fine as it is

right that

that that really can be the end game of

eth and um

and it can do well but i don't think

that um

i don't think that this is something

where

um

that that alternate layer ones are sort

of um

discredited for their approach because i

it's kind of fascinating almost like as

a fractal but i kind of see like eth as

being what original bitcoin wanted to be

in some ways right which is sort of um

you know having nfts and having um

having um defy and these kind of things

and then i see like alt layer ones

trying to be what ethereum is trying to

be which is like

you know uh yeah the reaching a building

i think where vitalik said that um

if there's like

f what is it what did he say if there's

like

five cents

he said bitcoin has five cents

money

yeah i mean

stuff like that of course makes you look

very bad in the future that's a given

um yeah so so i mean and

and and i think it's look like i still

own more ethan pretty much i still own

more ether than pretty much anybody i

know so it's not something where but i

think this is i mean this is also to me

this is also like a warning sign but i

mean vitalik

is a very smart guy

and

he already yeah first like the bitcoin

cash people fell on their face making

the claim that you can guarantee some

kind of low cost environment without

sacrificing

sacrificing all decentralization then

vitalik made the same statement he fell

on his face and now i see for me it's

just it's just just groundhog day i see

the same i see a new class of people

repeat the same the the same things that

already the bitcoin cash people have

failed at

vitalik has failed that they are not

going to succeed in my opinion i think

they are going to fail for the same

reasons and that's sort of what makes me

a bit frustrated about seeing these

arguments because it's not

yes i'm taking

um like a technologist stand stands on

this

where i say yeah i'm better at

evaluating um

this than the market i can say this is

gonna fail for you know technological

reasons this is gonna run into its

scaling limits and at some point also

the narratives around it are going to

collapse when the fees go up and they

have no credible scaling roadmap so um

but to me this this just feels like i've

seen the story like play out more than

once in the past

i think the i think the the the sort of

shortest rebuttal i would give to that

is to say

just look at the network growth rates on

the other networks and then say

let's assume that they run into scaling

problems and let's assume that they

solve them in the way that um

uh would be maybe not acceptable to

ethereum people and certainly not

acceptable to bitcoin people i mean keep

in mind too a lot of ethereum's

decentralization trade-offs are

completely unacceptable to bitcoin

people right and so i so so i think that

then you you're very much back in the

fractal that i'm talking about which is

that um you know ethereum people making

the same arguments

against other chains that bitcoin people

make against that

make against ethereum right and

i guess what i would say is that um

i do see these fighting product market

fit and i do see these teams being

at least more motivated to onboard users

um

and and so i guess

what i'm

what i'm warning or not warning but what

i'm kind of predicting is that um

[Music]

that all layer ones will continue to do

very very well

and um i also see this in the web 2

investors that i speak with right

because

when when the web 2 investors come to

crypto i think some of them you know

they they gravitate toward the uh

toward the ethereum vision um

but then as they do they start to see

like okay well

how fast is this network growing because

because i'm investing in network effects

right how fast they're growing and then

they see that all the other chains are

having way faster network effects and

then they're saying okay well what is

the reason for this and and so

if the reason is that ethereum is

waiting for its own scaling

then

it starts to sound like bitcoin right it

starts to sound a lot like like bitcoin

so

um then they're like okay well

i clearly need a hedge because these are

already outperforming either by a lot

and on top of that there's you know very

credible uh activity happening i

understand that either people say it's

not decentralized but i also understand

that big people say ether is not

decentralized you see what i'm saying

there right so so that that's kind of

what i'm predicting basically and and i

think that um

i think that

for me like i kind of had the thesis

uh fortunately relatively early

uh during the bear market that i think

all all layer ones are yeah deeply

undervalued because these are real teams

building stuff and i was fortunate

enough to you know so so like polka dot

kusama

uh avalanche

near um

oh i mean we pretty much said at that

time you know pretty much any alt layer

one that is doing

like

that is shipping code uh

is is gonna is just

is incredibly undervalued by the market

i think um richard we had on our podcast

at the acm he had basically that thesis

and he helped us kind of see it which is

that

um for the same reasons that ethereum

grew very quickly these chains also will

grow very quickly because the

penetration of smart contract

users and and and just you know

applications is a zero of the main

population

so

it's it's it's a world where we live in

where

um you know just to give an example

right like

taizo tazos just did a great deal with

ubisoft where they're gonna give

something like 10 million wallets to

ubisoft users and then holding fts in

them so

i mean i can see a world where chains

can do well just being

used in one country right and then and

then

going from there and and so i guess what

i'm saying is like the world is a very

very big place and i see layer ones

doing very different approaches to biz

dev very different approaches to users

um and

i think that this is healthy actually

for broader crypto it it does hurt a bit

of um

ethereum dominance like i think ethereum

would be

much closer to flipping bitcoin today if

ethereum had managed to find you know if

it basically what we think of as the

scaling road map in 2025 if it had been

achieved by today right

um

but um be that

you know being that we're in the world

we are in today

i

see sort of more of a hybrid bitcoin and

ether will share a store value case

and then i see

a multiple you know a multitude of all

their ones and i and i think that i mean

not to say that this is good or bad but

just to say this is i think just the

reality why do you so ethereum has also

of course gone through periods of

extreme growth um

and back in the day we used to use this

as um an investment case for ethereum

over bitcoin right we saw that yeah

bitcoin was valued much higher but

ethereum growth in in any relevant

metric was just leaving bitcoin

completely in the dust there were more

i think what i realized

i think what i realized looking back is

that we were asking the wrong question

we were asking the uh we were asking the

wrong question which is the og question

which is should i own more ethereum

bitcoin

but that's actually the wrong question

well

my question to you would have been why

why do you think that the growth that

these newer chains are seeing is going

to be more sticky than the growth that

ethereum has seen

uh well

what i would say is that their growth

has already been much faster than

bitcoin and ethereum and their growth

can continue to be much faster

because

one they don't have technical debt

bitcoin has technical debt right

ethereum has huge technical debt these

new ones they don't have technical debt

in part because they're more centralized

but also in part because they're newer

right

um so

you know they're already proof of stake

well for ether it will be very hard to

go proof of stake it will take months

and months right and there will be a lot

of questions as we go into it and and

and so technical debt is one reason also

i think um the spirit of community is

another right where

um

the the concept of getting in on the

ground floor is very attractive to

people and you know if you look at

either today like

it doesn't offer

the opportunities i think that um it did

when people uh were around 2019. so even

if you look at like you know talking

about airdrops right like all

all this stuff is for if you were a user

in 2019 as far as i'm concerned like ens

yeah you registered it in 2019 you know

using some of these products okay like

some of them late 2020 but they're all

kind of like

i mean i would posit that it's all the

same two thousand users

two thousand to five thousand uh you

know that that that are basically

benefiting from this and and so that's

kind of the big challenge i think uh

which is uh ethereum's growth of users

on l1 has basically gone to zero right

um because of the fees and

i can accept the argument that that's

fine because we'll do rollups but

i would then also

argue that if you assume that's true

then the growth rates on altair ones

will be very fast because there is a

demand for people to get involved in

crypto and this is where they will go

and so

for me it's trivial that the growth rate

of user counts and activity on other

chains will be faster than on ethereum

um it's a

broader question what will outpace the

other in dollars today uh from where we

are here because obviously we are

already up 1000x on solana we're already

up you know hundreds of access on these

other coins and the these are all kinds

of um

you know we're we're trying to get to

questions of like what is a fair

percentage of ethereum market cap these

things should be

but

i think when it comes to user accounts

when it comes to activity levels when it

comes to new builders uh new passionate

builders who want to build billion

dollar applications

i very much see these going to solana

starkware avalanche

and a few others and

i think that that's just natural um so i

do think that when there is um

more opportunities to

deploy on l2 i think they'll also do so

but i think that ethereum has lost that

network effect of being able to say all

innovators come to my chain and join my

community um i didn't realize it quite

early enough i think if i had i would

have just sold all my ether for salon on

avalanche but you know be that as it may

i was comparing either too much to

bitcoin and you know so i suffered that

fate along with you basically um you

know as part of the sort of the og crowd

now that you know debates bitcoin versus

ether all day right you know

and you know i've met young guys like

retail guys like they're like 50 sold 50

abax from a dollar

you know and these guys are just like

why do you even talk about bitcoin and

ether like what what is the point and

and so like there is that perspective

that i have to remind myself of each

time because each generation each crypto

wave has brought in

uh new people right and their

perspective is very different from yours

and mine

and you know you know speaking of these

kind of guys

i do i am sometimes struck by like are

we the boomers you know yes um

i think i would be

i mean

i i i would agree that somebody who

comes in today

won't use bitcoin in in ethiopia and

they shouldn't because for the reasons

that we talked about but that doesn't

mean that they are any more right in the

long term i think if you've only been

here for half a cycle

then

i think there's definitely the risk of

sort of over overvaluing what is new and

what you know over what is long-term

viable

i would say that at the end of the day

i'm i'm a pragmatist i'm i have no

uh ideological reason to support

ethereum i would say i'm pretty far from

from being like an ideologue

i

i think that in terms of its roadmap

it's actually it's going to be cheaper

and better for a user and an application

builder to use

um a rollup that

posts you know proofs to ethereum

then these alternate layer ones if if

they are just a layer one so they can

have the same role the same um the same

sharding road map and then i think

it's sort of a fair game um but

i think that this approach is probably

going to win out over the you know

monolithic

layer one approach

um and i say that because i believe in

it for

you know that it's like pragmatically

the the best approach and not because i

think it's somehow more

i don't know that it's like for moral

reasons or whatever right i mean i get

what we were saying but i guess my point

is that

for like for for me as someone who

invests prolifically in applications

i

i see the strongest applications being

built

on non-ethereum these days and that's

something that i would have been

absolutely if you had told me this a

year ago i i would have said absolutely

no way

zero chance all the innovation i see is

on ethereum and now all the application

innovation i see is not on ethereum and

and so this is just

for me that's my perspective on it and

that makes me sad in a way because it's

different from what i thought it would

be and it's different from what i hoped

it would be

um and so i think that

i think that that's kind of where

where the

the the the biggest fear for me in

crypto is that if we get to a world

where the end game is then

you don't need to have any

like like you you get to the most

centralized chain and then that is the

thing that you know i mean i'm kind of

seeing this like and it scares me with

some of these web 2 guys and they're

saying like well you know what you don't

even need crypto you just have tokens

the whole point is tokens uh once you

have tokens uh you can incentivize

everybody you incentivize your users you

can get rid of the blockchain

right yeah yeah just give tokens and

this is i mean kobe was 20 mothers a bit

as well and this this is what really

scares me because if we don't if we

don't make reasonably credible

applications that that scales users you

you do some run some risks that like

um you know we're just talking about

tokens in five years that run in actual

databases um

so so i i come from that perspective but

i mean

i mean i think at the end of the day

like it's it's it's the points on both

sides are really well understood now i

think you know the market will decide

the new users will decide the new

builders will decide and and and i think

it's not even worth debating honestly

because i think it's more about

prognostication right

so people will step their chips the way

they want to set them and and then

that's it

yeah i completely agree i i i'm a pretty

strong believer in the thesis that

fast forward five years

and people will be using applications

they will not be using blockchains they

would be going directly to applications

like they go to their bank their broker

whatever their super app

and they will be using these

applications and they will know that

it's non-custodial

but they won't know

on what chain it runs um

and they they won't have to they don't

have to care and then it's purely

a matter of what chain um can get the

best

yeah properties to to build us into

users um and there won't be any sort of

yeah i mean any reason to favor one over

the other for any other reason and um

yeah that's that's that's definitely

also the approach that i'm taking

and um if it's true that other chants

can capture

better builders and can retain them in

the long term then i definitely think

that these chains are in a good position

personally i don't

i don't see that right now i think

definitely

it's very attractive for a new builder

to build on new chains but it's also

because

these chains tend to be empty empty here

and this is not going to sustain so

there's some amount of short-termism

and they tend to be big incentives right

so between building on ethereum and

building on avalanche where i know that

ava labs have is you know paying out

huge

they are dumping like avex incentives on

on any application that builds there of

course that's a huge bribe for me as an

application builder to favor their chain

but i also know

that this is not

long-term sustainable right so at some

point

the this this sort of incentivized

growth

will taper off and then what matters is

the actual technical trade-offs well i

think the why well i think the the the

biggest counter-argument to what you

said is that

it's already been wrong for many months

now right where

um

you know from the vision that we would

have seen a year ago to now it's already

been wrong and then so i think the

question is then

at what point will that vision be

correct and

i think the answer that most ethereum

people give is that the it will be

correct when we finally have l2 scaling

that is competitive with uh the

experience the user experience on layer

ones

um

that is what they say but what they're

underestimating

is that the new users don't have an

allegiance to ether the way that you do

right

so

even when that is out there is no

guarantee that the new user will then

say i value the technical trade-off of

ethereum i'm going to go there

that i think

is the biggest point and i would also

make the point that starkware does not

belong to ethereum

right starcover belongs to itself

and they very much do not plan to pay

rent to ethereum

so

this is something too where i would say

um

arguably all l2s will not want to pay

rent to ethereum

in my opinion they will also end up

becoming like l1s

so so that that kind of is my biggest

kind of point which is that the

execution layer the execution

environment that

provides the best experience for

applications

uh whether incentivized or not uh

once it has those and once it has a

flywheel of users coming in

that's incredibly powerful and i've seen

that with bsc and binance where you know

even with a weaker technical roadmap

they've been able to capture half of all

i mean they just have by far the most

users of any chain it's not even close

right and that's why all the new gamefly

companies are launching their games on

on bsc because that's just where the

users are um so

i think that it's just something where i

find the ethereum rhetoric to be

more out of touch with where i see

applications and users going than ever

before and this is something that i

think is is honestly irrelevant to the

average eatholder because like i said i

think each value crew now is not coming

from that stuff it's coming from people

buying bitcoin and ether together as

part of a monetary basket and so

i get why they're also out of touch with

it because they're because their goals

are different and their you know kind of

ideas are different but

if we're talking about um

where users are and where they're going

where builders are going i do find it

very facile to say well as soon as we

get our layer twos up then they're all

gonna come back i i personally not a

believer in that because i don't think

that that's um

i it's not how i've seen the world play

out

View Details

Listen to the Changelog: https://changelog.com/podcast/467

Essays:

  • https://www.swyx.io/LIP
  • https://www.swyx.io/api-economy
  • https://www.swyx.io/cloudflare-go

Transcript

Jerod Santo: So swyx, we have been tracking your work for years; well, you've been Learning in Public for years, so I've been (I guess) watching you learn, but we've never had you on the show, so welcome to The Changelog.

Shawn Wang: Thank you. Long-time listener, first-time guest, I guess... [laughs]

Adam Stacoviak: Yeah.

Jerod Santo: Happy to have you here.

Adam Stacoviak: Very excited to have you here.

Jerod Santo: So tell us a little bit of your story, because I think it informs the rest of our conversation. We're gonna go somewhat deep into some of your ideas, some of the dots you've been connecting as you participate and watch the tech industry... But I think for this conversation it's probably useful to get to know you, and how you got to be where you are. Not the long, detailed story, but maybe the elevator pitch of your recent history. Do you wanna hook us up?

Shawn Wang: For sure. For those who want the long history, I did a 2,5-hour podcast with Quincy Larson from FreeCodeCamp, so you can go check that out if you want. The short version is I'm born and raised in Singapore, came to the States for college, and was totally focused on finance. I thought people who were in the finance industry rules the world, they were masters of the universe... And I graduated just in time for the financial crisis, so not a great place to be in. But I worked my way up and did about 6-7 years of investment banking and hedge funds, primarily trading derivatives and tech stocks. And the more I covered tech stocks, the more I realized "Oh, actually a) the technology is taking over the world, b) all the value is being created pre-IPO, so I was investing in public stocks, after they were basically done growing... And you're kind of just like picking over the public remains. That's not exactly true, but...

Jerod Santo: Yeah, tell that to Shopify...

Shawn Wang: I know, exactly, right?

Adam Stacoviak: And GitLab.

Shawn Wang: People do IPO and have significant growth after, but that's much more of a risk than at the early stage, where there's a playbook... And I realized that I'd much rather be value-creating than investing. So I changed careers at age 30, I did six months of FreeCodeCamp, and after six months of FreeCodeCamp - you know, I finished it, and that's record time for FreeCodeCamp... But I finished it and felt not ready, so I enrolled myself in a paid code camp, Full Stack Academy in New York, and came out of it working for Two Sigma as a frontend developer. I did that for a year, until Netlify came along and offered me a dev rel job. I took that, and that's kind of been my claim to fame; it's what most people know me for, which is essentially being a speaker and a writer from my Netlify days, from speaking about React quite a bit.

[04:13] I joined AWS in early 2020, lasted a year... I actually was very keen on just learning the entire AWS ecosystem. You know, a frontend developer approaching AWS is a very intimidating task... But Temporal came along, and now I'm head of developer experience at Temporal.

Adam Stacoviak: It's an interesting path. I love the -- we're obviously huge fans of FreeCodeCamp, and Quincy, and all the work he's done, and the rest of the team has done to make FreeCodeCamp literally free, globally... So I love to see -- it makes you super-happy inside just to know how that work impacts real people.

Like, you see things happen out there, and you think "Oh, that's impacting", but then you really meet somebody, and 1) you said you're a long-time listener, and now you're on the show, so it just really -- like, having been in the trenches so long, and just see all this over-time pay off just makes me really believe in that whole "Slow and steady, keep showing up, do what needs done", and eventually things happen. I just love that.

Shawn Wang: Yeah. There's an infinite game mentality to this. But I don't want to diminish the concept of free, so... It bothers me a little, because Quincy actually struggles a lot with the financial side of things. He supports millions of people on like a 300k budget. 300k. If every single one of us who graduated at FreeCodeCamp and went on to a successful tech career actually paid for our FreeCodeCamp education - which is what I did; we started the hashtag. It hasn't really taken off, but I started a hashtag called #payitbackwards. Like, just go back, once you're done -- once you can afford it, just go back and pay what you thought it was worth. For me, I've paid 20k, and I hope that everyone who graduates FreeCodeCamp does that, to keep it going.

Adam Stacoviak: Well, I mean, why not...?

Shawn Wang: I'd also say one thing... The important part of being free is that I can do it on nights and weekends and take my time to decide if I want to change careers. So it's not just a free replacement to bootcamps, it actually is an async, self-guided, dip-your-toe-in-the-water, try-before-you-buy type of thing for people who might potentially change their lives... And that's exactly what happened for me. I kept my day job until the point I was like "Okay, I like enough of this... I'm still not good, but I like enough of this that I think I could do this full-time."

Adam Stacoviak: I like the #payitbackwards hashtag. I wish it had more steam, I suppose.

Jerod Santo: We should throw some weight behind that, Adam, and see if we can...

Adam Stacoviak: Yeah. Well, you know, you think about Lambda School, for example - and I don't wanna throw any shade by any means, because I think what Austin has done with Lambda... He's been on Founders Talk before, and we talked deeply about this idea of making a CS degree cost nothing, and there's been a lot of movement on that front there... But you essentially go through a TL;DR of Lambda as you go through it, and you pay it after you get a job if you hit certain criteria, and you pay it based upon your earnings. So why not, right? Why not have a program like that for FreeCodeCamp, now that you actually have to commit to it... But it's a way. I love that you paid that back and you made that an avenue, an idea of how you could pay back FreeCodeCamp, despite the commitment not being there.

Jerod Santo: Right.

Shawn Wang: Yeah. And Quincy is very dedicated to it being voluntary. He thinks that people have different financial situations. I don't have kids, so I can afford a bit more. People should have that sort of moral obligation rather than legal obligation.

I should mention that Lambda School is currently being accused of some fairly substantial fraud against its students...

Jerod Santo: Oh, really?

Shawn Wang: Yeah, it actually just came out like two days ago.

Adam Stacoviak: I saw that news too, on Monday.

Shawn Wang: Yeah. It's not evidenced in the court of law, it's one guy digging up dirt; let's kind of put this in perspective. But still, it's very serious allegations, and it should be investigated. That said, the business of changing careers and the business of teaching people to code, and this innovation of Income Share Agreements (ISA), where it actually makes financial sense for people to grow bootcamps and fund bootcamps - this is something I strongly support... Whether or not it should be a venture-funded thing, where you try to go for 10x growth every year - probably not... [laughs]

Adam Stacoviak: Yeah...

Jerod Santo: So after FreeCodeCamp you didn't feel quite ready, so you did do a bootcamp... Did you feel ready after that?

Shawn Wang: [08:03] Yeah. [laughs] I did a reflection, by the way, of my first year of learning to code, so people can look it up... It's called "No zero days. My path to learning to code", and I think I posted it on Hacker News. And doing everything twice actually helped me a lot. Because before I came into my paid bootcamp, I had already spun up some React apps. I had already started to mess with WebPack, and I knew enough that I wasn't understanding it very much, I was just following the instructions. But the second time you do things, you have to space, to really try to experiment, to actually read the docs, which most people don't do, and actually try to understand what the hell it is you're doing. And I felt that I had an edge over the other people in my bootcamp because I did six months of FreeCodeCamp prior.

Jerod Santo: So this other thing that you do, which not everybody does, is this Learning in Public idea... And you have this post, Learn in Public. You call it "The fastest way to learn", or the fastest way to build your expertise - networking, and second brain. I'm not sure what the second brain is, so help us out with that one... But also, why is learning in public faster than learning in private.

Shawn Wang: Yeah. This is a reflection that came from me understanding the difference, qualitatively, between why I'm doing so well in my tech career versus my finance career. In finance, everything is private, meaning the investment memos that I wrote, the trade ideas that I had - they're just from a company; they're intellectual property of my company. In fact, I no longer own them. Some of my best work has been in that phase, and it's locked up in an email inbox somewhere, and I'll never see it again. And that's because tech is a fundamentally open and positive-sum industry, where if you share things, you don't lose anything; you actually gain from sharing things... Whereas in finance it's a zero-sum battle against who's got the secret first and who can act on it first.

And I think when you're in tech, you should exploit that. I think that we have been trained our entire lives to be zero-sum, from just like the earliest days of our school, where we learn, we keep it to ourselves to try to pass the test, try to get the best scores, try to get the best jobs, the best colleges, and all that, because everything's positional. For you to win, others have to lose. But I don't see tech in that way, primarily because tech is still growing so fast. There's multiple ways for people to succeed, and that's just the fundamental baseline. You layer on top of that a bunch of other psychological phenomenon.

I've been really fascinated by this, by what it is so effective. First of all, you have your skin in the game, meaning that a lot of times when your name is on the blog posts out there, or your name is on the talk that you gave, your face is there, and people can criticize you, you're just incentivized to learn better, instead of just "Oh, I'll read this and then I'll try to remember it." No, it doesn't really stick as much. So having skin in the game really helps.

When you get something wrong in public, there are two effects that happen. First is people will climb over broken glass to correct you, because that's how the internet does. There's a famous XKCD comic where like "I can't go to bed yet." "Why?" "Someone's wrong on the internet. I have to correct them."

Jerod Santo: Right.

Shawn Wang: So people are incentivized to fix your flaws for you - and that's fantastic - if you have a small ego.

Jerod Santo: I was gonna say, that requires thick skin.

Shawn Wang: Yeah, exactly. So honestly -- and that's a barrier for a lot of people. They cannot get over this embarrassment. What I always say is you can learn so much on the internet, for the low, low price of your ego. If we can get over that, we can learn so much, just because you don't care. And the way to get over it is to just realize that the version that you put out today is the version you should be embarrassed about a year from now, because that shows that you've grown. So you divorce your identity from your work, and just let people criticize your work; it's fine, because it was done by you, before you knew what you know today. And that's totally fine.

And then the second part, which is that once you've gotten something wrong in public, it's just so embarrassing that you just remember it in a much clearer fashion. [laughter] This built a feedback loop, because once you started doing this, and you show people that you respond to feedback, then it builds a feedback and an expectation that you'll do the next thing, and people respond to the next thing... It becomes a conversation, rather than a solitary endeavor of you just learning the source material.

So I really like that viral feedback loop. It helps you grow your reputation... Because this is not just useful for people who are behind you; a lot of people, when they blog, when they write, when they speak, they're talking down. They're like "I have five years experience in this. Here's the intro to whatever. Here's the approach to beginners." They don't actually get much out of that.

[12:17] That's really good, by the way, for beginners; that's really important, that experts in the field share their knowledge. They don't see this blogging or this speaking as a way to level up in terms of speaking to their experts in their fields. But I think it's actually very helpful. You can be helpful to people behind you, you can be helpful to people around you, but you can actually be helpful to people ahead of you, because you're helping to basically broadcast or personalize their message. They can check their messaging and see - if you're getting this wrong, then they're getting something wrong on their end, docs-wise, or messaging-wise. That becomes a really good conversation. I've interacted with mentors that way. That's much more how I prefer to interact with my mentors than DM-ing and saying "Hey, can you be my mentor?", which is an unspecified, unpaid, indefinitely long job, which nobody really enjoys. I like project-based mentorship, I like occasional mentorship... I really think that that develops when you learn in public.

Adam Stacoviak: I've heard it say that "Today is the tomorrow you hope for."

Shawn Wang: Wow.

Adam Stacoviak: Because today is always tomorrow at some point, right? Like, today is the day, and today you were hoping for tomorrow to be better...

Jerod Santo: I think by definition today is not tomorrow...

Adam Stacoviak: No, today is the tomorrow that you hoped for... Meaning like "Seize your moment. It's here."

Jerod Santo: Carpe diem. Gotcha.

Adam Stacoviak: Yeah, kind of a thing like that.

Shawn Wang: I feel a little shady -- obviously, I agree, but also, I feel a little shady whenever I venture into this territory, because then it becomes very motivational speaking-wise, and I'm not about that. [laughs]

Adam Stacoviak: Kind of... But I think you're in the right place; keep showing up where you need to be - that kind of thing. But I think your perspective though comes from the fact that you had this finance career, and a different perspective on the way work and the way a career progressed. And so you have a dichotomy essentially between two different worlds; one where it's private, and one where it's open. That to me is pretty interesting, how you were able to tie those two together and see things differently. Because I think too often sometimes in tech, especially staying around late at night, correcting someone on the internet, you're just so deeply in one industry, and you have almost a bubble around you. You have one lens for which you see the world. And you've been able to have multi-faceted perspectives of this world, as well as others, because of a more informed career path.

Jerod Santo: Yeah. When you talk about finance as a zero-sum game, I feel like there's actually been moves now to actually open up about finance as well; I'm not sure if either of you have tracked the celebrity rise of Cathie Wood and Ark Invest, and a lot of the moves that she's doing in public. They're an investment fund, and they will actually publish their moves at the end of every day. Like, "We sold these stocks. We bought these stocks." And people laughed at that for a while, but because she's been successful with early on Bitcoin, early with Tesla, she's very much into growth stocks - because of that, people started to follow her very closely and just emulate. And when she makes moves now, it makes news on a lot of the C-SPANs and the... Is C-SPAN the Congress one? What's the one that's the finance one...?

Shawn Wang: CNBC?

Jerod Santo: CNBC, not C-SPAN. And so she's very much learning in public. She's making her moves public, she's learning as she goes, and to a certain degree it's paid off, it's paid dividends in her career. Now, I'm not sure if everyone's doing that... When you look at crypto investors, like - okay, pseudonymous, but a lot of that stuff, public ledgers. So there's moves that are being made in public there as well. So I wonder if eventually some of that mentality will change. What do you think about that?

Shawn Wang: [15:45] It's definitely changed for -- there's always been celebrity investors, and people have been copying the Buffett portfolio for 30 years. So none of that is new. What is new is that Cathie Wood is running an ETF, and just by way of regulation and by way of innovation, she does have to report those changes. [laughs] So mutual funds, hedge fund holdings - these have all been public, and people do follow them. And you're always incentivized to talk your book after you've established your position in your book...

Jerod Santo: Right, but you establish it first.

Shawn Wang: ...so none of that has changed. But yeah, Cathie has been leading an open approach...

Jerod Santo: Is it the rate of disclosure perhaps that's new? Because it seems like it's more real-time than it has historically...

Shawn Wang: Yeah. I mean, she's running an ETF, which is new, actually... Because most people just run mutual funds or hedge funds, and those are much more private. The other two I'll probably shout out is Patrick O'Shaughnessy who's been running I guess a fund of funds, and he's been fairly open. He actually adopted the "learn in public" slogan in the finance field, independently of me. And then finally, the other one is probably Ted Seides, who is on the institutional investor side of things. So he invests for universities, and teachers pensions, and stuff like that. So all these people - yeah, they've been leading that... I'm not sure if it's spreading, or they've just been extraordinarily successful in celebrity because of it.

Adam Stacoviak: This idea of "in public" is happening. You see people too, like -- CopyAI is building in public... This idea of learning in public, or building in public, or exiting in public... Whatever the public might be, it's happening more and more... And I think it's definitely similar to the way that open source moves around. It's open, so it's visible to everyone. There's no barrier to see what's happening, whether it's positive or negative, with whatever it is in public. They're leveraging this to their advantage, because it's basically free marketing. And that's how the world has evolved to use social media. Social media has inherently been public, because it's social...

Jerod Santo: Sure.

Adam Stacoviak: Aside from Facebook being gated, with friends and stuff like that... Twitter is probably the most primary example of that, maybe even TikTok, where if I'm a creator on TikTok, I almost can't control who sees my contact. I assume it's for the world, and theoretically, controlled by the algorithm... Because if I live in Europe, I may not see content in the U.S, and the algorithm says no, or whatever. But it's almost like everybody is just in public in those spaces, and they're leveraging it to their advantage... Which is an interesting place to be at in the world. There was never an opportunity before; you couldn't do it at that level, at that scale, ten years ago, twenty years ago. It's a now moment.

Jerod Santo: Yeah. Swyx, can you give us an example of something learned in public? Do you basically mean like blog when you've learned something, or ask questions? What does learning in public actually mean when it comes to -- say, take a technology. Maybe you don't understand Redux. I could raise my hand on that one... [laughter] How could I learn that in public?

Shawn Wang: There are a bunch of things that you can try. You can record a livestream of you going through the docs, and that's useful to maintainers, understanding "Hey, is this useful or not?" And that's immediately useful. It's so tangible.

I actually have a list -- I have a talk about this on the blog post as well... Just a suggestion of things you can do. It's not just blogging. You can speak, you can draw comics, cheatsheets are really helpful... I think Amy Hoy did a Ruby on Rails cheatsheet that basically everyone has printed out and stapled to their wall, or something... And if you can do a nice cheatsheet, I think that's also a way for you to internalize those things that you're trying to learn anyway, and it just so happens to benefit others.

So I really like this idea that whatever content you're doing, it's learning exhaust, it's a side effect of you learning, and you just happen to put it out there; you understand what formats work for you, because you have abnormal talents. Especially if you can draw, do that. People love developers who can draw. And then you just put it out there, and you win anyway just by doing it. You don't need an audience. You get one if you do this long enough, but you don't need an audience right away. And you win whether or not people participate with you. It's a single-player game that can become a multiplayer game.

Specifically for Redux - you know, go through source code, or go through the docs, build a sample app, do like a simple little YouTube video on it... Depending on the maturity, you may want to try to speak at a meetup, or whatever... You don't have to make everything a big deal. I'm trying to remove the perception from people that everything has to be this big step, like it has to be top of Hacker News, or something. No. It could just be helpful for one person. I often write blog posts with one persona in mind. I mean, I don't name that person, but if you focus on that target persona, actually often it does better than when you try to make some giant thesis that shakes the world...

Adam Stacoviak: [20:22] Yeah. Too often we don't move because we feel like the weight of the move is just too much. It's like "How many people have to read this for me to make this a success for me?" You mentioned it's a learning exhaust... And this exhaust that you've put out before - has it been helpful really to you? Is that exhaust process very helpful to you? Is that ingrained in the learnings that you've just gone through, just sort of like synthesize "Okay, I learned. Here's actually what I learned"?

Shawn Wang: Yeah. This is actually an opportunity to tie into that second brain concept which maybe you wanted to talk a little bit about. Everything that you write down becomes your second brain. At this point I can search Google for anything I've ever written on something, and actually come up on my own notes, on whatever I had. So I'm not relying on my memory for that. Your human brain, your first brain is not very good at storage, and it's not very good at search; so why not outsource that to computers? And the only way to do that is you have to serialize your knowledge down into some machine-readable format that's part of research. I do it in a number of places; right now I do it across GitHub, and my blog, and a little bit of my Discord. Any place where you find you can store knowledge, I think that's a really good second brain.

And for Jerod, I'll give you an example I actually was gonna bring up, which is when I was trying to learn React and TypeScript - like, this goes all the way back to my first developer job. I was asked to do TypeScript, even though I'd never done it before. And honestly, my team lead was just like "You know TypeScript, right? You're a professional React dev, you have to know TypeScript." And I actually said no, and I started learning on day one.

And what I did was I created the React to TypeScript cheatsheet, which literally was just copy-pasteable code of everything that I found useful and I wish I knew when I was starting out. And I've just built that over time. That thing's been live for three years now, it's got like 20,000 stars. I've taught thousands of developers from Uber, from Microsoft, React and TypeScript. And they've taught me - every time they send in a question or a PR... I think it's a very fundamental way of interacting, which is learning in public, but specifically this one - it's open source knowledge; bringing up our open source not just to code, but to everything else. I think that's a fundamental feedback loop that I've really enjoyed as well.

Break: [22:31]

Jerod Santo: One of the things I appreciate about you, swyx, is how you are always thinking, always writing down your thoughts... You've been watching and participating in this industry now for a while, and you've had some pretty (I think) insightful writings lately. The first one I wanna talk about is this API Economy post. The Light and Dark Side of the API Economy. You say "Developers severely underestimate the importance of this to their own career." So I figure if that's the case, we should hear more about it, right?

Shawn Wang: [laughs] Happy to talk about it. So what is the API economy? The API economy is developers reshaping the world in their image. Very bold statement, but kind of true, in the sense that there is now an API for everything - API for cards, API for bank accounts, API for text, API for authentication, API for shipping physical goods... There's all sorts of APIs. And what that enables you to do as a developer is you can call an API - as long as you know REST or GraphQL these days, you know how to invoke these things and make these things function according to the rest of your program. You can just fit those things right in. They're a very powerful thing to have, because now the cost of developing one of these services just goes down dramatically, because there's another company doing that as a service for you.

I wrote about it mainly because at Netlify we were pitching serverless, we were pitching static hosting, and we were pitching APIs. That's the A in JAMstack. But when I google "API economy", all the search results were terrible. Just horrible SEO, bland, meaningless stuff that did not speak to developers; it was just speaking to people who like tech buzzwords. So I wrote my own version. The people who coined it at Andreessen Horowitz, by the way, still to this day do not have a blog post on the API economy. They just have one podcast recording which nobody's gonna listen. So I just wrote my version.

Jerod Santo: You're saying people don't listen to podcasts, or what?

Shawn Wang: [laughs] When people are looking up a term, they are like "What is this thing?", and you give them a podcast, they're not gonna sit down and listen for 46 minutes on a topic. They just want like "Give me it, in one paragraph. Give me a visual, and I'm gonna move on with my day." So yeah, whenever I see an opportunity like that, I try to write it up. And that's the light side; a lot of people talk about the light side. But because it's a personal blog, I'm empowered to also talk about the dark side, which is that as much as it enables developers, it actually is a little bit diminishing the status of human expertise and labor and talent. So we can talk a little bit about that, but I'm just gonna give you time to respond.

Jerod Santo: [28:05] Hm. I'm over here thinking now that you're not at Netlify, I'm curious - this is tangential, but what's your take on JAMstack now? I know you were a professional salesman there for a while, but... It seems like JAMstack - we've covered it for years, it's a marketing term, it's something we've already been doing, but maybe taking it to the next level... There's lots of players now - Netlify, Vercel etc. And yet, I don't see much out there in the real world beyond the people doing demos, "Here's how to build a blog, here's how to do this, here's my personal website", and I'm just curious... I'm not like down on JAMstack, but I just don't see it manifesting in the ways that people have been claiming it's going to... And maybe we're just waiting for the technology to catch up. I'd just love to hear what you think about it now.

Shawn Wang: Yeah. I think that you're maybe not involved in that world, so you don't see this, but real companies are moving on to JAMstack. The phrasing that I like is that -- JAMstack has gone mainstream, and it's not even worth talking about these days, because it's just granted that that's an option for you... So PayPal.me is on the JAMstack, there's large e-commerce sites... Basically, anything that decouples your backend from your frontend, and your frontend is statically-hosted - that is JAMstack.

I actually am blanking on the name, but if you go check out the recent JAMstack Conf, they have a bunch of examples of people who've not only moved to JAMstack, but obviously moved to Netlify, where they're trying to promote themselves.

Jerod Santo: Sure, yeah.

Shawn Wang: So yes, it's true that I'm no longer a professional spokesperson, but it's not true that JAMstack is no longer being applied in the enterprise, because it is getting adoption; it's moved on that boring phase where people don't talk about it.

One thing I'll say - a thesis that I've been pursuing is that JAMstack is in its endgame. And what do I mean by that? There's a spectrum between the previous paradigm that JAMstack was pushing back on, which is the all-WordPress/server-render-everything paradigm, and then JAMstack is prerender-everything. And now people are filling in--

Jerod Santo: In the middle.

Shawn Wang: ...I'm gonna put my hands in the Zoom screen right now. People are filling that gap between fully dynamic and fully static. So that's what you see with Next.js and Gatsby moving into serverless rendering, partial rendering or incremental rendering... And there's a full spectrum of ways in which you can optimize your rendering for the trade-offs of updating your content, versus getting your data/content delivered as quickly as possible. There's always some amount of precompilation that you need to do, and there's always some amount of dynamicism that you have to do, that cannot be precompiled. So now there is a full spectrum between those.

Why I say it's the end game is because that's it, there's nothing else to explore. It's full-dynamic, full-static, choose some mix in the middle, that's it. It's boring.

Jerod Santo: Hasn't that always been the case though? Hasn't there always been sites that server-side render some stuff, and pre-render other things? You know, we cache, we pre-render, some people crawl their own websites once, and... I don't know it seems like maybe just a lot of excitement around a lot of things that we've been doing for many years.

Shawn Wang: [laughs] So first of all, those are being remade in the React ecosystem of things, which a lot of us lost when a lot of the web development industry moved to React... So that's an important thing to get back.

I mean, I agree, that's something that we've always had, pre-rendering, and services like that, caching at the CDN layer - we've always had that. There's some differences... So if you understand Netlify and why they're trying to push distributed persistent rendering (DVR), it's because caching is a hard problem, and people always end up turning off the cache. Because the first time you run into a bug, you're gonna turn off the cache. And the cache is gonna stay off.

So the way that Netlify is trying to fix it is that we put the cache in Git, essentially. Git is the source of truth, instead of some other source of truth distributed somewhere between your CDN and your database and somewhere else. No, everything's in Git. I'm not sure if I've represented that well, to be honest... [laughter]

Adam Stacoviak: Well, good thing you don't work for Netlify anymore. We're not holding you to the Netlify standard.

Shawn Wang: [31:58] Exactly. All I can say is that to me now it's a good thing in the sense that it's boring. It's the good kind of boring, in the sense of like "Okay, there's a spectrum. There's all these techniques. Yes, there were previous techniques, but now these are the new hotness. Pick your choice." I can get into a technical discussion of why this technique, the first one, the others... But also, is it that interesting unless you're evaluating for your site? Probably not...

Jerod Santo: Well, it does play into this API economy though, right? Because when you're full JAMstack, then the A is your most important thing, and when the A is owned by a bunch of companies that aren't yours - like, there's a little bit of dark side there, right? All of a sudden, now I'm not necessarily the proprietor of my own website, to a certain degree, because I have these contracts. I may or may not get cut off... There's a lot of concerns when everybody else is a dependency to your website.

Shawn Wang: Yeah. So I don't consider that a dark side at all.

Jerod Santo: No, I'm saying to me that seems like a dark side.

Shawn Wang: Yeah, sure. This is the risk of lock-in; you're handing over your faith and your uptime to other people. So you have to trade that off, versus "Can you build this yourself? And are you capable of doing something like this, and are you capable of maintaining it?" And that is a very high upfront cost, versus the variable cost of just hiring one of these people to do it for you as a service.

So what I would say is that the API economy is a net addition, because you as a startup - the startup cost is very little, and if you get big enough where it makes sense for you to build in-house - go ahead. But this is a net new addition for you to turn fixed costs into variable costs, and start with a small amount of investment. But I can hire -- like, Algolia was started by three Ph.D's in search, and I can hire them for cents to do search on my crummy little website. I will absolutely do that every single day, until I get to a big enough point where I cannot depend on them anymore, and I have to build my own search. Fine, I'll do that. But until then, I can just rely on them. That's a new addition there.

Jerod Santo: One hundred percent. So what then do you think is the darker side? You mentioned it, but put a finer point on it.

Shawn Wang: Yeah. The dark side is that there are people -- like, when I call an Uber ride, Uber is an API for teleportation, essentially. I'm here, I wanna go there. I press a button, the car shows up. I get in the car, get off, I'm there. What this papers over is that the API is calling real actual humans, who are being commoditized. I don't care who drives the car, I really don't. I mean, they may have some ratings, but I kind of don't care.

Jerod Santo: That was the case with taxis though, wasn't it?

Shawn Wang: That was the case with taxis, for sure. But there's a lot of people living below the API, who are economically constrained, and people who live above the API, developers, who have all the upside, essentially... Because the developers are unique, the labor is commoditized. My DoorDash pickers, my Instacart deliverers - all these are subsumed under the API economy. They're commodities forever, they know it, and there's no way out for them, unless they become developers themselves. There's a class system developing below and above the API. And the moment we can replace these people under the API with robots, you better believe we'll do that, because robots are way cheaper, and they complain less, they can work 24 hours, all this stuff.

Jerod Santo: Yeah.

Shawn Wang: So that's the dark side, which is, yeah, as a developer now - fantastic. I can control most parts of the economy with just a single API call. As a startup founder, I can develop an API for literally anything, and people will buy it. The downside is human talent is being commoditized, and I don't know how to feel about that. I think people are not talking enough about it, and I just wanna flag it to people.

Jerod Santo: Yeah.

Adam Stacoviak: So dark side could mean a couple things. One, it could mean literally bad; dark as synonymous with bad. Or dark as in shady. And we're not sure, it's obscured in terms of what's happening. And so let's use an Instacarter or a Dasher - to use their terminology. I happen to be a DoorDash user, so I know they're called Dashers; that's the only reason I know that. It's not a downplay, it's just simply what the terminology is...

[35:59] You could say it's below the API, but I wonder, if you've spoken with these people, or people that live in what you call below the API, because I would imagine they're not doing that because they're being forced. Like, it's an opportunity for them.

Shawn Wang: Oh, yeah.

Adam Stacoviak: And I remember when I was younger and I had less opportunity because I had less "above the API" (so to speak) talent... And I do agree there's a class here, but I wonder if it's truly bad; that dark is truly bad, or if it's just simply obscure in terms of how it's gonna play out.

Shawn Wang: This is about upside. They will never get to that six figures income with this thing.

Adam Stacoviak: Not that job.

Jerod Santo: No.

Shawn Wang: It's really about the class system, which is the dark side. You don't want to have society splinter into like a serving class and whatever the non-serving class is. It's also about the upside - like, I don't see a way for these people to break out unless, they really just take a hard stop and just go to a completely different career track.

Jerod Santo: Right.

Adam Stacoviak: Here's where I have a hard time with that... I'm not pushing back on that you're wrong, I'm just wondering more deeply...

Shawn Wang: Sure.

Adam Stacoviak: I imagine at one point in my life I was a DoorDasher.

Shawn Wang: Yeah.

Adam Stacoviak: I washed dishes, I did definitely unique jobs at a young age before I had skill. And so the path is skill, and as long as we have a path to skill, which you've show-cased through FreeCodeCamp in your path, then I think that dark side is just simply shady, and not bad.

Shawn Wang: Okay.

Adam Stacoviak: And I'm just trying to understand it, because I was truly a DoorDasher before DoorDash was available. I washed dishes, delivered papers, I had servant-level things; I was literally a server at a restaurant before... And I loved doing that kind of work, but my talents have allowed me to go above that specific job, and maybe even the pay that came with that job. I've served in the military before, got paid terrible dollars, but I loved the United States military; it's great. And I love everybody who's served in our military. But the point is, I think the path is skill, and as long as we have a pathway to skill, and jobs that can house that skill and leverage that skill to create new value for the world, I just wonder if it's just necessary for society to have, I suppose, above and below API things.

Jerod Santo: Until we have all the robots. Then there is nobody underneath. At that point it's all robots under the API.

Shawn Wang: Yes, and that is true in a lot of senses, actually. Like, farming is mostly robots these days. You do have individual farmers, but they're much less than they used to be. I don't know what to say about that, shady or dark... I think it's just -- there's no career track. You have to go break out of that system yourself. Thank God there's a way to do it. But back in the day, you used to be able to go from the mailroom to the boardroom.

Adam Stacoviak: I see.

Shawn Wang: I see these stories of people who used to be janitors at schools become the principal. Companies used to invest in all their people and bring them up. But now we're just hiring your time, and then if you wanna break out of that system - good luck, you're on your own. I think that that lack of upward mobility is a problem, and you're not gonna see it today. It's a slow-moving train wreck. But it's gonna happen where you have society split in two, and bad things happen because of it.

Adam Stacoviak: I mean, I could agree with that part there, that there definitely is no lateral movement from Dasher to CEO of DoorDash.

Shawn Wang: It's just not gonna happen.

Adam Stacoviak: Or VP of engineering at DoorDash. I think because there is no path, the path would be step outside of that system, because that system doesn't have a path. I could agree with that, for sure.

Jerod Santo: Yeah. I mean, the good news is that we are creating -- there are paths. This is not like a path from X to Y through that system, but there are other alternate paths that we are creating and investing in, and as well as the API gets pushed further and further down in terms of reachability - we now have more and more access to those things. It's easier now, today, than it ever has been, because of what we were talking about, to be the startup founder, right? To be the person who starts at CEO because the company has one person in it, and they're the CEO. And to succeed in that case, and become the next DoorDash.

Adam Stacoviak: True.

Jerod Santo: So there are opportunities to get out, it's just not a clear line... And yeah, it takes perhaps some mentorship, perhaps ingenuity... A lot of the things that it takes to succeed anyway, so...

Shawn Wang: [40:05] I'll give a closing note for developers who are listening, because you're already a developer... So the analogy is if you're above the API, you tell machines what to do; if you're below the API, machines tell you what to do. So here's the developer analogy, which is there's another division in society, which is the kanban board. If you're below the kanban board, the kanban board tells you what to do. If you're above it, you tell developers what to do. [laughs]

Jerod Santo: There you go.

Shawn Wang: So how do you break out of that class division? I'll leave it out to you, but just keep in mind, there's always layers.

Jerod Santo: I love that.

Adam Stacoviak: I love the discussion around it, but I'm also thankful you approached the subject by a way of a blog post, because I do believe that this is interesting to talk about, and people should talk about it, for sure. Because it provides introspection into, I guess, potentially something you don't really think about, like "Do I live below or above the APi?" I've never thought about that in that way until this very moment, talking to you, so... I love that.

Break: [40:58]

Jerod Santo: So another awesome post you have written lately is about Cloudflare and AWS. Go - not the language, the game Go... I know very little about the language, and I know even less about the game... And Chess... How Cloudflare is approaching things, versus how AWS and Google and others are... Given us the TL;DR of that post, and then we'll discuss.

Shawn Wang: Okay. The TL;DR of that post is that Cloudflare is trying to become the fourth major cloud after AWS, Azure and GCP. The way they're doing it is fundamentally different than the other three, and the more I've studied them - I basically observed Cloudflare for the entire time since I joined Netlify. Netlify kind of is a competitor to Cloudflare, and it's always this uncomfortable debate between "Should you put Cloudflare in front of Netlify? Netlify itself is a CDN. Why would you put a CDN in front of another CDN?" Oh, because Netlify charges for bandwidth, and Cloudflare does not. [laughter]

Jerod Santo: It's as simple as that.

Shawn Wang: And then there's DDOS protection, all that stuff; very complicated. Go look up the Netlify blog post on why you should not put Cloudflare in front of Netlify, and decide for yourself. But Netlify now taking on AWS S3 - S3 is like a crown jewel of AWS. This is the eighth wonder of the world. It provides eleven nines of durability. Nothing less than the sun exploding will take this thing down... [laughs]

Jerod Santo: Right? You know what's funny - I don't even consider us at Changelog AWS customers; I don't even think of us that way. But of course, we use S3, because that's what you do. So yeah, we're very much AWS customers, even though I barely even think about it, because S3 is just like this thing that of course you're gonna use.

Shawn Wang: There's been a recent history of people putting out S3-compatible APIs, just because it's so dominant that it becomes the de-facto standard. Backblaze did it recently. But Cloudflare putting out R2 and explicitly saying "You can slurp up the S3 data, and by the way, here's all the cost-benefit of AWS egress charges that's what Matthew Prince wrote about in his blog post is all totally true, attacks a part of AWS that it cannot compromise on and just comes at the top three clouds from a different way, that they cannot respond to.

[44:17] So I always like these analogies of how people play destruction games. I'm a student of destruction, and I study Ben Thompson and Clay Christensen, and that entire world, very quickly... So I thought this was a different model of destruction, where you're essentially embracing rather than trying to compete head-on. And wrapping around it is essentially what Go does versus chess, and I like -- you know, there's all these comparisons, like "You're playing 2D chess, I'm playing 3D chess. You're playing chess, I'm playing Go." So Cloudflare is playing Go by surrounding the S3 service and saying "Here is a strict superset. You're already a consumer of S3. Put us on, and magically your costs get lower. Nothing else about it changes, including your data still lives in AWS if you ever decide to leave us." Or if you want to move to Cloudflare, you've just gotta do the final step of cutting off S3.

That is a genius, brilliant move that I think people don't really appreciate, and it's something that I study a lot, because I work at companies that try to become the next big cloud. I worked at Netlify, and a lot of people are asking, "Can you build a large public company on top of another cloud? Our second-layer cloud is viable." I think Vercel and Netlify are proving that partially it is. They're both highly valued. I almost leaked some info there... When does this go out? [laughs]

Jerod Santo: Next week, probably...

Shawn Wang: Okay, alright... So they're both highly valued, and - like, can they be hundred-billion-dollar companies? I don't know. We don't know the end state of cloud, but I think people are trying to compete there, and every startup -- I nearly joined Render.com as well. Every startup that's trying to pitch a second-layer cloud thesis is always working under the shadows of AWS. And this is the first real thesis that I've seen, that like "Oh, okay, you not only can credibly wrap around and benefit, you can actually come into your own as a fourth major cloud." So I'm gonna stop there... There's so many thoughts I have about Cloudflare.

Jerod Santo: Yeah. So do you see that R2 then -- I think it's a brilliant move, as you described it... As I read your post, I started to appreciate, I think, the move, more than I did when I first read about it and I was like "Oh, they're just undercutting." But it seems they are doing more than just that. But do you think that this R2 then is a bit of a loss leader in order to just take a whole bunch of AWS customers, or do you think there's actually an economic -- is it economically viable as a standalone service, or do you think Cloudflare is using it to gain customers? What are your thoughts in their strategy of Why?

Shawn Wang: This is the top question on Twitter and on Hacker News when they launch. They are going to make money on this thing, and the reason is because of all the peering agreements that they've established over the past five years. As part of the normal business strategy of Cloudflare, they have peering agreements with all of the ISPs; bandwidth is free for them. So... For them in a lot of cases. Again, I have to caveat all this constantly, because I should note to people that I am not a cloud or networking expert. I'm just learning in public, just like the rest of you, and here's what I have so far. So please, correct me if I'm wrong, and I'll learn from it.

But yeah, I mean - straight on, it's not a loss leader. They plan to make money on it. And the reason they can is because they have worked so hard to make their cost structure completely different in AWS, and they've been a friend to all the other ISPs, rather than AWS consuming everything in its own world. Now you're starting to see the benefits of that strategy play out. And by the way, this is just storage, but also they have data store, also they have service compute, all following the same model.

Jerod Santo: So what do you think is a more likely path over the next two years? Cloudflare --

Adam Stacoviak: Prediction time!

Jerod Santo: ...Cloudflare steals just massive swathes of AWS customers, or AWS slashes prices to compete?

Shawn Wang: So I try not to do the prediction business, because I got out of that from the finance days... All I'm doing is nowcasting. I observe what I'm seeing now and I try to put out the clearest vision of it, so the others can follow.

I think that it makes sense for them to be replicating the primitives of every other cloud service. So in 2017 they did service compute with Cloudflare Workers. In 2018 they did eventually consistent data store. In 2019 - website hosting; that's the Netlify competitor. In 2020 they did strongly-consistent data store, with Durable Objects. In 2021 object storage. What's next on that list? Go on to your AWS console and go shopping. And instead of seven different ways to do async messaging in AWS, probably they're gonna do one way in Cloudflare. [laughs]

Adam Stacoviak: [48:34] A unified API, or something like that...

Jerod Santo: Yeah, they'll just look at AWS' offerings, the ones they like the best, and do it that way, right?

Shawn Wang: Yeah, just pick it up.

Adam Stacoviak: Maybe the way to get a prediction out of you, swyx, might be rather than directly predict, maybe describe how you win Go.

Shawn Wang: How you win Go...

Adam Stacoviak: Yeah, what's the point of Go? How do you win Go? Because that might predict the hidden prediction, so to speak.

Shawn Wang: Okay. For listeners who don't know Go, let me draw out the analogy as well. So most people are familiar with chess; individual chess pieces have different values and different points, and they must all support each other. Whenever you play chess, you need the Knight to support the pawns, something like that... Whereas in Go, you place your pieces everywhere, and they're all indistinguishable from each other. And it's more about claiming territory; at the end of the day, that's how you win Go, you claim the most territory compared to the others... And it's never a winner-take-all situation. Most likely, it's like a 60/40. You won 60% of the territory and your competitor has 40% of the territory. That's more likely a mapping of how cloud is gonna play out than chess, where winner-takes-all when you take the King. There's no King in the cloud, but--

Jerod Santo: Are you sure...?

Shawn Wang: ...there's a lot likely of territory claiming, and Cloudflare is really positioned very well for that. It's just part of the final realization that I had at the end of the blog post. And partially, how you take individual pieces of territory is that you surround all the pieces of the enemy and you place the final piece and you fill up all the gaps, such that the enemy is completely cut off from everything else and is surrounded. And that's what R2 does to S3 - it surrounds S3, and it's up to you to place that final piece. They call it, Atari, by the way, which is the name of the old gaming company, Atari. They have placed AWS S3 in Atari, and it's up to the customers to say "I'm gonna place that final piece. I'm gonna pay the cost of transferring all my data out of S3 and cut S3 off", and they cut off all the remaining liberties. So how do you win in Go? You claim the most amount of territory, and you surround the pieces of the enemy.

Adam Stacoviak: Which, if you thought maybe that was oxygen, the territory, you might suck the oxygen away from them, so they can't live anymore, so to speak... And maybe you don't take it by killing it. Maybe you sort of suffocate it almost, if their space becomes small enough; if you take enough territory and it begins to shrink enough, it's kind of like checkmate, but not.

Shawn Wang: Yeah. There's also a concept of sente in Go, which is that you make a move that the opponent has to respond to, which is kind of like a check, or checkmate -- actually, not; just the check, in chess. And right now, AWS doesn't feel the need to respond. Cloudflare is not big enough. Like, these are names to us, but let's just put things in numbers. Cloudflare's market cap is 36 billion, AWS' market cap is 1.6 trillion; this is Amazon's total market cap. Obviously, AWS is a subset of that.

Jerod Santo: Sure.

Shawn Wang: So your competitor is 40 times larger than you. Obviously, Cloudflare is incentivized to make a lot of noise and make themselves seem bigger than it is. But until AWS has to respond, this is not real.

Adam Stacoviak: Nice.

Jerod Santo: So as a developer, as a customer of potentially one or both of these... Let's say you have a whole bunch of stuff on S3 - I'm asking you personally now, swyx - and R2 becomes available... Is that a no-brainer for you, or is there any reason not to use that?

Shawn Wang: You're just adding another vendor in your dependency tree. I think for anyone running silicon bandwidth, it is a no-brainer.

Jerod Santo: Yeah. So over the course of n months, where n equals when they launch plus a certain number - I mean, I think this is gonna end up eventually on Amazon's radar, to where it's gonna start affecting some bottom lines that important people are gonna notice. So I just wonder - I mean, how much territory can Cloudflare grab before there's a counter-move? It's gonna be interesting to watch.

Shawn Wang: [52:12] So Ben from Vantage actually did a cost analysis... Vantage is a startup that is made up former AWS Console people; they're trying to build a better developer experience on top of AWS. They actually did a cost analysis on the R2 move, and they said that there's probably a hundred billion dollars' worth of revenue at stake for Amazon. So if they start to have a significant dent in that, let's say like 40%, AWS will probably have to respond. But until then, there's nothing to worry about. That's literally how it is in Amazon; you have to see the numbers hit before you respond.

Jerod Santo: Yeah. It hasn't even been a blip on the radar at this point, the key metrics to the people who are important enough to care are watching. You said you started watching all of these CDNs. Of course, you worked at Netlify... You take an interest in backends. There's something you mentioned in the break about frontenders versus backend, and where you've kind of been directing your career, why you're watching Cloudflare so closely, what you're up to now with your work... Do you wanna go there?

Shawn Wang: Let's go there. So if you track my career, I started out as a frontend developer. I was developing design systems, I was working with Storybook, and React, and all that... Then at Netlify I was doing more serverless and CLI stuff. At AWS more storage and database and AppSync and GraphQL stuff... And now at Temporal I'm working on a workflow engine, pure backend. I just went to KubeCon two weeks ago...

Jerod Santo: Nice!

Shawn Wang: What is a frontend developer doing at KubeCon...?

Adam Stacoviak: New territory.

Shawn Wang: It's a frontend developer who realizes that there's a career ceiling for frontend developers. And it's not a polite conversation, and obviously there are exceptions to frontend developers who are VPs of engineering, frontend developers who are startup founders... And actually, by the way, there's a lot of VC funding coming from frontend developers, which is fantastic for all my friends. They're all getting funded, left, right and center. I feel left out. But there is a Career ceiling, in a sense that survey a hundred VPs of engineering, how many of them have backend backgrounds, and how many of them have frontend backgrounds? And given that choice, what's more likely for you and your long-term career progression? Do you want to specialize in frontend or do you want to specialize in backend? Different people have different interests, and I think that you can be successful in whatever discipline you pick. But for me, I've been moving towards the backend for that reason.

Adam Stacoviak: Describe ceiling. What exactly do you mean when you say "ceiling"?

Shawn Wang: Career ceiling. What's your terminal title.

Jerod Santo: Like your highest role, or whatever. Highest salary, highest role, highest title...

Adam Stacoviak: Gotcha.

Shawn Wang: Like, straight up, how many VPs of engineering and CTOs have backend backgrounds versus frontend.

Jerod Santo: Yeah. I mean, just anecdotally, I would agree with you that it's probably 8 or 9 out of 10 CTOs have -- is that what you said, 8 or 9?

Shawn Wang: Yeah, yeah. So there's obviously an economic reasoning for this; it's because there's a bias in the industry that frontend is not real development, and backend is. And that has to be combated. But also, there's an economic reasoning, and I always go back to the economics part, because of my finance background... Which is that your value to the company, your value to the industry really depends on how many machines run through you. You as an individual unit of labor, how much money do you control, and how much machine process, or compute, or storage, or whatever runs through you. And just straight-up frontend doesn't take as much. [laughs] Yes, frontend is hard, yes, design is hard, yes, UX is crucially important, especially for consumer-facing products... But at the end of the day, your compute is being run on other people's machines, and people don't value that as much as the compute that I pay for, that I need to scale, and therefore I need an experienced leader to run that, and therefore that is the leader of my entire eng.

Jerod Santo: I wonder if that changes at all for very product-focused orgs, where I think a lot of frontenders, the moves are into product design and architecture, and away from - not software architecture, but product design. And it seems like maybe if you compare - not VP of engineering, but VP of product, you'd see a lot of former frontenders.

Shawn Wang: [56:03] Yeah.

Jerod Santo: Maybe that's their path. Do you think that's --

Shawn Wang: Totally. But you're no longer a frontend dev. You suddenly have to do mocks...

Jerod Santo: Yeah, but when you're VP of engineering you're not a backend dev either.

Shawn Wang: Yeah.

Jerod Santo: So you're kind of both ascending to that degree

Shawn Wang: Backends devs will never report to you, let's put it that way.

Jerod Santo: Okay. Fair.

Shawn Wang: [laughter] But somehow, frontend devs have to report to backend devs, for some reason; just because they're superior, or something. I don't know, it's just like an unspoken thing... It's a very impolite conversation, but hey, it's a reality, man.

Jerod Santo: So do you see this personally, or do you see this by looking around?

Shawn Wang: Yeah.

Jerod Santo: Yeah. You felt like you had reached a ceiling.

Shawn Wang: Well, again, this is very impolite; there's a ton of ways to succeed, and there are definitely exceptions. Emily Nakashima at Honeycomb - former frontend person, now VP of engineering. I don't know, I could have done that. I have interest in backend and I'm pursuing that. So I will say that - this is a soft ceiling, it's a permeable ceiling. It's not a hard ceiling.

Jerod Santo: Sure.

Shawn Wang: But there's a ceiling though, because you can see the numbers.

Adam Stacoviak: What is it in particular the VP of engineering does that would make a frontender less likely to have that role? What specifically? I mean, engineering is one of the things, right? Commanding the software... Which is not necessarily frontend.

Jerod Santo: Well, frontend is also an engineering discipline.

Adam Stacoviak: I guess it kind of depends on the company, too. Honeycomb is probably a different example.

Shawn Wang: I haven't been a VP of engineering, so I only have some theories. I suggest you just ask the next VP of engineering that you talk to, or CTO.

Adam Stacoviak: Yeah.

Jerod Santo: Yeah. That'd be a good one to start asking people.

Adam Stacoviak: What do you do here? What is it you do here?

Shawn Wang: What is it you do here?

Jerod Santo: Exactly.

Shawn Wang: [laughs]

Adam Stacoviak: Well, I just wondered if there was a specific skillset that happens at that VP of engineering level that leads more towards a backender being more likely than a frontender to get hired into the role.

Shawn Wang: I think there's some traditional baggage. Power structures persist for very long times... And for a long time UX and frontend was just not valued. And we're like maybe five years into the shift into that. It's just gonna take a long time.

Jerod Santo: I agree with that. So tell us what you're up to now. You said you're doing workflows... I saw a quick lightning talk; you were talking about "React for the backend." So you're very much taking your frontend stuff into the backend here, with React for the backend. Tell us about that.

Shawn Wang: Let's go for it. So at Netlify and at AWS I was essentially a developer advocate for serverless. So this is very cool - it does pay-as-you-go compute, and you can do a lot of cool stuff with it. But something that was always at the back of my mind bothering me, that serverless does not do well, is long-running jobs. It just does not do well. You have to chain together a bunch of stuff, and it's very brittle; you cannot test it... It's way more expensive than you would do in a normal environment.

Jerod Santo: Yeah.

Shawn Wang: And it made me realize that in this move to take apart everything and make everything as a service, we have gained scalability, but we've lost basically everything else. And what I was trying to do was "How do we reconstruct the experience of the monolith? What are the jobs to be done?" When you break it down, what does a computer do for you, and what is not adequately addressed by the ecosystem?

I went through the exercise... I wrote a blog post called "Reconstructing the monolith, and I actually listed it out." So what are the jobs of cloud for a computer? You want static file serving, you want functions, you want gateway, you want socket management, job runners, queue, scheduler, cold storage, hot storage. There's meta jobs like error logging, usage logging, dashboarding, and then edge computing is like a unique to cloud thing. But everything else, you can kind of break it up and you can locate it on one machine, or you can locate it on multiple machines, some of them owned by you, some of them not owned by you.

The thing that serverless -- that had a whole in the ecosystem was job running. Not good. Basically, as an AWS developer right now, the answer is you set a CloudWatch schedule function, and you pull an endpoint, and that should read some states from a database, and check through where you are, and compute until the 15-minute timeout for Lambda, and then save it back in, and then wait for the next pull, and start back up again. Super-brittle, and just a terrible experience; you would never want to go this way.

[01:00:08.13] The AWS current response to that is AWS Step Functions, which is a JSON graph of what happens after the other, and this central orchestrator controls all of that. I think we could do better, and that's eventually what got me to temporal. So essentially, this blog post that I wrote - people found me through that, and hired both our head of product and myself from this single blog post. So it's probably the highest ROI blog post I've ever written.

Jerod Santo: Wow. That's spectacular.

Shawn Wang: It's just the VC that invested in Temporal. So what Temporal does is it helps you write long-running workflows in a doable fashion; every single state transition is persisted to a database, in idiomatic code. So idiomatic Java, idiomatic Go, idiomatic JavaScript, and PHP. This is different from other systems, because other systems force you to learn their language. For Amazon, you have to learn Amazon States Language. For Google Workflows - Google Workflows has a very long, very verbose JSON and YAML language as well.

And these are all weird perversions of -- like, you wanna start simple; JSON is very simple, for doing boxes and arrows, and stuff like that... But you start ending up having to handwrite the AST of a general-purpose programming language, because you want variables, you want loops, you want branching, you want all that god stuff. And the best way to model asynchronous and dynamic business logic is with a general-purpose programming language, and that's our strong opinion there.

So Temporal was created at Uber; it runs over 300 use cases at Uber, including driver onboarding, and marketing, and some of the trips stuff as well. It was open source, and adopted at Airbnb, and Stripe, and Netflix, and we have all those case studies on -- DoorDash as well, by the way, runs on the Uber version of Temporal.

Jerod Santo: There you go, Adam.

Shawn Wang: And yeah, they spun out to a company two years ago, and we're now trying to make it as an independent cloud company. And again, the cloud strategy part comes in, right? Like, why should this be an independent startup, versus just being a functionality in other clouds? Because this is one of those interesting mid-points that actually lets you be multi-cloud. Because as a source of truth of application state, I can call between clouds, and I happen to be the neutral party. So it's a very nice position to be in.

Jerod Santo: Nice. What I saw from your code that excited me, which I think was the coolest part, is - basically inside of this workflow, which looks like a serialized function, serialized meaning like step one, two, three, four, five, you have a step in there that says "Sleep for a month, and then wake up."

Shawn Wang: Yeah.

Jerod Santo: This is how you're implementing like a 30-day trial, or something, right?

Shawn Wang: Yeah.

Jerod Santo: Like, "Charge their Stripe card, make sure it's valid, and then sleep for 30 days. Wake up and actually charge the amount." I thought "Now, that's a cool demo right there." You got my interest.

Shawn Wang: You liked it? [laughs]

Jerod Santo: Yeah, that's sweet.

Shawn Wang: So Temporal combines a database scheduler and a queue system. So why do we not currently do "sleep 30 days" in our system? Because it ties up cross-compute, and it's all in memory; like, it's gonna go away the moment your system goes down. So what you need to do is at every single point in time save any state change to the database, and be able to set internal timers to wake up again when it's time to carry on to the next step. And by the way, what you saw there with the 30-day sleep is also applicable for timeouts and retries. So any single time that you need to call an API, "Oh, it's temporarily rate-limited", you need to try it again. But guess what - you have to set up all this infrastructure and code to do the timeouts and retries. With Temporal, it just kind of bakes that in for you.

Adam Stacoviak: Interesting. What's the prediction then? So if this is the next --

Jerod Santo: He doesn't like to predict... [laughs]

Adam Stacoviak: ...big thing and you've got a knack for going to the right clouds...

Jerod Santo: Nowcast us.

Adam Stacoviak: ...or at least the most influential ones, what's your hot take -- would you call it your Nowcast...? What's your Nowcast for Temporal? What's gonna happen in the next -- what's now for the next six months, a year? What's the current now?

Shawn Wang: Yeah, yeah. So for what it's worth, the multi-cloud story is not something we're pushing at all. It's just possible; it's not a main part of the story. The main part of the story is that people are doing long-running jobs badly, they're doing microservice orchestration badly, and that mostly comes out of not having the right abstraction to do it.

[01:04:08.13] We have centuries of distributed systems people here that solve that for you in a framework. If you just thought in our breakdown of workflow activities everything else is gonna behave predictably and testably, and you can maintain it.

So I have a blog post for people who are interested on Why Temporal. That's literally the URL, WhyTemporal. The prediction really is about that microservices are exploding, serverless environments are exploding, and they need a way to manage complexity. Every time you call an API, your risk of failure goes up exponentially the more APIs you call. And workflows are getting more and more complex. So we're just long that. As long as that goes up, we go up. [laughter] And I think that's a fairly safe bet, I think.

The other thing which -- personally, for me, Netlify struggles to justify its value because people again don't value CDNs very much, basically because Cloudflare gives it away for free. It gives away a very, very good product. But I've noticed that database companies have no problems monetizing. You talk to Spencer at Cockroach...

Adam Stacoviak: That's right.

Shawn Wang: ...or you talk to whoever runs MongoDB.

Adam Stacoviak: Fauna.

Shawn Wang: Fauna, exactly. And that's because people know how to pay for storage.

Adam Stacoviak: Planet scale.

Shawn Wang: They know how to pay for bandwidth, and compute, and all this. Very, very well-established things. And I think there's a very strong roadmap here that we can just follow, that doesn't take a rocket science genius at product-market fit, or whatever... And we're seeing it, by the way. We have strong customers... We just got Stripe to present how they're a user of us at our community meetup...

Jerod Santo: That's cool.

Shawn Wang: And it's just absurd. The amount of product-market fit here is just amazing. It's an open source project, so you can self-host it, but we're seeing that people want to pay us to do it for them, and it's very serious companies. I see multiple instances where this has worked in the past, so I feel very safe betting on this thing.

Jerod Santo: Well, we will hold off any further questions, because we're gonna bring you on JS Party for a full Temporal deep-dive, coming to a JS Party near you soon. Listeners, if you're not listening to JS Party, you've got something wired wrong. You've gotta head over there...

Adam Stacoviak: JSParty.fm.

Jerod Santo: That's right. Stay tuned, because swyx will be hitting that feed soon for a full conversation with people who are smarter than Adam and I are at things like JavaScript, and React, and they can ask the hard questions that we can only feign asking.

Swyx, this has been so much fun. Any final words, final thoughts, anything you wanna say before we call it a show?

Shawn Wang: So my call-to-action for people is to learn in public more. Share what you learn, and as you have reflective thoughts, like I've been doing with the Cloudflare and the API economy stuff - share those as well... Because I'm only one guy. I'm eager to hear your perspectives. Developers don't talk enough about the real issues; I wish you did. I wish people shared more. I know it's an extra burden and I know you have dayjobs and stuff, but if you can find the time, share it, and I think you will find that it's rewarding to you, personally and professionally.

Adam Stacoviak: Yeah. I appreciate you, man. Thank you for being a listener for all these years, thank you for all you shared here today. We really appreciate you. Thank you.

Shawn Wang: Yeah, thanks for having me on. It was a blast.

View Details

Listen to the full concerto: https://www.youtube.com/watch?v=0Cg_0jepxow

Paganini while Hula Hooping with TwoSet Violin: https://www.youtube.com/watch?v=eOjO4ekcJQA

Hilary on Wikipedia and Documentary and NPR Tiny Desk

View Details

Watch: https://www.youtube.com/watch?v=FZ0cG47msEk&list=PLNG_1j3cPCaZZ7etkzWA7JfdmKWT0pMsa
Read: https://reactnative.dev/blog/2021/08/26/many-platform-vision

View Details

Listen to the Changelog https://changelog.com/podcast/469 (40mins in)

React Distros: tweet, blog

Try it out: https://hydrogen.new/

Transcript

when we looked at the available set of tools in the React ecosystem, we felt like the existing crop of frameworks, and particularly ones for commerce, don’t solve the right problems, or maybe don’t stack the right decisions to enable this dynamic commerce experience that we’ve been talking about.

There’s a host of really good tools for statically generated pages, but if you really wanna build a fast, server-side-rendered, React-powered experience, you have to hire some really smart people to make that work. And that gets very expensive very quickly. So most teams fail. They end up with subpar experiences, and we thought we could help. So this is why we entered into this space and said – it’s not like we’ve invented server-side streaming.

JEROD SANTO

Right.

ILYA GRIGORIK

I think I was with you guys on this show ten years ago, talking about streaming in HTTP servers.

ADAM STACOVIAK

Yeah.

ILYA GRIGORIK

So this is not new technology, but it’s a new stack. It’s a different stack, it’s a different set of choices. So now the question is “Well, I do want to use React on the server and client. How do I do that, while still delivering a really fast server-side streaming solution that is not blocking on data requests, such that I can enable the clients to quickly render at least like a visual shell of the page, provide some loading indicators, and speak to that user experience aspect of speed, not just the technical metric of speed?” Like, did you get the fast time to first byte?

JEROD SANTO

Yeah.

ADAM STACOVIAK

I can imagine us being two years down the road, having you back on, Ilya… So we’re at the opening gates of a new thing for you. You’ve put six months into this, you’ve worked closely with the React core team, so you’ve had very knowledgeable people involved with this project on how React works. But I can just imagine, to Jerod’s question, like “Why did you choose React over Vue, Svelte, and does it lock out other frameworks?”, I can imagine this as the beginning. And like any beginnings, you start from somewhere.

ILYA GRIGORIK

I think that’s exactly right. We took a pragmatic choice. So if you look at Oxygen - as I said, it’s a thing that accepts an HTTP request and spits out an HTTP response. It doesn’t matter what JavaScript code runs inside. So any server-side JavaScript is fair game. On top of that we have GraphQL, which is framework-agnostic, of course… And now it’s a question of “How do you make the right architecture decisions on the server? How you compose the response such that you don’t end up blocking the response for too long?”

[36:12] So let’s say you need to fetch product data, query some product description data, maybe figure out card discounts… Can you do those things in parallel, as opposed to sequentially and blocking, and stream that such that the user has a good user experience?” So that’s a set of choices that you have to make, and that’s a problem that we’re solving with Hydrogen.

JEROD SANTO

You mentioned Next.js… Did you consider a similar approach, versus all server-side rendering, but kind of a hybrid, where they have some prerendering, they also have some server-side rendering? Or is it just caching is your answer to all prerendered pages? Like, you’ve got a marketing page, or your About page, and instead of prerendering it, you just cache it?

ILYA GRIGORIK

Yeah, we actually work very closely with the Next team. They’re also innovating and pushing the boundary on React Server Components. React Server Components is this new hot thing that the React core team dropped as a Christmas gift to the community last year… And everyone got super-excited, because it’s this RFC, and it answers the perennial question of “How do we actually separate client and server concerns? Can we create a convention around data loading patterns?” Because right now, every React framework has to figure out “How do you do data loading?” You know, getServerSideProps vs. something else… You have to learn a new dialect every time you pick this up. React Server Components tries to answer that.

And further, it adds a set of new – or opens doors to a set of new possibilities. Things like – it wasn’t possible to do component-level updates before. So if you render the page, and the user is interacting with the page, and you want to reload just a sub-tree, you can hack that via various ways, but there’s no well-defined convention for how the framework itself can do that. React Server Component answers that. Also, by creating this boundary between client and server allows us to build better and more optimized bundles.

One of the pitfalls - pardon the tangent here - of isomorphic client-server JavaScript is, ultimately, we’re building these React applications to run in the browser. So there’s a set of assumptions about browser capabilities and browser APIs being available. You bring that onto the server, and you go “Well, it’s not quite like the browser”, right? These APIs are not available, and now I need to figure out - if I only run this code, do I export these exports to clients as well? It becomes really muddy, really quickly. And maybe if you’re super-judicious, you can navigate through that forest, but it’s a very challenging problem.

RSC (React Server Components) defines those boundaries, and at least on paper it promises to solve many of those things. And it’s still under active development. Shopify has been one of the early adopters. We saw it, we played around with it, we tried to rebuild our own applications with that pattern, and we felt like it felt nicer than what we were using before… Because similar to any other framework, we were inventing our own data loading strategy. And then we swapped it out for RSC, and we’re like – look, it’s new, so there’s still friction for most React developers, because, well, it’s a new shape of API… But you kind of get these second-order effects; it just feels more intuitive. It’s easier to grok. So even though it takes a little bit of runtime for someone new, they see the filename, and it says .server, and it kind of just clicks. It’s like, “Oh, I can infer what that means.”

So we have the benefit at Shopify of starting anew. We’re not a framework with an existing install base of thousands of apps. We don’t have to move them over into this new world, which is one of the challenges with the React Server Components, Suspense, and all the rest. If you have an existing application, a lot of these things are not easy to adopt, because they change how you have to think about data loading, different state transitions, and all the rest. For better or worse, we’re starting from scratch, so we’re willing to take some opinionated and future-looking bets, because we have the luxury of not breaking anything… Yet.

JEROD SANTO

[40:04] [laughs] Yet. You have the luxury for now.

ILYA GRIGORIK

Exactly. So this week – this is maybe a good transition… So what have we launched this week? This week we launched the Hydrogen developer preview, which is – we’re not claiming it’s production-quality code. In fact, we wouldn’t encourage you to write production code; you could, and nothing stops you, of course… But we wouldn’t encourage that, because we wanna use the period of the next couple of months to really iterate on the APIs based on feedback from real developers, and probably break things. Right now is the time to dramatically change in backwards-incompatible ways, before we declare it to be a 1.0 that folks can build production storefronts that run on Shopify… And then we have to maintain for a while.

So this is a really good time, if you’re just curious about what is React Server Components, what is Suspense, how do I do server-side streaming - go kick the tires on this thing. Play around. I think we’ve made it really simple. For anyone listening to this, if you just type in Hydrogen.new in your browser, it will open up a StackBlitz-powered dev environment that runs completely in your browser, and you can just start hacking right away. It’s a really awesome experience.

View Details

  • Listen to devtools.fm: https://devtools.fm/episode/19 (23mins)
  • My livestream going thru Remix docs (ft Lee Robinson): https://www.youtube.com/watch?v=HZV1pT-qMqg
  • Remix's blogpost today: https://remix.run/blog/react-server-components

Transcript

Andrew: I've heard the core of remix referenced as that compiler. Can you explain that a little bit? What's it compiling? Is it kind of like Vite where it's more in browser? So what's happening there.

Michael: Yeah, that's a great question. So, um, the way I kind of think about remix is it's a compiler for react router, compilers, it might seem funny to somebody that, to sort of think about it this way, because if you're new to web development, you might think, well,haven't we always just compiled our web apps?

And the answer is no, we didn't, that's, that's actually pretty new. I remember when I, when I worked at Twitter, we used to have, we had a file. Uh, that we, we just sort of cargo culted into our app from some other team that was working at Twitter, it was called T w T T R dot JS.

And it was like, that file was just sort of like making its way around. And if you needed something, some shared thing, you would just go and add it to that file and then you just commit it. And then like the next team would come along and they would be like, oh, we need a, we need a thing in there too.

Like, we'll just add it to the file. And then, and that file just was huge. And I remember opening it up one time and thinking like, I remember, uh, cause we, it, it had existed in the days before ES five. And so it had like, it had like a lot of the array pro prototype methods, like reduce and filter and like basic stuff in there.

Except they had it like five or six times, because the file was so long that like people didn't take the opportunity to like go back further in the moment. So w why, why am I saying this? Well, that was a decade ago, that was a decade ago at a high-tech company in downtown San Francisco. We were not building our apps.

We were not using, modules, uh, and, and a compiler like Webpack and all that stuff. We were, we were literally just like writing JavaScript. Uh, we certainly didn't have TypeScript, uh, or, or, you know, uh, CSS in JS, or a lot of the stuff that people nowadays are, are using compilers for it.

Um, and, and honestly, it wasn't even a popular thing back then to pull code off of NPM. Like if you were doing note, it was, but I remember the first time I saw installed jQuery off of NPM, I was like, Like jQuery off npm? Like, why don't I just go to the website and download jQuery? Why am I installing it from NPM?

Nowadays if you're a JavaScript developer, it's like, why would you go to somebody's website and download a file? Why don't you just NPM install it, right? Like that is the way we get code. Right? So, so the whole model of consuming front-end code has dramatically changed over the last eight or nine years. And, um, and, and so, compiling for the web is now the thing and installing dependencies, and that's how you share code that is now also the way to do things.

And so as a front end team, the front end development team, uh, your job, has, has ballooned in the last 10 years. You used to just write JavaScript and HTML and CSS, and like there's already enough there for you to know how to do right. When you're talking about semantically sound HTML, like building accessible app.

And performant apps. There's a lot to discuss with those technologies, but now you, you also are moving further back in the stack. And so you now also have to understand compilers and build pipelines and even things like code splitting, how are you going to do that?

And, and, dynamic importing and loading the bundles that sort of run time. And, um, th th there are just so, so many concerns as a front end developer, now that you have, that you didn't use to have. It used to be pop the script tags on the page and go. And so, uh, so yeah, so, so that's kind of how I tend to think about remix is, react router is one piece of it.

You can take react-router or you can serve a render it, you can not server render it You can do code splitting with it. You get ignore code splitting. You can build a static site with it. You could build a fully dynamic site with it. It's not opinionated at all. You can build whatever kind of a site that you want with react-router remix comes along and says, Hey, you know, that, that cool router that we built, uh, we're actually going to build a framework for you to take full advantage of that router. So, uh, so we're going to give you TypeScript compiling right out of the box. Uh, we're going to give you things like a strategy for loading data right out of the box.

And we're going to give you a strategy for a mutating data right out of the box. And by the way, how do you keep that data fresh on the page? As you do things as you, as you do mutate data, how do you keep other other routes, data fresh, um, how, how do you do things like, transitioning gradually or gracefully between.

And so react router or sorry, remix is, uh, it, it really is this a compiler that, your, your input into remix is basically your routes on the file system. Um, and then your output is this, this code, split server rendered app that, uh, yeah. That we can run and we can run on node, we can run it in the browser. We can also run it in places like cloudflare workers. So that's something that I don't think we've we've even hit on yet. But, um, you, you mentioned, I think Justin, before, before we started, you said node was not an option for the app that you're working on. Um, and I totally totally get that.

Nowadays we have multiple JavaScript runtimes, so the, you know, the cloudflare workers people. Uh, they just have these V8 isolates with this kind of custom runtime that's based on server work service workers. And they're saying, Hey, we'll run that at the edge for you. Right. So that is, that is not node.

Um, and I'm not speaking specifically to your, your use case because a lot of other people are, have that same case, but yeah, they're, they're building, uh they're building something that is not node and they're saying, "Hey, it's still JavaScript. You might maybe want to run your app here." And so one conscious decision that we made early on in the, in the design for remix was this thing is not going to be dependent on node.

Uh, we've also got Dino or Deno. I'm not sure how to pronounce it. That's that's out there, right? That is also a not node. Definitely not node and node has been forked in the past. You know? So like, I, I just anticipate that the future is going to be a proliferation of, of runtimes for JavaScript that are not node. Node is going to be a big popular choice for a long, long time, but I think that we're going to see see more and more options for developers going forward. Uh, and so remix is not coupled to node. We actually run natively on CloudFlare workers and our server runtime is completely generic.

We actually borrowed the idea for our server runtime from them that I said they, they based their whole thing on the service worker model, which of course includes, uh, the fetch API requests, response headers. We took that and we ran with it.

And so our entire server runtime is generic and just runs on these requests and response objects, uh, that conform to that exact same API. So, you know, we've already talked about how we'd love standards. I love standards We're actually building on these web standards on the, on our server layer as well.

Which allows it to be portable across any runtime that supports that standard, which is really cool.

Justin: Was this, something that would generally run on what we would traditionally consider a serverless platform. So like AWS lambda are you specifically targeting like service worker, like APIs, like CloudFlare or even the browser service workers I guess?

Michael: So we, we sometimes need a little bit of a translation layer depending on where we're running. Right. So we have these things called adapters. Um, so our, our server runtime is generic, right. We just, we just deal with request and response objects with the fetch API or the service worker API. Um, but yeah, but if we are running on node, then we need a little bit of help, right.

Cause node doesn't have those things. So we can install node fetch, and now we can get those primitives running on node. We already get them running on CloudFlare workers, which is nice. They're already on Dino, which is nice as well. So, you know, whatever platform that we're on, if we're running on AWS Lambda, um, or, Google cloud functions, like what, wherever remix is running.

Um, if they have support for the web fetch API. Great. If they don't, we'll polyfill it and remix will run there to.

View Details

Listen to NSSDeviations: https://nssdeviations.com/145-get-used-to-being-unhappy (30mins in)

https://counting.substack.com/p/what-data-folk-were-saying-about

the offensive tweet: https://twitter.com/ryxcommar/status/1456045288079204358
his actual thoughts: https://ryxcommar.com/2021/11/06/zillow-prophet-time-series-and-prices/

View Details

The following is my conversation with Adam Argyle, CSS Developer Advocate for Google Chrome.

Watch on YouTube: https://youtu.be/xEyJ6LY7DKI

The conversation covers a quite a few topics that are relevant in the webdev and web design industries: UI complexity cliffs, DX vs UX, Self Disruption, and what Web Design Tooling could be.

Along the way we touch on what OpenUI is, Adam's Deferred Inputs proposal, the 4 Jobs of Developer Experience, Thoughtleading for Good from Emily Freeman, Ilya Grigorik, and Dion Almaier, and Adobe vs Figma vs Webflow!

Links:

  • Button tweet https://twitter.com/swyx/status/1450333133300064259
  • https://open-ui.org/
  • https://jasonformat.com/application-holotypes/
  • https://siliconangle.com/2021/09/29/devops-dummies-author-emily-freeman-introduces-revolutionary-model-modern-software-development-awsq3/
  • https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar
  • Ilya Grigorik Perf.now talk https://www.youtube.com/watch?v=vtIfVPtN6io
  • Visbug https://chrome.google.com/webstore/detail/visbug/cdockenadnadldjbbgcallicgledbeoc?hl=en
  • https://web.dev/learn/

Timestamps:

00:00:00 Cold open
00:01:05 Complexity Cliffs and the Reusable Button Problem
00:03:28 OpenUI
00:04:32 DevRel vs Personal work
00:05:52 DRY vs Design Systems
00:07:10 Building in Phases
00:08:04 Thought Leading for Good
00:10:33 Learning
00:14:13 The Surprising Complexity of Tabs
00:17:12 What is Open UI?
00:19:59 Hot Take: Deferred Inputs
00:23:40 Cathedral vs Bazaar
00:28:01 Illya Grigorik: Head/Torso/Tail
00:32:45 UX vs DX
00:45:51 4 Jobs of DX
00:50:33 Self Disruption
00:54:50 Adobe vs Figma vs Webflow
01:01:04 VisBug
01:05:05 Shameless Plugs

Transcript

  • swyx: Alright So the first thing we're talking about is ui complexity cliffs what's on your mind what was his first on your on your list.
  • Adam Argyle: yeah you had a tweet the other day that was i'm at my fourth startup or something like this and we're pressing buttons again like, how s it 2021.
  • swyx: And by guys
  • Adam Argyle: Are popping up i needing refactoring or something like How are they not solved and.
  • Adam Argyle: i'm sure you had threads of people that have their ideas there and mine was it's a omplexity cliff it's the first introduction, where you as a front end ui person who actually.
  • Adam Argyle: is like goingto go build out all this matrix of states that a button needs that it lands on you it's like you've been in the car using a shifter this whole time using a steering wheel this whole time and then someone said hey.
  • Adam Argyle: Go change the steering wheel out and you're like oh that's just a component just a single use like that things totally only got like one attachment right, and then you walk up to it and you start working on it you'd like.
  • Adam Argyle: To see just like really integrated into the system.
  • Adam Argyle: And or whatever right, you have these like discovery moments with it and you realize it's much more complex than it is in a button just does that buttons like yeah well let's allow an icon to be on our button and you're like okay left and right.
  • Adam Argyle: sides can be I can have both sides because you could have a shopping cart with a little drop down arrow.
  • Adam Argyle: Oh man Okay, and you have to have dark mode you better have this and that and that the matrix like i've seen the of states, is what I mean by this complexity cliff like it's just not visible from the surface, it looks all innocent.
  • Adam Argyle: And then you go map it like if you mapped out everything you need it's it's a lot, like the CSS alone that it takes to have like a custom button and the design system is absurd it's absurd, but at the same time I love it anyway.
  • swyx: So this is the tweet and question and honestly like this is this is genuine because.
  • swyx: yeah I had that to Sigma away, where I had my first front end job and then modify and now it's immoral same stuff again and all did you handle disabled Oh, is it a link, or is it a button.
  • swyx: And it was interesting was also just the replies like Nicole from Google So what does she do she like.
  • Adam Argyle: beats I worry record directly.
  • Adam Argyle: These days, she was on frameworks and she's now shifted to ui and sort of like how did she empower people to build flexible and fluid interfaces on the web.
  • Adam Argyle: And that's why she points to open your eyes it's like a community for that, but anyway that i'm part of her team because i'm I work on similar things.
  • swyx: Okay yeah and so like you know, first of all I didn't I didn't expect this to reach anyone in Google.
  • swyx: But then also like the Web components people reached out to me and they're like how come work a foreign service officer for you and i'm like it's not about the tech.
  • swyx: it's more about like understanding the specs of what people wanted people not agreeing what a button should do.
  • Adam Argyle: yeah.
  • Adam Argyle: yeah Google cloud had had too many.
  • Adam Argyle: They had them in multiple frameworks in the same.
  • Adam Argyle: repo right being like just because they grew so fast or whatever like your project always gets out of hand and all of a sudden yeah you have more than one button.
  • Adam Argyle: which some people have enough time or England one, how are they going to wrinkle two or three and built in different frameworks right you could your islands architecture with buttons you're just like oh snap touch mean any button from any framework just shows up in an island.
  • swyx: that's an interesting discussion is that a big.
  • swyx: Is the islands architecture, a big discussion within Google, or because I always have hard I have trouble separating Jason from Jason Miller, who wrote the article architecture markers.
  • swyx: When is he talking in his own personal capacity, or when is he saying like No, this is something we're tight with thinking about a Google.
  • Adam Argyle: Oh, in my opinion Jason and I are pretty straight shooters about our own stuff like we work for Google and chrome and we love our job, and we want to represent chrome well and do all the things our job want us to do, but we have this like I don't know where our own personal opinion like.
  • swyx: jake Archibald as to he.
  • Adam Argyle: he's working on a lot of his own stuff we kind of balance, both I mean Jason definitely does things internally that he might not have chosen to go do if he just could choose whatever he wants to do.
  • Adam Argyle: But that doesn't mean that's what he's going to go pitch outside of Google and the islands architectures.
  • Adam Argyle: yeah This is just sort of the micro friends evolution into let's eventually docker eyes every component and then manage them with communities in the front end right we'll get there, I don't know.
  • Adam Argyle: yeah.
  • swyx: Well, so the this discussion of the reusable button and the ui complexity cliff makes me wonder because there's a lot of discussion about how dry is overrated you know.
  • swyx: We should we should write everything twice and sometimes if you're just customizing it so often you're reusing it so much maybe just don't reuse code just just copy and paste and then that makes it easy to the really easy to modify the only thing that.
  • swyx: That goes wrong with that so whenever you need to do a global update then you'd run into trouble, but how often do you really need to do that.
  • Adam Argyle: Right isn't that what the super RAD typescript refactor button is for like that's why you typed your whole thing, so that you could refactor across something globally, I mean this is a value prop of typescript right.
  • Adam Argyle: If you are, you know, employing it that way, on your project but yeah I think that's a really good point, though, is that sometimes you don't need to build a mega button yeah.
  • Adam Argyle: yeah mega buttons get built and then mega buttons fall down.
  • swyx: And also wonder if it's like.
  • swyx: If it should be gated by number of people working on the project, so we had at my first company.
  • swyx: Three front end developers and we were building both the design system and the APP.
  • swyx: And I was just like maybe we should build the APP and forget the design system.
  • Adam Argyle: Okay, this is actually something i've said multiple times is that.
  • Adam Argyle: projects and people are in phases, a startup is in a phase.
  • Adam Argyle: And in your first phase where you're in the creation state, you should not be in typescript you should not be hardening all of your stuff with hundred percent test coverage and you should be not be making a design system which you need to do.
  • Adam Argyle: Is build a really good experience that's messy and expressive.
  • Adam Argyle: And then go hard and all the things that are tried and.
  • Adam Argyle: True, because you can't predict it all, and if you try to sit down and predict it all and.
  • Adam Argyle: and build this like perfect thing from the start you'll just never going to get to the point at which it should have as fast as you can it's weird we think we move faster with all of these rules, and all this stuff but we end up moving way slower.
  • Adam Argyle: And so yeah i'd say phase two of your company.
  • Adam Argyle: let's say you have success in your sustainable and it's time to like rethink something, because you can need to grow, the team by 10 or 15 or whatever.
  • Adam Argyle: Go ahead and spend a few months and and refactor and harden and create the components that are obvious like and don't go micromanager design system okay wait i'm getting wrapped up sorry okay anyway.
  • swyx: No, I think, look like you have this i've seen you do this rant a couple times.
  • swyx: I think he needs to slap a fancy label on it and then put it put into a nice graphic and go like this is the way that you should do things because I have you seen i'm Emily freeman.
  • swyx: At aws she did she basically had some issues with the software, the traditional software development lifecycle where it's like a very waterfall approach and shows you V shaped it into like a.
  • swyx: Like a circular concentric circle grid with the six dimensions and it made a lot of sense for some people.
  • swyx: But that at least encoded her opinion and she could give it a name and and she she said, like this is the way you do things now, and she had whole spiel on it, but like.
  • swyx: Sometimes it's better to sell an idea or like a workflow if you give it a name and you put some put some diagrams on it and make it a thing, rather than repeating the rent every time.
  • Adam Argyle: yeah and so yeah, this is the phases ranger mentioning like yeah.
  • swyx: yeah catchy acronym or like you know, whatever.
  • swyx: And and yeah I mean you know sea islands architecture was a catchy catchy name for it, you know.
  • swyx: It was yeah was your last name, he had for.
  • Adam Argyle: A holiday types right, it was holotype.
  • swyx: hollow times, I never heard that word before.
  • Adam Argyle: So cool yeah.
  • Adam Argyle: that's what that's what Jason called it in an article, he was, oh no he was saying, your APP is one of these holiday types.
  • Adam Argyle: And if you were yes certain holotype he could lead well to you know, an islands architectural river.
  • swyx: yeah very good so Basically, this is like part of my long running a study on how the thought leader or thought leading for fun and profit, you know there's like sort of the cynical thought leading, which is like hey I want you to buy my ebook.
  • swyx: But then there you can also follow me for for benefit if, like you really have a cause that you just really want to align people on, you have to package, it in a message that that people can spread for you, instead of you, having to do all the work.
  • Adam Argyle: Totally yeah I think you're doing a good job with that being a thought leader, by the way, I very much enjoy your thoughts.
  • swyx: I don't know what i'm meeting people to.
  • Adam Argyle: I mean, I think that's what's fun as you're on an exploration constantly digging.
  • Adam Argyle: And going to these archives and you're just kind of shooting it out, as it happens, and honestly that's kind of all, I do with my CSS tips i'm building stuff every day, almost all day and so i'm like here's it I just did this thing this is cool I think anyway.
  • Adam Argyle: Yes, what else will and.
  • swyx: I will say, like the thing about CSS like no one ever feels like you know all of it.
  • swyx: Do you think that's a problem.
  • Adam Argyle: No, I think that's how every language feels.
  • swyx: So i've been trying to.
  • swyx: push back on this little because I think being able to say, this is the entire map like Okay, you know, there is a spec right.
  • swyx: And it's not an infinite list it's a finite list, and you can you can at least kind of draw like here's the world map, you will never visit.
  • swyx: The entire world, but at least you know, like okay here's a comment here there's a comment there I haven't gone there yet, but it's there when I need it.
  • swyx: At least like having boundaries around like Okay, the world ends ends here and.
  • swyx: I think that's an interesting way to think about like learning or evangelizing something, and this is relevant for me, because at my job.
  • swyx: We have a fairly complex system, and no one had ever enumerated the features until I went through and just went like Okay, we have 30 features and once you know these 30 features that's about it for the system.
  • swyx: and being able to say that's it.
  • swyx: And, and having an end to your learning I think it's a really interesting concept to have.
  • Adam Argyle: yeah docs kind of give you that sense right you land on docs and you're like I have the world in my hands every API call and every function is.
  • Adam Argyle: articulated here with every parameter yeah and I definitely see where you're going, I think that can help someone.
  • Adam Argyle: Get perspective of the language that they're jumping into but there's like surprises right like you learn javascript for who cares how long and then all of a sudden someone goes, you heard of functional programming you.
  • Adam Argyle: Like what and then you go look at you like, what are you doing with javascript and then it will.
  • swyx: Stop.
  • Adam Argyle: you're bringing it to infinity right and then like typescripts the same way you're like I thought I was like I liked were new like javascript and.
  • Adam Argyle: In typescript just tells me all day that I have no idea what I know, and you know, like.
  • Adam Argyle: CSS is the same way i've been studying and building things in it for a long time and I I also am a human, you know some of these things are so big that I can't memorize every map and territory.
  • swyx: So I revisit in and.
  • Adam Argyle: So I think what happens with experience is that you know, like okay every programming language has a moment where you're banging your head against it, you know whether it's FLEX box or it's.
  • Adam Argyle: You know, some extends in typescript or something that's extending extend extend and you're just like lost in the extension world like in these scenarios you eventually emerge.
  • Adam Argyle: Right you bust out.
  • Adam Argyle: In your head comes popping out and you get a breath of air and you're like.
  • Adam Argyle: I have defeated it like and what I think professional developers are they're just seasoned at defeating all the little things in so much that they're now in a perspective, where they expect things to pop up that they're not going to know.
  • Adam Argyle: But be they've if they run into things that they run into before.
  • Adam Argyle: They don't have the same hour or four hours or two days that it takes to solve it, they just walk right over it, because they're like oh that was in that territory over here.
  • Adam Argyle: I remember like two years ago, when I had to go there, like i'll just go there, I don't remember everything about it.
  • Adam Argyle: But i'll go read it and study and be like oh yeah that was it okay and i'll put that back in the 70s, like every time he's intersection observer i'm like I know in your section observer and then i'm like I don't remember the syntax I gotta go look it up so.
  • Adam Argyle: Anyway, yeah.
  • swyx: And they basically, I just want to copy and paste intersection observer code and just give me like the three or four design patterns that work and that's about it that's that's all people want out of it.
  • Adam Argyle: Section observer, I mean I think people want the matrix I think they want to stick a thing in the back of their neck.
  • Adam Argyle: And, just like CSS I know it, I will now command every box in the way that i've ever desired.
  • swyx: yeah.
  • Adam Argyle: Briefly, though, before we get off of complexity cliffs well the first components that reminded me of complexity cliffs was the tabs component.
  • Adam Argyle: And we've been talking about that, so we talked about Nicole already, and so one of the things we're trying to do is make tabs on the web.
  • Adam Argyle: easier and in my studies, I have found that it's a massive complexity cliff like there's 100 variants of what tabs are more than that, over the years we've seen thousands of variants of tabs.
  • Adam Argyle: And they all have little niche features some little niche features, make a tabs feel like a carousel some tabs kind of feel like an accordion.
  • Adam Argyle: Some tabs feel like those paper tabs you had in a binder and they all have this like little thing and they all have different accessibility implications and usually.
  • Adam Argyle: that's like the deciding factor, at least, like open ui they're like okay here's what tabs are tabs are basically this accessibility ux as a foundation, like the skeleton of the thing works like this, but I go look in the wild.
  • Adam Argyle: And I see all of these different tabs and i'm excited by it and it kind of frustrates other people, because they want to go harden the pattern right, this is what.
  • Adam Argyle: The button is trying to do it's like hard and a pattern and so people want to harden these patterns, they they look so obvious to harden and then I go research and I basically called him Kara tabs now i'm like oh tablet cells you mean oh CARA tabs.
  • Adam Argyle: you're like no tabs.
  • Adam Argyle: i'm like care tabs.
  • Adam Argyle: Because the variations are so fun and exciting and I actually think that's what the web is excelling at is this weirdness is that.
  • Adam Argyle: Anyway, so, but the complexity cliff is very clear in tabs where there is really no single way to build one that would fulfill every tabs component needs that's out there.
  • Adam Argyle: Like a lot of tabs have nothing to do with swiping when I think that's mandatory on like mobile you gotta be able to swipe between tabs.
  • Adam Argyle: we've been trained that way for like five years but they would disagree, like the open ui organization because that's just not part of the.
  • Adam Argyle: float anyway, so what i'm getting at is these complexity cliffs make it really hard to harden things and i'm at a point where i'm trying to study which ones are on which side of the cliff Sean that's what I want to know.
  • Adam Argyle: Because the ones that are on the side that it just goes steep downhill I think it's okay to let those be free ship primitives and let people be weird.
  • Adam Argyle: Let people build all these fun different exciting tabs like I don't i'm not that interested in that, but we could move into different inputs, if you want as that that next topic.
  • swyx: I have a two things to ask you, before you do this so one thing you seem to have a image in your head about complexity cliffs have you visualize this because I feel like it's an analogy, that is right for visualization.
  • Adam Argyle: know I mean it'd be an iceberg you looking at a button and it looks like a simple button on top, and then you look under the water and you're like holding this thing has like request animation frame loops in it, or something you're like I just did not predict that.
  • swyx: yeah I think I think some visuals will be nice to for people to really is totally get it.
  • swyx: And then, secondly, could you introduce for those who would like i've dug around open ui it seems like a basically it tries to be a browser vendor agnostic.
  • swyx: spec have you here's how here's extensions to standard html well how about you do, how about you help me define like what is open ui who runs it, what is the near term like should people pay attention is now is it's just an r&d phase like what what's uh what phases it isn't it.
  • Adam Argyle: Sure yeah and you know you should have unit on because she's a member of the open ui.
  • Adam Argyle: cabinet, I have no idea anyway it's a Community group it operates like a Community group.
  • Adam Argyle: it's led by I think Greg whitworth maybe Brian cartel also.
  • Adam Argyle: Dave Rupert is on it also he does a lot of presentations Dave Rupert is a he's pro tabs not pro tab excel he has a spicy accordion that he's made that is basically tabs but it's.
  • Adam Argyle: Not tabs it's a spicy accordion anyway okay so that's the sort of things that sometimes get talked about it open your eyes, but their goal is to.
  • Adam Argyle: move faster as an agnostic implementation team, then what browsers would do and how can they operate like how the community groups do for CSS but do it for components.
  • Adam Argyle: And so they have one that's like a recent success, I think, and it's taken a long time to get there, which is the POP over component, if you heard about the POP over component.
  • swyx: know if I can pull it up, you can tell me about it.
  • Adam Argyle: awesome it's cool it's classic you mouse or you focus into a link and you get a pop up right.
  • swyx: This is it, this one.
  • Adam Argyle: yeah.
  • Adam Argyle: And so, this took a long time to get through it has tons of you can see that they are very look it's an editor's draft Oh, they have three and editors draft interesting, so the select element is also there, I know that my working on that one so something that's sustainable select.
  • Adam Argyle: And I bet you that dependent on the pop up.
  • Adam Argyle: Anyway, so i'm not a super pro hear about how they operate, but I do know that their goals are to make accessible well defined open source community group driven web components, I think their web components.
  • Adam Argyle: And yeah and eventually I think their goal is to have those things accepted into browser specs and how browsers implement them natively maybe i'm not really sure.
  • Adam Argyle: Where that goes from there, oh look, you can see mason freed on there for pop up he's the Google or who's doing a lot of implementation and he's on the group there to Melanie richards awesome.
  • Adam Argyle: yeah it's got a great crew of cats that are like hacking on it, they they're diligent they seem passionate and i'm not a Member.
  • Adam Argyle: Because i'm kind of.
  • Adam Argyle: I don't know if we need more primitives.
  • Adam Argyle: Sean.
  • Adam Argyle: I want to, it is a heartache and i've talked to Brian and a couple other people about what look like i'm actually.
  • Adam Argyle: So this is why the fruit inputs as an interesting conversation.
  • Adam Argyle: I like to swing for the fences i'd like to swing a lot bigger.
  • Adam Argyle: Okay, so, for example, let's say open ui or someone else and open you I seriously, I admire them so much, I think there is a really important and impressive thing that they're doing so I think i'm also just intimidated, but anyway.
  • Adam Argyle: What I would like to suggest is okay consider the calendar so maybe a calendar component gets you know standardized so you could customize it you don't just get the 20 year old dinky one it's in your browser I.
  • Adam Argyle: hate that one it drives me nuts and like she's the leads there's No one.
  • Adam Argyle: else and.
  • swyx: there's one that's worse than that it's the number number input.
  • swyx: You know, with a small.
  • swyx: tiny arrows.
  • swyx: Oh, my.
  • Adam Argyle: God seriously I don't know someone on a netbook with like one of those.
  • Adam Argyle: mini mouse's or something anyway.
  • Adam Argyle: Okay, so imagine this Sean This is my crazy idea called deferred inputs you put an input in there type equals date and you put an attribute called deferred on it, and what the browser does when they user temps that input.
  • Adam Argyle: Is they broker a relationship between that webpage and a third party widget.
  • Adam Argyle: And a third party experience, because what I want when I click on a calendar widget is not just a stupid calendar Sean I want my events on there.
  • Adam Argyle: I want to know if what i'm picking is going to interrupt or something if i'm booking dinner I need to know.
  • Adam Argyle: All of these different cases I want to know my stuff in there, but I don't want the webpage to know anything about it so imagine for a second that we went to the APP store MAC os and we installed.
  • Adam Argyle: A calendar component called Google calendar who cares or maybe it's icon right account makes sense for safari to prompt.
  • Adam Argyle: So you get these different inputs, with a broker, since the request to this APP and says this user is requesting a date All we want is a string format it like this, give them an experience that's rich and set and has a session and you're logged into.
  • Adam Argyle: And let them pick a date and then we'll just get the date back so the date input is still just a static text input, but the browser brokered a relationship to third party.
  • Adam Argyle: developers who can create specific and robust experiences for these inputs so i'm not talking we just, you know as a group.
  • Adam Argyle: come up with a cool date picker that people can pass custom properties to to silent, I think that's a great stopgap but i'd love to see us like make a rich.
  • Adam Argyle: Do picking a date is a rich experience moment it's something that people can excel at and show you how beautiful, it is like imagine sunrise like that APP they made the calendar thing that just like disrupted every time they made one and then imagine someone else.
  • Adam Argyle: Now you had choices Sean you had choices for your date input as a user that's what I want to see, I want to see users, having the ability and I want developers to build a compete for the.
  • Adam Argyle: Creation of those widget experiences I think browsers have been sitting on it and it drives me NUTS they're crappy and it looks like they don't care so just open it up.
  • Adam Argyle: Just broker the relationship to a bunch of developers that want to get a $2 components, so that you can have a session logged in calendar picker like.
  • Adam Argyle: in any way, so a lot of these inputs that are a lot of these components that we're waiting for.
  • Adam Argyle: that are more robust that we need more out of like some of our primitives i'm like don't just give us some new crappy primitive that looks like crap.
  • Adam Argyle: I just i'm tired of those like give us an opportunity and an open up the open up the industry to a new monetization flow like you're basically creating third party developer anyway, whatever Sean I think i've pitched it enough what, what do you think is that crazy.
  • swyx: So I need to clarify one more thing so first of all, have you written this up anywhere.
  • Adam Argyle: This is a slides I have like a little presentation and i'm giving it to people it's just it's pretty much can we find it somewhere.
  • swyx: Just just so people can follow up if they want.
  • Adam Argyle: I think it's just a random idea I have songs and like you know.
  • swyx: I mean I if you know if you you believe this so.
  • swyx: What this this kind of conversation always reminds me of the cathedral versus the bizarre.
  • swyx: You know that Nice that a Fred brooks this is this is old school software development right like, how do you design it ecosystem, do you want, do you want to say, like I do it for you, because I know best, or do you want to say I don't know best, and that everyone just have it out.
  • swyx: And so open your eyes kind of the cathedral and they're like Okay, a little research everything and then we'll we'll pick the best way, that is, the superset of everything and then.
  • swyx: The bizarre it's kind of like this different input approach where it's just like I don't know and i'll just give you a single extension point and you guys go nuts.
  • Adam Argyle: yep that's exactly what it's basically just be what I call them.
  • Adam Argyle: Because they have an android or an intent the.
  • Adam Argyle: input basically admitted intent.
  • Adam Argyle: And it says, who can handle the intent right.
  • Adam Argyle: And all these developers now have Apps living on your operating system that the browser can broker the intent, was it says.
  • Adam Argyle: it's just like how intense it's actually extremely modeled after, then the mobile experience of.
  • swyx: Intense.
  • Adam Argyle: Because I love that experience it's really nice you're just like yeah look at all my fun custom stuff I have they can handle where my image goes like that's really nice.
  • Adam Argyle: And yeah we should have a color picker like that, like give me the opportunity to click on a color and put in I bring my own color picker to the table chrome.
  • swyx: You know so.
  • swyx: I don't know yours yeah.
  • swyx: Is this the user so.
  • Adam Argyle: there's a few personas yeah there's user.
  • swyx: APP developer, and then the user viewing the site so each viewer has like their own experience of this thing okay.
  • Adam Argyle: They got.
  • Adam Argyle: A utility built of personalized widgets in their browser so anywhere their browsers logged in and.
  • swyx: How many of these are there.
  • Adam Argyle: I mean a perfect kind of labeled a few here.
  • Adam Argyle: yeah calendar auto fill payment.
  • Adam Argyle: photo picker and file picker oh photo picker and file picker already done, is what this says in my deck I haven't looked at my deck and like a year.
  • Adam Argyle: Because yeah if you think about photo picker.
  • Adam Argyle: Well, I guess, on mobile it's different but on desktop it's not right on mobile when you click on a file uploader you click on some things allows you to upload you get to fulfill it with your own choice of an APP your phone.
  • Adam Argyle: Your personal stuff just needs to return an image right, and then the browser doesn't have to know to care about the whole experience that it took you to find it because you went back three years on June 24.
  • Adam Argyle: To find the hamburger that you were looking for right like anyway yeah so auto fill would be an awesome one and payment like why can't I just install a third party payment installation thing and.
  • swyx: When I so i'm.
  • Adam Argyle: Pay yeah invokes my own experience.
  • swyx: Well, what about security like if it's a third party widget and it's payment like i'm giving you my card details.
  • Adam Argyle: User installed it, and so there, hopefully they're trusting what they installed and that the page itself is only getting results back so it's like the same static results they would have got before.
  • Adam Argyle: So the page doesn't get to know anything about the third party experience there's like a very it's just a message that's going to get passed back and forth him.
  • swyx: And do you think so, one example of this, that is done in user land is essentially password managers.
  • swyx: Like a right they they override all the password fields and then they've given their own little things why can't it just be done like that.
  • Adam Argyle: Oh so like an extension model.
  • Adam Argyle: sounds good to me so yeah you could as a developer go build a whole bunch of really awesome you know extensions built on the extension version three manifest and deploy them across all the browsers and.
  • Adam Argyle: deliver a unique logged in experience for color picking and sure yeah maybe you could intercept those clicks and invoke your own overlay ui actually makes sense to me.
  • swyx: Okay got it so it sounds like you know of those things that you missed it those are inputs.
  • swyx: There are a lot of things there a lot of components that are not inputs.
  • swyx: And I guess open you I would be involved.
  • Adam Argyle: Like tabs carousels pop overs yeah.
  • swyx: So you're not in conflicts, you know.
  • Adam Argyle: I don't think so yeah.
  • Adam Argyle: yeah Okay, and both can coexist, they could create a new date picker and that should be the default, we need better date pickers so better default components anyway so yeah i'm like this isn't me trying to stop them it's like I just think there's a whole opportunity for competition, like.
  • Adam Argyle: yeah and it could be cool yeah.
  • swyx: One one last thing that comes up when when we talk about image speakers.
  • swyx: Did you ever see that talk by ilya regard about.
  • swyx: The image picker up like file size optimizer.
  • Adam Argyle: I don't think so tell me all about it.
  • swyx: So he had a fantastic talk, which, like really shaped the way I think about so okay oh God, I can give me a SEC to pull this up Okay, because.
  • swyx: I don't I don't think i'm gonna do this justice.
  • swyx: Unless I literally have it up.
  • swyx: What is his Twitter handle he's not super active on Twitter.
  • Adam Argyle: it'll yet some.
  • swyx: I Google org.
  • Adam Argyle: Oh, I was wrong.
  • swyx: Okay, all right.
  • swyx: All right, here we go so.
  • swyx: This is where this is where I shouted it out, he had this concept of the.
  • swyx: The head the torso and the tail.
  • swyx: and
  • swyx: It was like, how do we solve.
  • swyx: How do you solve image performance forever right like you can do some fancy stuff with like.
  • swyx: Your image optimizing cdn you can do all these like source set things no one's going to do it, it just is too complex like yeah it's cool and you should feel bad if you don't do it right, but also there's just too much to learn.
  • Adam Argyle: Serving images is very hard yeah it's hard.
  • swyx: So, like he was fee fantastically broke it down to like okay so he's he's at this performance now conference right and he said.
  • swyx: Okay yeah here we go.
  • swyx: I like I just I just love how clearly stated this if you want to solve the image problem once and for all the cost should be free, the number of choices should be zero the tools must do the work not require work.
  • swyx: Right now, the tools that we're being given require more work hey the default sucks but just to be backward compatible here's a source at thing with like five different options and hey you got to do image processing on your own good that.
  • swyx: That requires work, so people don't do it right, so the kind of person that goes to a performance now conference that watches performance videos in their free time, that is what he calls the head.
  • swyx: That and i'm not finding a slide but essentially like there's a there's an adoption curve right there's there's the really like performance oriented performance minded people.
  • swyx: who are going to adopt all the best practices they're going to listen to your target have read your blog posts, then the torso they're like they're just you know, following whatever the.
  • swyx: Body says, and then and then there's a long tail that just will never read anything they'll just do whatever this is easiest So you see, if you want real impact, you have to address the torso under the tail not just the head, because the head.
  • swyx: Has the time to this to learn all your stuff but that's not the problem, the problem is the rest of it, like everyone else.
  • swyx: Sorry, I think i'm like doing doing things the job of.
  • Adam Argyle: Now I think i'm following yeah.
  • swyx: So so his proposal by the end of his talk, and this is like in 2019 was that okay all right image optimizing cdn too complicated set too complicated.
  • swyx: Never just never upload a giant file that you never giant photo that you never need so he was like let's introduce an image uploaded a component that has image optimization built into that that point of upload so all points down the chain just never get there.
  • swyx: I thought that was like that this I thought that was where you were going I don't know if you talk to them before about this.
  • swyx: Okay.
  • Adam Argyle: I have not.
  • Adam Argyle: That kind of reminds me of ink ink uploader which I used I don't know, five years ago, or so it was kind of like early image X server but yeah you upload the biggest image, you had and then request it with one URL.
  • Adam Argyle: And maybe some parameters on the URL and you get you could get a whole dynamics of the images back yes.
  • Adam Argyle: And only had to deal with the one image tag and yeah yeah well that's the way forward motion.
  • swyx: that's an image optimizing cdn.
  • swyx: So you have to pay money for that and, of course, like you know that that.
  • swyx: Costs of engineering resources, so he wanted to go a little bit more than that, I don't know how practical it was, but it was very convincing at the time.
  • swyx: And you know I hope he I don't know if he's still a Google or not, but you know.
  • Adam Argyle: He is yeah.
  • swyx: He gets some sway in the design of this thing.
  • Adam Argyle: Nice yeah I like that analogy, though, I think that works really good.
  • swyx: Which is I mean it's so in a broader context of Dev developer tools and like designing for us versus the exercise next topic.
  • swyx: yeah.
  • swyx: I think about this a lot, which is that whenever we appear at conferences and we like dropping you blog posts and new feature and we just expect people to like.
  • swyx: know about it and learn about it and adopt it like within a year, otherwise it's their fault not yours and i'm just like no people don't have time.
  • swyx: Most people just want to know, like what the best practices they're going to do that and then they'll they'll move on with their day and that's about all the time that they have for you.
  • swyx: And, and so, if we want to you know, improve user experience like we have to make it basically bring this for people to adopt the best practice.
  • Adam Argyle: yeah so we can yeah do you want to start there like.
  • Adam Argyle: yeah that's The goal of the phrase, or like that's like the.
  • Adam Argyle: The the heartfelt meaningful good side of the phrase that dx can lead to good ux is the intent is there, which is that people want to deliver good ux and they're not wrong that good dx can deliver a portion or maybe a lot of ux.
  • Adam Argyle: But I think that the phrase is kind of not doing itself a favor like it's it's kind of a short sighted view of what dx is versus a short sighted view of ux and i'm like.
  • Adam Argyle: I don't even know why we're so okay so first off let's just say that to have dx it even could facilitate good ux someone had to teach the dx what good ux was like ux had to start it.
  • Adam Argyle: In order, like be the initial cause for dx to exist, that it was knowledgeable to give you good ux so i'm like.
  • Adam Argyle: wow is people think the dx just magically gives good you actually had to be written by somebody like the good ux was created and someone spent valuable time thinking about good ux.
  • Adam Argyle: In order to bake it into something that could be shared better that then helped facilitate a workflow which is just like how like a bakery it would work right you just got like okay we've got all these processes they're working like this.
  • Adam Argyle: And now we're going to always use this flower instead of have random flowers and we're always going to use this scoop or something like that, and you just start to like.
  • Adam Argyle: harden these things over time, so that when new people join they don't have to go learn there's three scoops there's just one scoop now to choose from, and every time those decisions get made like they're made in a good faith that, like us, like the bakers, are trying to make more.
  • Adam Argyle: You know muffins or something for everybody, like the ux is eating a muffin.
  • Okay.
  • Adam Argyle: That.
  • Adam Argyle: Essentially you can.
  • Adam Argyle: overdo it, just like in a design system, you can overdo it so where eventually maybe you make a factory maybe you've got you know, and this happens all the time and code we build tons of factories to stamp out web pages to stamp this out to stand we'd love our automation.
  • Adam Argyle: And sometimes automation.
  • Adam Argyle: All it does is harden one good ux choice and it might make subsequent ux choices harder.
  • Adam Argyle: in any way so okay so then here i'm going to go back to like the like dx is so much more than providing good ux like there's so much more to it, like you can have an entire.
  • Adam Argyle: day's worth of dx that never touches ux and that should be fine like you should be happy with that, because what you're trying to do is empower everyone after you.
  • Adam Argyle: or whatever it is like I think it's valuable time so basically I think it's short sighted dx to think that it can only be valuable if it's affecting ux I don't think that even needs to.
  • Adam Argyle: go away.
  • Adam Argyle: And then.
  • Adam Argyle: Right, I think dx it's like you could do anyway so dx can be entirely in a whole other sector of the organization and never changed the ux and I don't think that's bad.
  • Adam Argyle: I think sometimes it can in consequently change ux and that's awesome sometimes it can intentionally do it, you know, maybe data, the data Center team over here.
  • Adam Argyle: They switch to a different cluster system and now they're you know shaped 50 milliseconds off a request or whatever you're like cool the user might feel that or whatever.
  • Adam Argyle: But then also ux it's short citing what ux is if you've ever met a ux designer.
  • Adam Argyle: To them, the user experiences and how fast the milliseconds went down the wire, even though this is part of the user experiences how fast you got it to them.
  • Adam Argyle: They spend weeks and months researching users to make informed decisions about ux.
  • Adam Argyle: it's so to think that dx can just magically have all of that, I mean unless the designers are baking and they're the ones, creating the dx maybe dx is directly affecting us.
  • Adam Argyle: But really I think ux starts with research it doesn't start with good dx you have to you have to know what good ux is spend time on it.
  • Adam Argyle: and actually create it before you can then go harden it and make it like repeatable and shareable or whatever it is, and also ux is just so much more than.
  • Adam Argyle: That moment the button downloaded and you pressed it so it's like belittling.
  • Adam Argyle: The whole concept of ux and dx at the same time it's a comparison that doesn't even really matter like here's another thing too.
  • Adam Argyle: Is you can have the worst dx in the world let's say you can only ssh into this one server you have no tools you're just with vim and it's like an.
  • Adam Argyle: insane react project you don't even have web pack, you have to go edit the output of a bundle let's say that who knows.
  • Adam Argyle: dude a determined ux person will do whatever it takes to make the ux good they'll go hack that code it doesn't matter the dx will matter, what matters is the desire that someone had.
  • Adam Argyle: And you know, conversely, you could have like the best dx the entire world and deliver a button that says fart.
  • Adam Argyle: Because the text in a button bro.
  • Adam Argyle: is part of ux man there's ux writers that's All they do is provide text so maybe if you're dx or your button was so RAD that you could like.
  • Adam Argyle: A new button and then you drop it in, and it has a whole suggestion of ux written content in it like I don't think you're really getting the full fledge.
  • Adam Argyle: Delivery of ux because it's so contextual it's so subjective it's so human that.
  • Adam Argyle: All you get from dx in terms of ux is anything that's on rails and anything you get from dx that can lead to good ux usually can because good ux sourced into the dx that then change the ux so I just don't.
  • Adam Argyle: it's just like i'm like i'm not sure everyone's trying to say other than I think you know, which is, I said at the beginning i'm like I see the initial goal here, which is like hey if you have.
  • Adam Argyle: really great tools, it can make it easier to slice some bread and put butter on it and then now you have slice butter way faster, you know, like look at us and we made a process for it, and now we can do 10 breads and 10 butters.
  • Adam Argyle: In a parallel right we're gatsby and now we're doing parallel bread's buttered.
  • Adam Argyle: Right until the designer says oh we're not using butter or new new butter and peanut butter and everyone's like Oh, we made a factory for that last process you're like dude users want peanut butter now too so.
  • Adam Argyle: Are you have to update all the dx to match the new ux.
  • Adam Argyle: So that's kind of what I see I think it's almost like ux is equal to dx which could trickle down to ux again early that's the intent, and so I just don't.
  • Adam Argyle: know why we.
  • Adam Argyle: don't talk about the full cycle and I don't know why we want to belittle the two concepts like ux is more than just developers.
  • Adam Argyle: Building buttons and forms and flows and stuff like that there's a whole team of ux designers that they are literally fighting your company to have good ux.
  • Adam Argyle: And I just that's why I think a lot of designers don't retweet the dx is better than us, or that dx will lead to good ux designers just know that they're at the table every day.
  • Adam Argyle: arguing with somebody that they need to refactor this because it's not good user experience and the person over there is going move I see all your research, and I see you did user studies.
  • Adam Argyle: I just can't allocate the resources and meanwhile they've got a team of 10 people increasing the dx of the backend system over here right and they're just not funding.
  • Adam Argyle: The ux so anyway, I can just see like all these different sides to it and i'm.
  • Adam Argyle: i'm just not it just doesn't do anyone to favor it's not doing dx a favor like it's not it, if anything, it kind of like makes dx look like the hero to I think that's my biggest issue with it, it makes dx look like it's The thing that lead to good ux i'm like.
  • Adam Argyle: No, it doesn't it.
  • Adam Argyle: Never anyway so i'm like it's not the hero.
  • Adam Argyle: The hero here is.
  • Adam Argyle: Having good ux like that's what everyone wants is, could you X dx steals the show and that freezing.
  • Adam Argyle: And it's just so anyway i'm mostly annoyed with it and i'm like it's just it's based on like these couple of paths like people we look at this dx lead do that, like that's one path of 1000 that you'll take and building a product that has good ux.
  • Adam Argyle: sure your dx lead to good ux there congratulations just don't praise that phrase like it's going to solve all of your ux problems.
  • swyx: It is not.
  • Adam Argyle: The responsible party for good choices ux focused individuals are the ones that make the good ux choices.
  • Adam Argyle: and get funnel those through dx and background or whatever.
  • Adam Argyle: So I just think it's missing the point and always.
  • Adam Argyle: How do you feel.
  • swyx: know why you know why we hear so much about it.
  • swyx: it's because the ux people have nothing to sell you where's the dx people have something to sell you.
  • swyx: there's a there's an economic incentive to drive things.
  • Adam Argyle: yeah dx is the hottest phrase to get your product recognized right now that's for sure how.
  • swyx: Do you think so, do you think the term is tarnished now you think it's so.
  • No.
  • swyx: No it's.
  • Adam Argyle: tarnished to me, but no it's still hot, as ever, you kidding.
  • swyx: it's my it's my it's my fault either mentally so my job titles literally had to develop experience.
  • swyx: And I don't know if I want to.
  • swyx: associate myself so closely with this thing.
  • Adam Argyle: Oh, really, oh dear, I mean hey dude I associate myself with CSS how many people want to do that.
  • swyx: I think it's amazing that would you that I think that una una or like my like I idolize you guys so much because.
  • swyx: Oh no way be able to advocate for CSS Hello like.
  • swyx: it's just it's just so first of all, you have to be good at, you have to be like really good at both of you are actually really great.
  • swyx: But also just you're advocating for something that everyone can use so there's nothing to sell you it's just like you already have this and.
  • swyx: Like 90% of you are terrible at it, or like you could be better, you know let's put it politically correctly, so I mean I think it's great I CSS will be around longer than both of us will be around, and I think it's.
  • swyx: No one I don't know every everyone can always use a bit more CSS and their life.
  • swyx: I need a CSS shirt, by the way.
  • Adam Argyle: I could probably figure that out i'll send you a link later.
  • swyx: it's just funny right like you know they're they're like 100 different js cons and like maybe I don't know if i've ever seen the CSS COM.
  • Adam Argyle: There is yeah and I think.
  • Adam Argyle: There was one of really popular one for five years and Europe and it's spread there was like once happening in other.
  • Adam Argyle: continents, but it's I think kind of I don't know the conferencing is shaken up recently but yes.
  • Adam Argyle: Yes, she's definitely underdog, and all this stuff.
  • swyx: I mean I yeah so I mean I was really encouraged when he joins and then you started putting out a really good stuff and I just I think Google does something right when you when you hire developer relations, I don't know what it is, but.
  • swyx: Every every person I see it's just stellar.
  • Adam Argyle: To Dr Mayer dion has.
  • swyx: I have.
  • Adam Argyle: An emotion is he responsible addiction yeah he's the one who saw me.
  • Adam Argyle: Like I anyway yeah he pretty much pulled me out of the team, I was at and Google and was like hey you want to do this over here and chrome and I was like I idolize you all I couldn't do that he's like you're one of us would you like to be like.
  • Adam Argyle: Okay, and he totally believed in me and.
  • Adam Argyle: gave me lots of chances and was and yeah i'm and I think there's lots of so he left recently a couple months.
  • swyx: yeah shopify.
  • Adam Argyle: shopify and you could tell he shattered people like there were people that were like dion was like.
  • swyx: A.
  • Adam Argyle: Different person he was someone I was emotionally.
  • Adam Argyle: engaged with he has this amazing ability to listen and anyway, what what a great leader and manager, he was and he had he has some sort of skill I don't you know you'd have to ask him how he.
  • swyx: knows asking.
  • Adam Argyle: Someone and how we can judge people but yeah he's got a talent there.
  • swyx: I you know I had so I went to boulder recently, and I think he is like just just outside builder or something and.
  • swyx: I had lunch with him and he never he's so humble he never brings this up he's just like yeah I like I like tech like you know I think shopify school, you know he never talks about like how he runs.
  • swyx: His Oregon how he how he thinks about hiring.
  • swyx: Interesting guy interesting.
  • Adam Argyle: Interesting guy and he just curious his candor so well.
  • Adam Argyle: yeah but hey back to the dx says, like a job title, I do think it's still important, I just a and that's what i'm saying I don't think the phrase does your job, justice, like it's making dx sound like it's only valuable if it is impacting ux and i'm like that's not the case.
  • Adam Argyle: You can integrate our developers to save hundreds of hours a week and and maybe never touches the ux and who cares you just still saved hundreds of ours, like, why is the value of dx somehow hinting.
  • Adam Argyle: on its ability to hang on so we're getting more ranchi again why is yeah just doesn't like it's not doing it justice like it wants dx to be respected, and like it already is.
  • Adam Argyle: So why push.
  • Adam Argyle: This is like it's best moment to like.
  • swyx: yeah whatever, so I think you know just just because you're you're interested in this i've been defining it in.
  • swyx: In maybe like four ways, so the first this API design because.
  • swyx: That is that every everything is downstream of like did you did you design the right abstraction right like the same thing that you're doing with different inputs and stuff like that.
  • swyx: And then second of all docs for for that API right, you have to.
  • swyx: be able to find it first of all, it needs to have full coverage everything that is in your API should be locatable and then it should be anticipatory like tell me what i'm going to need before I know about it, which is a high bar.
  • swyx: But like.
  • Adam Argyle: No, I like that's like visiting a docs page and it's already got my keys in it like I don't have to go find my keys it knows i'm writing.
  • Adam Argyle: and looking at the docks and it.
  • Adam Argyle: But yeah.
  • swyx: To me that's just like template this template of docs I mean everyone can do that, you know, like it's.
  • swyx: It is, it is, it is good people do do enjoy that but I always want to have an opinion, like Okay, you know you have like two required options and five not required options, but this is recommended in these situations, and this is only for power users tell me that.
  • swyx: In the docs before before letting me go on configure it on my own so that's what i'm trying to do with our docs and then the last part is, if I have a done for you, the last word is.
  • swyx: Three yeah right.
  • swyx: Okay, so so there's there's developer relations, which is like traditional.
  • swyx: Content creation is like teach me how to do stuff.
  • swyx: Do tutorials do beaten, I mean.
  • Adam Argyle: hype man.
  • swyx: hype it up hype man yeah and then the last part is community which basically like do you have a place to go to ask questions and how how much you know.
  • swyx: Like can you get a job in this is there, like a training is there, like career progression do I see myself identifying with this technology as a career like.
  • swyx: There are lots of technologies in our lives there's only a certain technologies that we choose to call to like say like I am a developer, I am a reactor developer that that means something that's over and above just the the particular library and framework that you use.
  • swyx: I don't know if I should do that I don't know if I should be so expensive and say like oh yeah communities part of this, too, but also it kind of is.
  • Adam Argyle: It definitely is it's something that I tried and I still try to focus on by having open office hours doing the AMA is.
  • Adam Argyle: I try to reach out and yeah that's why I do conferences, I like to do I don't think I can effectively do my job.
  • Adam Argyle: If i'm not connecting to the Community, because otherwise i'm living in a bubble and i'm not putting my shoes on that are uncomfortable for me like I need to be constantly putting on shoes of other people to have my own perspective.
  • Adam Argyle: shaped well and then it makes me a better educator It makes me better at all these other roles yeah.
  • Adam Argyle: it's that it's included.
  • swyx: it's my that's my map of developer experience so far and i'm trying to implement that.
  • Adam Argyle: awesome that sounds very amicable and it sounds like you have four pillars and everything at Google ends up being in four pillars.
  • Adam Argyle: So, congratulations on.
  • swyx: Google the coming.
  • swyx: weeks to come in threes I don't know.
  • Adam Argyle: Three is a little more catchy huh yeah.
  • swyx: Wait so what's an example of the thing is that that's four pillars at Google.
  • Adam Argyle: let's see if I can I don't know if I could remember one right now but it's like anytime a leader is presenting like.
  • swyx: there's always.
  • Adam Argyle: One slide that's got like four pillars of our beliefs or whatever and you're like come on this is just a template slide everyone slaps and they go.
  • Adam Argyle: Oh, this was some crap.
  • Adam Argyle: Anyway, so we tease it every time we see it we're like there's the pillars.
  • swyx: I mean it, this is the whole thing about draw the map right like like I want to know, like where do I end, because if you just say it's all the things I don't have to.
  • swyx: do with that, but if I have covered like the big macro is kind of like your your meal right like when you're when you're eating you want to make sure you're taking care of your big macros and in you you're roughly like you're going to survive.
  • swyx: So.
  • swyx: Nice yeah it's kind of how I think about should we talk about self disruption.
  • Adam Argyle: yeah.
  • swyx: Alright, so tell me about what this what this is and what prompted it actually.
  • Adam Argyle: Okay, and let's see what prompted it.
  • swyx: was just something like not innovating or was it.
  • Adam Argyle: That was just me making a comparison yeah I was apple and their new machines.
  • Adam Argyle: It was.
  • Adam Argyle: Chris cormier sharing a CSS tricks article about alternative browsers based on chromium that are offering unique can express of experiences.
  • Adam Argyle: It was me reflecting on opera when they tried to do this with opera next as like a self disrupted browser implementation, it was really cool it's like bubbles every town was pretty neat.
  • Adam Argyle: And I just was like started I just started thinking about it, I was like in tech okay it's like as a naive implemented right because i'm pretty much swinging the hammer on the engine every day like i'm constantly.
  • Adam Argyle: In the House, making sure the door handles are shiny and open easy like this is what I mean by like being a ux developer like i'm just going around and making sure.
  • Adam Argyle: That it all flows and i'm like in my head i'm like if we had tons of money and this thing was just so successful you know what I would do is I would roll that all into like a labs team.
  • Adam Argyle: That made it so that I made the next generation of house like let's quit hacking on these same houses, we have it up, we have a great process and it's all hunky dory but at the same time, like we're out putting a factory looking thing.
  • Adam Argyle: And, and we seem to be happy and proud about it, we are but i'm like okay So for me I got really confused i'm like I would, if I had all this money and success.
  • Adam Argyle: Roll it entirely into disrupting myself into the next coolest thing, because now I don't have to have the same stresses, I did the first time, the first time, when I made my product, I was fighting right and you were pushing you had this ideal in this mentality.
  • Adam Argyle: And i'd want to live that again, and what I don't see happening is companies do that I see chrome browser what is it 10 or 15 years old.
  • Adam Argyle: It looks kind of the same has a ton of new features under the hood but i'm like this is a very unexciting user experience but that's probably fine that's fine for mainstream application and yeah you don't want to go to so anyway, I like I understand why.
  • Adam Argyle: it's risky to try to self disrupt but at the same time, I made the adobe comparison with you i'm like 20 years of success of photoshop.
  • Adam Argyle: And yet there's still like every three years, a new design tool popping up that.
  • Adam Argyle: turns everyone's head away and is almost it always feels next gen when it shows up sketch showed up everyone freaked out three years later we'll freaked out over Sigma three years later we freak out over xd.
  • Adam Argyle: And and yeah they're like they're disrupting photoshop but photoshop not disrupting itself like why can't they just sit back and be like we've got hundreds of thousands of dollars and lots of.
  • Adam Argyle: developers let's pivot everything until like V2 of this thing and just rocket into the future, you know, like let's do what everyone actually wants, instead of just repeating.
  • Adam Argyle: Anyway, so that that was the thought process and I was like why.
  • Adam Argyle: Like Sean why don't more people roll their success Okay, because they do this in business right if you get a big fat success in your bitcoin output, or what I don't know like you roll your money back into a bigger investment and you roll it again.
  • Adam Argyle: But they don't seem to do that with their products it's almost like it gets big they get.
  • Adam Argyle: Rich they get not inspired anymore, and their focus has changed and they're no longer in that mindset of.
  • Adam Argyle: Building the best product there now and then they're just in a new phase right and i'm like yeah, but you can be in the new face and invest in like another disruptive face right like now, you have the funds for it and that's what.
  • it's all coming from yeah.
  • swyx: A lot of thoughts on that.
  • swyx: First of all, wasn't so wasn't xd doesn't actually count because it's also from adobe.
  • Adam Argyle: I would argue it's of this is so rude of me to say is pretty much a fig macloan.
  • Adam Argyle: yeah and it's great I love xd In fact I like it better than figure you.
  • swyx: want them to innovate, the end of the day, I want them to.
  • Adam Argyle: here's what I want photoshop to do with all their money and all their fantastic developers is make an actual web design tool like a real.
  • Adam Argyle: represent tool and stop messing around with 20 year old style gradient makers and all this old crap that you've been carrying around like shed all that baggage go something straight up web focused and just.
  • Adam Argyle: chew that crap off and just spec centric design tool, something that actually like has html elements in it, it helps designers facilitate something that is like more oriented towards a real thing instead of continuing to yeah.
  • swyx: So we're flow like I mean.
  • Adam Argyle: Yes, sure yeah so they so web flow chart it does disrupt the design market right big building like a web centric and web focused and spec focused design tool.
  • Adam Argyle: And yeah i'm like why doesn't adobe look at that and go Okay, we need to do the same, we need to have.
  • Adam Argyle: Our own version of this with our name on it we've got the funds we've got the people like they.
  • Adam Argyle: See like from the outside, they have everything they need to do it like I look at Google, the same way i'm like look at chrome like they have all the money and all the people they need to make another version that's just incredible.
  • Adam Argyle: And just does something fresh.
  • Adam Argyle: But yet they're not and so yeah I was mentioning to you it's like ego it's just like to Polish turds apparently, so I think that's just kind of what happens is your ego grows.
  • Adam Argyle: And you're like you, your smuggle I think I think what happens, this is success turns a lot of teams into some eagles and they sit and go my.
  • swyx: Precious.
  • Adam Argyle: yeah and they just.
  • Adam Argyle: They just stroke, the ring and don't do anything new, with it, or whatever, and I guess that doesn't make sense, because they're.
  • Adam Argyle: Not sitting on a pile of money, but anyway, you get what i'm saying.
  • swyx: What adobe sitting on a pile of money, I definitely vouch for them for doing that, if they're like a 200 when I last looked at them like five years ago there, like a 60 billion like like decent size and now they're like 240 billion and.
  • i'm just.
  • swyx: To create like this, you think you think you know these companies, and then they they just blow past any form of expectation.
  • swyx: Okay, so a couple couple things on this, so one is you know I had, I had a APP that I updated you know there's a I have 200 Apps probably on my phone, they do not update.
  • swyx: You know why I don't update them because they may they may change and i'm scared of change, they work fine for me right now.
  • swyx: And I updated one of them and yeah now like the old ux is gone and I can't get it back yeah so sometimes like don't fix what he broke, you know, like if I rely on this from a living in my business tools like.
  • swyx: It just makes sense to just keep it for the others who will a very you have it, that that means something you know what I mean like that.
  • swyx: That lack of change actually is a feature sometimes but yeah I mean obviously innovation is helpful, he did not want them to produce a Sigma clone I get it.
  • swyx: they're probably looking at building a workflow or by workflow is both they're both totally possible but I don't think it's proven itself, yet I don't think like designers have like flocked to web flow like they have to figure.
  • Adam Argyle: they've been distracted with yeah design systems and components third.
  • Adam Argyle: Design tools are competing competing in that space to you know, make an API for all your tokens if you make your art boards like this put your squares like this and give them a name and you'll output, an API blah blah blah.
  • Adam Argyle: yeah they're over there, turning their wheels hard.
  • Adam Argyle: digging holes yeah my opinion yeah.
  • swyx: Well, so Okay, and then there's also the fact that, like.
  • swyx: It I think it takes a few years for a product to season.
  • Adam Argyle: yeah.
  • swyx: And, and like photoshop just you know I think it's not like there's like the Web version or creative cloud or whatever like that hasn't been that been around that long and it takes.
  • swyx: A long time to reach like the mass population again, this is the whole concept of like you're in the head you evaluated all these tools and they came out you're like you know the difference between them, most people don't.
  • swyx: Most people like hear about them like five years after they're out because, like that's what that's how long it takes to like hear about things you know from your friends and stuff.
  • swyx: So you're you're wanting innovation at a pace that, like most of the country, your most the most of the industry doesn't operate on so I just want you to norm yourself.
  • Like.
  • swyx: Because you're at the cutting edge of a lot of things.
  • swyx: Like and maybe it feels like the companies are not keeping up to where you are but also like there's two things one, it makes business sense because, like.
  • swyx: You wrote the software is super expensive right the software, you have to kind of milk it for a while.
  • swyx: Second, it takes a while for software to get out there and get get known by people get using.
  • swyx: People build their careers, on top of this thing and then, and then you don't want to change it, because, like now, you know this thing in your you're working on it just fine like don't don't take it away from me so there's a so base camp, do you familiar with base camp.
  • Adam Argyle: yeah it was early user are anyway yeah.
  • swyx: yeah they're one of those companies, so I think they probably closest model your approach where they're every new version they throw away the old code base and you just rebuild from scratch and the first principles.
  • swyx: The old code base still runs in any customers don't stay on it can see on it for eternity.
  • swyx: Setting that that's a really nice balance of disrupt yourself but don't break the workflows of your.
  • Adam Argyle: People who live I definitely don't want I don't want you know chrome to stop making chrome or photoshop.
  • Adam Argyle: that's not what i'm suggesting i'm suggesting all your role your excess money that's apparently like obviously covering your bills and come up with something new.
  • swyx: And what do you think.
  • Adam Argyle: fix all fix all the things that you noticed are wrong after you've built this product, because naturally after you're done hardening a tool and building it V2 looks so clear and after you build V2 v3 looks so clear.
  • Adam Argyle: And so that's also The other thing because.
  • Adam Argyle: Like we have frameworks that update all the time and they kind yeah I guess the old one always works, I can just go get the old code, but yeah I definitely don't want to see old versions breaking I just want to see the the original fire and spark of a team.
  • Adam Argyle: just trying new stuff with this excess funds it's just like.
  • Adam Argyle: I don't know that's just what I would do I guess.
  • swyx: there's there's the old money effects, you know, once you made your major reputation major wealth, whatever you're not as hungry anymore.
  • Adam Argyle: that's what I mean yeah that's what I was saying.
  • Adam Argyle: is like yeah.
  • Adam Argyle: I just imagined, I would still have the hunger and that's what i'm like how come other people lose the hunger.
  • swyx: Okay, so one more thing, so you is just focusing on web design used you work on your own tool.
  • swyx: Would you ever spend that out, I mean it sounds like you use you feel like there's an easier.
  • Adam Argyle: Oh, this book this book is more like fire bug and Dev tools senate as a creation tool.
  • Adam Argyle: Like creating in the browser It really is something different than creating a new design tool and it would need to facilitate some really different flows so yeah this book just.
  • Adam Argyle: can inspect whatever is built anywhere it's just like Oh, is there a web page here i'll tell you everything I can about it just put me on the page.
  • Adam Argyle: But, and it will allow you to copy and paste you can hit command D and duplicate So if you want to see what your layout looks like with nine cards, instead of three just click one hit command D sometimes.
  • Adam Argyle: So it can help you like edit text and do this like chaos testing, and you know stress testing it costs to change colors and deletes I don't know it does all sorts of things, but it is not.
  • Adam Argyle: start from blank and begin, although you can kind of cheat like if someone really wanted to flex Facebook, they could definitely do that because Facebook and copy styles off of anything you select so you could go to a page.
  • Adam Argyle: copy the styles paste from somewhere else, like, I have a tweet where I go to a web page I go to Web.
  • swyx: show it.
  • Adam Argyle: I copy oh yeah here, let me see if I can find it.
  • swyx: I like bringing things up on screen, so that people can follow along.
  • Adam Argyle: yeah that's cool.
  • swyx: And also like you know send people your way, but also, I think.
  • swyx: yeah you know I wanted to publish to nullify and I never figured out the API is because, like basically I had.
  • Adam Argyle: Oh yeah we.
  • Adam Argyle: Were hacking on that together huh.
  • swyx: yeah I had to do file upload from extensions and I could not figure out how to do that I don't think I had the ability to do that, and you know if I think only only allowed file upload um so yeah I kind of left it I didn't I didn't figure out how to do it.
  • Adam Argyle: I just sent you one there's.
  • swyx: A couple of you did more okay got it.
  • swyx: Maybe.
  • Adam Argyle: it's cuz I just let it like in the code and when I literally just like take html and CSS go to code pen and paste them and it just works.
  • swyx: That the mistake that makes the Web like we mixable you know there's this whole.
  • swyx: Yes, term.
  • swyx: Here okay I don't see anyone anything else that you sent me so if you if you did.
  • Adam Argyle: It yeah i'm trying to find the code is the.
  • swyx: One so this well there's a shift in line svg you click on the thing and then go to call back or up said.
  • Adam Argyle: Oh participant one oh I just started a new code pen Oh, here it is.
  • Great.
  • swyx: boom.
  • Adam Argyle: Oh, that one, just as the svg though okay so yeah so that's one thing this book can do you don't have to wait for like a.
  • Adam Argyle: copy button on in line svg you could go to nullify or tailwind and all the RAD svg they have their copy it just.
  • swyx: yeah.
  • swyx: yeah.
  • Adam Argyle: I don't see that one but yeah I went to web Dev and lifted a button oh yeah I saw all of the button off of the page I just took the html I pasted it, I took the styles and pasted it and I had the exact same button just did not defined because I didn't have the font important.
  • swyx: You see that's a reusable but.
  • Adam Argyle: that's actually what i'm trying to kill designers to do is basically like stop recreating the button in a design tool go use your production website as an art board.
  • Adam Argyle: you'll need to recreate the page anymore go to the project to work on and Edit it and express yourself in a familiar way that you're doing a design tool.
  • Adam Argyle: Take a screenshot until the developers that's what I want.
  • swyx: yeah yeah that that would be that'd be next level yeah.
  • swyx: cool man, I mean that was those about the list of topics that we prepared and I wanted you to plug visible good, so I can.
  • Adam Argyle: Oh thanks I was like.
  • Adam Argyle: Oh, this is nice that's coming up.
  • swyx: I know right um but is there anything else you want you want.
  • swyx: People to you want to plug you want people to like you know what's your what's your message to people that you wish, if you could wave a magic wand, everyone will do.
  • Adam Argyle: Oh i'm.
  • Adam Argyle: This, which is the next time you're in typescript or in javascript and.
  • Adam Argyle: you're banging your head again, or maybe you're in rust maybe whatever language you're in and you're banging your head against it and you're stuck.
  • Adam Argyle: I want you to remember how you feel and the next time it happens to you and CSS don't be so frustrated.
  • Adam Argyle: Just know that every language you work in you're not perfect, and you will plunk around like a Bowling ball between the rails until you hit the end and it doesn't matter what language you're in you do the same thing in all of them, so.
  • Adam Argyle: CSS is hard and maybe people think it's below them because it's just boxes, but some you know, and maybe you think your math functions on the you know your server.
  • Adam Argyle: functions running on the edge or so cool but it's all just a place where you're trying to get a task done and you're not a superhero so you don't do it right, the first time and that's okay.
  • swyx: it's very Bob Ross if you.
  • swyx: Say yeah you make you make some mistakes it's okay happy little accident.
  • swyx: And also, but also, I would do on a feature that CSS just got a whole bunch of math functions right, you can do some really redesigned see things.
  • Adam Argyle: yeah cosine and all that good stuff yeah.
  • swyx: i'm not i'm never using it, but it's cool.
  • Adam Argyle: yeah I don't think i'll use much of.
  • Adam Argyle: Either maybe if i'm like doing a rotation and i'm trying to be fancy usually I have to Google all the math stuff i'm like the math stuff.
  • Adam Argyle: You know I want an Arc okay who's got the math i'll go take it.
  • swyx: yeah.
  • Adam Argyle: Nice, I do have two shows to pitch, though, if I want to plug.
  • swyx: I upload yeah just.
  • Adam Argyle: goofy challenges on YouTube on YouTube every month I release a blog posts and a YouTube video that I explained and break down.
  • Adam Argyle: A component that I build and I build it in an agnostic to any framework I just sort of.
  • Adam Argyle: build it in html CSS and javascript and like here, you can take this anywhere you want any framework go make it fit into your architecture, but here's the goals.
  • Adam Argyle: You know the goals are it needs to be interactive this way and it needs to have this feature and I talked about accessibility and how I do it, and then I open source code.
  • Adam Argyle: And yeah I have a blog post that goes in really deep about it and I like that show it's a good way for people to see that it's just thinking on ways to solve things like I don't think.
  • Adam Argyle: I don't think people would be happy if there was only one way to do stuff.
  • Adam Argyle: I think that's why the web is succeeding is it's weird and it's quirky a URL could be anything at the end of it when an APP download an APP and you're like i'm probably going to see bottom tabs and probably see this.
  • Adam Argyle: And I think that's exciting and so it's trying to empower people to just be okay with being expressive about how you want to do stuff like there's a lot of style that even goes into accessibility.
  • Adam Argyle: And people don't talk about that they make accessibility sound like there's one way to do it and, like I don't know every time I do it there's different things in different smart little.
  • Adam Argyle: So anyway, I bake a lot of that information into that show, and then the CSS CSS podcast.
  • Adam Argyle: really makes it illuminates the computer science behind CSS where we break down, you know the functions that we are pretty much all pure functions, we talked about the functions that run client side.
  • Adam Argyle: and take parameters they're just like javascript and Dudes type CSS is typed you know we go into the color as a type and sizes and links are types and.
  • Adam Argyle: in any way, I think it will help anyone with their perspective of CSS and feel more comfortable just sort of being in that world so yeah Those are my plugs.
  • Adam Argyle: thanks you really mean we're those.
  • swyx: hangout you said, your second show.
  • swyx: You two shows.
  • Adam Argyle: That was the CSS and CSS podcast.
  • swyx: Oh yeah Okay, but yeah I enjoy that.
  • swyx: I love I love how so how is a friend of mine from Singapore and he does the whole pickup what you put down thing that I preach, which is essentially he goes over and actually.
  • swyx: demonstrate show notes and so he's learning it along, but everyone else can learn with him, so I really like it, I have to admit it's hard to follow when you mouth blog but.
  • swyx: At least, at least, I know, like you see, this is a map right like here are all the things that you know the to CSS developer advocates that chrome.
  • swyx: thought it was worth knowing and you covered the the topics and you, you called out the things that you took for granted, or maybe you like found out as you as you covered the spec again like this is super valuable.
  • Adam Argyle: Think Sean and that's definitely what we do that's a good description of a map map and territories, and we have more territories that are sort of undocumented right now and we'll get those out sometime next year, but.
  • Adam Argyle: yeah we've got a pretty good coverage of core CSS and I show.
  • swyx: yeah it's really it's really great alright perfect thanks for thanks for doing this, I know it's I kind of like an awkward thing, and I know I really wanted to do an in person thing is.
  • Adam Argyle: We see you as a fun yeah dogs dogs coming around, and you know the.
  • Adam Argyle: kids toys everywhere and all my plants, I have a lot of plants but.
  • Adam Argyle: Later yeah.
  • swyx: i'll come over sometimes we have to do this Seattle meetup but hey thanks thanks for thanks for chatting right i'm gonna have fun yeah

View Details

Listen to the song: https://www.youtube.com/watch?v=gIOyB9ZXn8s
Listen to the analysis: https://www.youtube.com/watch?v=4zs0U8Z6yI8

View Details

Listen to https://www.theinformation.com/articles/the-talent-cloud-the-411-podcast (7 mins in)

  • https://www.theinformation.com/ti50 (paywall)
  • My pitch: https://swyx.transistor.fm/episodes/weekend-drop-temporal-the-iphone-of-system-design

View Details

Listen to MFM (1hr in https://www.youtube.com/watch?v=MBIgYNAI9Fk)

how to grow podcasts

  • big guest
  • "how to" episode
  • buy ads on niche audience - eg podcast junkie types - castbox, overcast
  • be consistent and at least ok
  • treat side hustle like a job -> grind at it
  • maintain and improve an existing winner instead of constantly jumping around "there are no silver bullets, only lead bullets"
  • impatience with action, patience with results

Transcript

uh in 3-1 so what was that march march
we did 338
000 downloads in april we did 436 000
downloads so
uh that's a 30 game about in may
it's tracking towards around 520 000
which is another
20 20 increase i think we can keep going
and i want to tell you what i think is
is causing all this
the first is
the biology episode so guests
typically we have found don't work that
well but a really
big name guest or someone that has a
cult following
like a tie or biology um that works
who's ty lopez oh tai lopez okay gotcha
uh when we did that one because he's
like cult following
and a cult unfollowing he's got both
yeah
yeah so that that worked so the
biology's episode is probably gonna be
the most listened
one ever um so that worked out
how much more is it than the usual is
like 20 more 50
more than a typical episode it got to 30
000
like in the first week typically our
episodes get to 30 000 over like
two months gotcha okay so it it did that
in like a week or whenever it was when
did it get released a week
days five days wednesday i talked to him
on the phone and he said yeah
a good episode i shared it so hopefully
that helps
and then uh he's down to share more but
we only tweeted out i think one clip
from it so he's down to share more clips
and he liked the
animation he was like oh like looks like
production value's going up
i was like sweet yes it is yeah uh
so that worked out well and then do you
want to announce what's working really
well is how to's
so any time a title is called how to
build a paid community
how to build paid events how to whatever
we've done
those rank the highest no matter what or
not no matter what but more often than
not so like in our top 10 most
downloaded stuff
it's either an interview with a huge a
well-known person
um which like an andrew would be a
well-known person or a how-to
blank so we have to do some more almost
like
they don't care about us and our great
ideas they care about themselves
learning something and being able to do
something they want to do
i think that's exactly what it is and
then it's ourselves peppered in there we
are the spice but
the meat is the how-to right and then
finally i got a last update um we're
running some ads on
do you know this thing called the
billionaire investors podcast
what's it called it's like a famous
thing is it we study billionaires is it
that one yeah i love that podcast if
you're looking to do it
yeah so we're running an ad on their net
on their network on that podcast i think
uh we bought it last week i think it's
gonna go live this week
then so there's two types of podcast
advertising that i'm learning about the
one
is what we do is people advertise now
hubspot advertises on our podcast
and people go to hubspot.com mfm
whatever
the other one is podcast platform so
like overcast have you heard of
overcast yeah like these clients these
apps you can use to listen to podcasts
yes and on those clients those uh users
click subscribe
and the strategy that i'm doing is what
we're doing is we are going towards
niche ones because those niche ones
typically have a far loyal following
and you could get low cost per click to
download and subscribe
and it makes sense because those people
if you are
you got to be a real podcast junkie to
go get like a new podcast app because it
has these extra five features about
podcasts so it's actually a really good
audience
that's probably really cheap because
nobody else really goes for them so i i
like the strategy a lot
and they're like they're techie they're
like tech they're early doctors
yeah and so we're running ads currently
on cast box
i've never even heard of them but it
looks cool and then overcast and so
those are some of the updates uh it's
going well okay what about the
so the ad on the we study billionaires
podcast what is it because i'm always
like
if i'm listening to a podcast what's
actually going to make me
go subscribe one is a guy comes on or a
girl comes on and they're a guest
like this happened with elaine elaine
came on our podcast she did ideas
and she said it was like i don't know
one of her biggest uh her newsletter got
like a huge spike in subscribers like
her next email send was
welcome all my new subscribers this is
amazing and she said she got you know
thousands of new subscribers from her
appearance on the pod which is great
and so that one makes sense because if i
go and guest on somebody's podcast
you listen to it for 45 minutes or an
hour because that's your favorite
podcast or that's what you listen to
regularly
and you might be like oh that guess was
cool they said they have a pod i'll go
check it out
i like that method and i'm i've said it
i got to do this i still have to go do
it which is
i want to go guest on as many podcasts
as i can that would be part my
contribution to this growth strategy
but this ad is a little bit different
it's just like a 30 second
sound clip what are we saying in that 30
second sound clip that's going to make
somebody want to subscribe
unfortunately it's not a clip i think
it's going to be stig the main guy
reading but frankly i don't know we just
closed the deal on friday
okay fair enough uh so i have to figure
it out but
we have our guys so we we got this team
uh henry and dylan
they're making like a height like a
sizzle reel right um and we might be
able to use that
but i don't know but i agree with you
like in theory i agree with you i just
don't know what's
what's available at the moment and we're
doing some other stuff to make it easier
to follow
so i'm emailing i've grown my email list
and this year
from zero to twenty six thousand
subscribers now
and at twenty six thousand i just sent
it out the first time last week
so just uh it's uh just seanpuri.com so
if you go subscribe there you get all my
emails but one of the weekly emails i
send now
is a podcast recap so if you don't have
time or you
listen to the pod while you're on the go
i basically take the best three bits
from that lat from the last uh the last
week of episodes and i say
this was the best idea this was kind of
the second most interesting idea here
was the third one
and so sent that out for the first time
and i think that will also make it
easier for people to like
follow along and if you were kind of on
the fence or you were
you're in and out you listen sometimes
you don't listen other times i think
that'll keep you on the hook
because and then i copied your email
like
from sean and i sent it to like 30 000
hustle people who clicked on a
my first million link in the past like
two weeks and we're actually gonna
increase that so it's like 100 000
people and my takeaway so far is
it actually might be good for the user
but shitty for our numbers
because you just get the information
without having to listen which kind of
sucks that that like has to be the case
yeah i thought about that but i don't
think that's actually how the world
works i think if you keep giving people
value
in every form that they want it short
form text long form
clips on twitter clips on youtube video
on youtube podcast audio
if you just keep giving people value
they will learn that
oh and whenever i want ideas whenever i
want to feel that
my wheels turning if i want to get that
juice that energy
um shawn and sam are the place to go to
get it and our
best raw the raw source the real
deal is in the podcast and so i
think over time those clips
they just bring people who are on the
fringes closer to the core
i hope that's the case and i'm betting
that's the case i'm putting my money on
that but
yeah yeah but it's a fear i and and i
want to bring this back to one thing
which is a lot of times we talk about
this inside stuff and hopefully it's not
like a circle jerk like oh we're awesome
yada yada
uh i'm revealing this because a lot of
people people like this i like it when i
hear other people say the numbers
but also i want to point that
i think we're doing really good but i
actually don't think
that we are good i think persistence is
good
and the reason why this is working is
because
persistence works quite well so we're
actually on we're
close to episode 200. we've been doing
this for uh
is it going to be two years two years
two years maybe in september or
august july something like that july and
i would say that we miss i i get sick
sometimes i miss stuff sean will miss
stuff because he had
a baby but we're pretty much always on
and at worst we're mostly at least
good uh like we're like it's typically
always at least
okay sometimes it sucks sometimes it's
really good
mostly it's okay and like
sorry mostly it's good i would say but
that consistency
is actually really important and we're
going to appsumo um
and i guess now in three weeks and
there's a great story
that noah told me or and basically no
kagan runs this company called appsumo
um it's a it's a weekly email where you
get deals on software
this year they're going to do 100
million in gross revenue
of which like 50 50 million is their
revenue it's a great business it's 10
years old
and he was like you know i realized
something that
this business that we're running it's
done really well but it didn't do well
at first
but everyone wants to know like why is
this doing so well and he goes
i really just put in 40 hours a week but
i just did it for
10 years and it has finally started to
pay off and turn out
and done really well and it's just like
it's just a job and i just but i do it
all the time and i treat it like a job
and that has paid dividends
and i think that more people who listen
to us
could kick ass a lot harder if they
treated their side hustle like a job
yeah i i would uh i agree with you
persistence is great the one thing um
that this reminds me of is
i got some advice from the ceo of twitch
emmett and um we so so when i got
acquired
uh when our team got acquired our
company got acquired we were put on a
special project
inside twitch and it was kind of like
one of the like
uh most people at twitch are working on
something that already exists hey this
you know people already use us
we're already the category leader you've
got to make it better make it more
profitable make it smoother make it
whatever it's more like maintaining and
improving
an existing winner and we were put on
this little
we're on the edge of the island and
we're the only team in the company
basically or
one or one of three teams that was
working on something that where we
weren't the winner wasn't proven
and so we uh it was considered like a
kind of a top priority so we did this
thing
uh every week the top my team would
present to the ceo the ceo and the chief
product officer
we had an hour with them every week and
in a big company you don't really get an
hour with those three people
every week that's like a very expensive
meeting as they say
and um because it was important and i
used to
go in and i would try to basically every
i feel like every two weeks i was
pulling a
a rabbit out of my hat trying to be like
and here's the new genius tactic that
we're gonna do and
this one is gonna be the one that works
and like
some of them did make an impact but
emmett had this observation where
he was like you know i feel like you um
have a lot of good ideas
and then every month we're we're
like sort of like on a weekly or monthly
basis when we sit here
it's always like yeah it's good but it's
not as good as we want it to be we're
still like
we're so small we want to be so huge um
and he's like you're impatient with the
results
and so i so i change one thing at the
top of every
um every update that you have to bring
in a memo
at the top of every memo um i was the
only person in the company that was
doing this everybody else their memo
goes straight into like
here's the weekly update here's how it's
going here's what here's what
we're doing next at the top i wrote in
bold
impatience with action patience with
results
i said that's our team motto i'm putting
it up here mostly for myself to remember
impatience with action that's what
impatience is good is when it's
you're being impatient by taking action
but impatience is bad when you're
impatient about results so i'm putting
at the top of this paper every
week
so we're all going to see it so that was
cool then the second
the second lesson came like six months
later nine months later when he was like
by the way you guys notice like we got
the results like
it's actually coming to fruition now and
if we look back
we can't say which one thing we did was
like
the big growth mover and he goes because
there's this uh phrase that i think
andreessen horowitz uses which is
or they made it more popular i guess i
don't know if they invented it but ben
horowitz has it in his book which is
there's no silver bullet there's only
lead bullets
and this is about this is basically
what that means is there's no silver
bullet strategy there's no one thing
you're gonna go do
that's just gonna magically like make
everything okay
make everything work um the only growth
strategy that
truly works over time is a
many lead bullet strategy which means
you fire you do a bunch of things
and you keep firing keep firing keep
firing until the you know
the thing falls over and finally finally
you break through and so i would say
this is a good and so that became the
second motto which is
remember only lead bullets and so that
that was those were the top of
every weekly update was those two that's
pretty good to catch myself
because i'm good but my what's my leak
my leak was
impatience my leak was looking for the
genius tactics
when all it took was lead bullets and
patience
and uh and so you know if you take away
one thing you know us talking about our
growth numbers
i think some people will like it because
they like hearing the actual numbers
it's great when somebody's like
transparent about things
cool we're at over half a million
downloads this month like monthly now
and we're trying to get to a million
some people will be like why do they
talk about their podcast number so much
but i hope the takeaway is forget about
how our podcast is growing that's
probably irrelevant to you
but you probably have a project you're
trying to grow and hearing how sam
thinks and talks about how he's growing
this podcast is gonna be
beneficial for how you do it okay how to
grow a thing
uh yeah back to our how to's i think
that um
and we'll move on but the last the
phrase that i've been thinking about
a lot lately is people overestimate
what they can accomplish in a year but
they underestimate what they can
accomplish in 10 years and decades
right absolutely and and that's kind of
an example here like we've been
frustrated on some month-to-month basis
or a week-to-week basis but like
it's kind of cool seeing these numbers
uh like really start pale

View Details

Listen to the Corey Haines podcast: https://www.swipefiles.com/everything-is-marketing/43 (1hr in)

How to grow a writing audience

  • SEO important to start
  • Something Owned (Wordpress), Something Rented (Google), Something Borrowed (Medium)
  • Inspiration over Information: "Medium really rewards writing that makes it easy on the reader"
    • 5 habits that will make you...
    • Straightforward, and plain, not too intellectual
    • No enormous paragraphs of text
    • Most people want to feel something more than they want to learn something
    • People click in to clickbait titles and find a thoughtful article - challenge expectations
    • Put a little cheese wiz on the broccoli

Transcript

  • Could you share, well, one how you built your audience we've briefly touched on. Okay. We started blogging for a medium thrown out a few times. So like, how have you built your audience that allows you to now make a living online and just any sort of, I don't know, numbers or scale you can share. It's just, some people have an idea of like where you are.
  • Yeah. So I, I had no following on line really to speak of when I started. And so I just put up a WordPress blog and I had a email newsletter and I, I sent out an email to, I don't know, maybe like 50 friends and family and I, my first newsletter probably went out to like 30 or 40 people, again, friends and family.
  • And that, that was probably the case for the. Three or four months. I like, I literally don't think it, it wasn't above like probably 70, 60 people for like three miles. Like it just really, but I do remember finally, like after every single weekly newsletter, my grandfather would always email me back saying great article.
  • Like this was really good. You know, he just always have like something nice to say, and that sounds stupid. But like that made so much of a difference to me. I knew it was kind of like corny and yes. Just to be nice. And like, I mean, I think he did like him, but it's very grandfatherly thing to do, but like, God damn it like, that actually helped, like, despite my like, cynicism, like having someone, just one person like that, it was really helpful.
  • So I, yeah, I wouldn't skip that step again. Like kind of recruiting friends and family initially the next thing, the next, like, bump that really. And I, at that point, by the way, I was getting like zero traffic to my blog. I mean, I had no. And I wasn't on any social media. Really. I was literally just putting stuff out there, like into the void, didn't know anything about SES and publish, just pressing, publish and sharing it with this really small group of people.
  • My first kind of big break came when I, I just, I had known about meeting them, but I decided I, I heard that it was like pretty easy. You can just cross post stuff. I saw, I already have these articles written on my blog, so I thought, yeah, what the hell? I'll just like, put this on medium. And so I, I put this article on medium and.
  • Within like a day, someone from an editor from one of the bigger publications they're called the startup said, Hey, like I saw this piece somehow. I don't know how I saw it. Can we publish it in the startup? And I said, yeah, sure. I guess why not? And then it, it kind of had a little mini blow up. It seemed like out of this world, to me, like at my stage, he got like, I don't know, 10,000 views or something like, and that got me probably.
  • I don't know. I mean, it bumped my, my medium follower account, but I also had a CTA at the bottom of the, of the article. So that kind of doubled my email list probably in all sorts of new people. And then. Obviously like that was super exciting. And so I was like, all right, this medium things is great. I'm just repurposing.
  • I'm just literally copying pacing. Might this article I've written already and putting it on a medium. So that kind of progressed fairly well for about a year or so. And at that time I also started learning just like the real basics of. SEO. I like, I got like the Yoast plugin and I wasn't even doing keyword research at that point.
  • I was just kinda like following the Yoast thing and, and over the course of about a year, I started getting fairly good, some, some pretty good SEO traffic. And then about, at about the year point, this is when I was talking before about, I started. Actively like trying to learn from a few of these writers, I admired on medium and developing this more conversational style.
  • And that's where my, my medium growth like really took off. I mean, I went from like a few hundred subscribers up to thousands, you know, eight, nine, 10,000. And then at the same time that I was starting to build up like SEO kind of organic traffic to my website and common misconception with medium, you can actually set the canonical link to be.
  • Like your WordPress version, so that if an article like blows up on medium, all the SEOG is still goes to your website. So I was having these pieces blow up on medium, but then I break for forum for the, my site's version. So I'd get all this more organic traffic coming to my website and yeah, so that's, so my email list was just growing, I think, after the first.
  • A year, year and a half, I was at, you know, a few thousand subscribers. And then last year I just really kind of hit my stride with medium. And I figured out like the right format, kind of like the right tone and format for writing on medium. And, and the SEO had really started kicking in. I was getting a lot of traffic.
  • There. And my, yeah, my newsletter went up to, you know, pretty quickly got up to like 15, 20,000 and that's kind of where I am today. So, but it's almost entirely been medium and SEO and that's, that's where I get probably 80%, 90% maybe of my newsletter subscribers, which is my primary kind of metric that I track is that I just include links and CTS at the bottom of all my medium articles.
  • And then. I, you know, I, again, I don't, I don't do tons of keyword research, honestly, again, I'm too selfish. Like I just write about whatever I'm interested in and I'll do a little, like kind of minimal, you know, SES stuff. But yeah, that's worked really well so far. Although to be honest, I've [00:05:00] been kind of winging it so far, but I've realized if I, if I do want to kind of get to the next level, I do need to be.
  • Thoughtful, I think about strategy and some of the more formal aspects of the approach. But I think the big thing was just like medium was just my home. Like it's like a writer's platform and I was a writer I just liked writing and it was easy. It was simple. I could just plug stuff over there. And I was, I liked the people I was reading on there.
  • And I, so that allowed me to kind of learn from them and create a voice and a style that worked well for. Audience and for the people on that platform. And so I think that, I think that's just, I think that really helped a lot. Yeah. Oh yeah. I've been kind of toying and workshopping this idea of owned, rented and borrowed platforms and just like helping people like really like break it down fundamental, like what, what is marketing?
  • What does it mean? Like how do you sort of strategically engineer something that just, you know, gets you, traffic gets attention to whatever thing it is that you do, whether it's content or a product or a service and a. You know, even. Between owned, rented and borrowed. You basically just need one platform that's like, or at least one that gets you discovered and like gets kind of those initial eyeballs and new people through the door.
  • And then you need another one that kind of keeps people around retention that, you know, lose the mints. And so, you know, very clearly for you, right? Medium was that discovery mechanism, that discovery platform, people come to the door, you get the traffic and then Google tacked on, as you know, maybe like a number two, and then you're funneling everyone to the newsletter.
  • And now they're subscribed. And I have another way to keep in touch with them and keep getting returning, returning traffic from each of your visitors and subscribe. Yeah, absolutely. And it's, the newsletter was just, so was, is so key. I mean, even just from an SEO point, like it's pretty awesome after you publish a, you know, an article now I can just link to it in my newsletter and all you out of nowhere, you get 1500 visits or something.
  • Like that's pretty, that starts to help a lot. But, but yeah, it starts with that idea of having your own, it was tiny. It was like 30 people at the beginning. Right. But this newsletter of people who just yeah. Get to know me. Style and like, and they just have that one, this to open that one email every Monday morning, they don't need to go to my website or anything and they just kind of stay in touch and it just becomes a part of their life.
  • And they were like, I so frequently have people say like, oh, I just, I look forward to Monday morning so much. Cause I know like your, your newsletter comes out and there's always something kind of interesting in there. And so, yeah, I love that, but I love that framework of kind of own rented and borrowed.
  • And that is definitely been the, you know, sort of renting or borrowing medium and, and, and SEO. And then. Owning the list. And I know it's cliche people talk about it all the time, but it really is. It's been awesome for me. Yeah. I mean, the newsletter is probably your most, your most powerful, valuable asset, but you wouldn't have gotten there without the kind of arbitrage opportunity with medium and you've been with medium through.
  • Some of the highs and lows and changes and all the things in between. Is there anything special you were doing on medium that allowed you to get good success there? And I believe, I mean, you're one of the top writers or, you know, there's some sort of accolade there with medium, but is anything that you're doing differently than other writers or is it just the consistency and sort of the psych brand and reputation that you've built up over?
  • Yeah. So I, again, this is always a little fraught because there's the, well, maybe that just worked for you survive your fish trip thing. But some of the things that I would point out in that I think have worked for me and that I've observed like common out common factors that I've observed also working for other people I know who have been successful on the platform is it kind of goes back to the first point is going back to this idea of inspiration over information.
  • I see so many. Uh, high quality articles on medium. That just totally bomb. Like they're full of really good information. And I'm sure they took a lot of time and effort went into them, but they're just. Boring. And they're like kind of stodgy and they're, they're like hard work to read through. And for whatever reason, I think medium just really rewards writing that makes it easy on the reader.
  • So like a few like particulars of that being really specific and straightforward in title. Like headlines of articles. Like it, it sounds, I've a little bit of like imposter syndrome over this, but like, I almost always for my, my titles, the exact same way, they're just, they're straight listicles. They're really straightforward.
  • It's like, you know, five habits that will make you more confident or something. Almost kind of generic founding and definitely mystically, but th th the magic there, I think at least for medium is that they're so straightforward. Like, you know exactly what you're going to get. It takes all the risk out of clicking into that article and starting reading to, to read because it's just, it's so transparent.
  • Like it's just very straightforward. And so not being, it's been a real struggle for me is cause I'm. I always have this tug to be like, my stuff should sound more intellectual and it should be more like subtle and nuanced in like, I'm just writing listicles all the time and which have kind of a [00:10:00] bad reputation.
  • But, but again, it goes back to like, you know, like fundamentally, like I'm a teacher, right. And if I'm even the most, like, you know, I don't know, Nobel prize, winning professors or whatever, they, they, they still end up teaching like one-on-one level classes. Right. And then when you do that, like you have to be approved.
  • You know, you can't just like Ram theories and complex stuff down. You have to like guide people along the process. So I, yeah, I think being very straightforward and plain in the way you kind of position your articles is, is really important on medium. And then also just the way you structure them, like medium has gone out of its way to give like tools and formatting that make writing like very beautiful and easy to do.
  • And it's amazing how many people, not only don't take advantage of that, but like actively interfere with it. They still write these like enormous paragraph blocks of texts and, yeah. Anyway, it's just like, like making it easy, making, you know, having like very clear like sections being really obvious about like what you're talking about using, using tons of examples.
  • This. Really, like, I think people comment on this all the time with my writing. They'll say like, I feel like, like you were in my head because you were describing these situations that are like, just like my life. And so whenever I make up, like often when I make points, I go, even though it's, it's probably, it feels excessive or gratuitous, I'll give like two or three examples, kind of like, and really simple, like just a sentence or two explaining some idea using lots of metaphors.
  • Being very, again, being very, I think medium really rewards approachable, straightforward writing. And so I think that's a lot of what's. Yeah. What's helped and really resonated with people on medium. Not like no jargon, like a lot of, I mean, a lot of this is pretty straight forward writing advice, but, but I think there are, again, there are like subtle reasons why this is hard.
  • Like for me personally, it's that. Like, I'm not sounding intellectual enough. I'm not like sophisticated enough in my writing. And it's constantly tempting me to use like big terms or to, you know, to write these headlines that are like, My normal style would be again, like, you know, five habits that will help you be more confident.
  • I want to ride something like, you know, confidence as courage, blah, blah, blah. You know, and that stuff just does not, it sounds fancy and intellectual. Right. And you can imagine someone going, Ooh, wow. That sound, you know what, but like the vast majority of people are going to skim right over it. Cause they're like, what the hell does that mean?
  • I don't have time for this. Right. So, anyway, that's sorry, that's kind of a brain dump, but I think medium is such a missed opportunity by a lot of people. And it's it's yeah, a lot of it is pretty low hanging fruit, actually. Um, well again, people like to poopoo on a Bali or passion, but like there's some, some truth in there and everything's on a spectrum and I think the same applies to listicles and that sort of predictable, literal, uh, expression of content and what you're writing about what you're teaching.
  • It's just like, look, this is what. Want to consume and like, just give the people what they want. Right? Like they want five ways to, you know, to improve their confidence or whatever it is. Like give them five ways and like that, let that be the title, right. It's just like, this is exactly what people want.
  • And I think it especially comes down to the medium and how people discover the content as well, because maybe for something like Google, you know, you can kind of like a, is on the fence a little bit, kind of dip their toes in two different pools where. You know, you have to match the keyword. So you're giving people what they want.
  • Right. And you can kind of get a little bit creative with it. Right. But it's not going to deviate too much, but even then, like Google tends to really, um, it makes things very simplified because you know, the broadest search terms and the most vague search terms are the, the most searched because they are by definition, the broadest, the biggest like that the most, you know, I think it's gonna apply to them.
  • Whereas something like media. Some people aren't really searching through medium as much as I understand, or the way that I use it, they're more browsing. Right. You're kind of like coming across it or maybe it's sent to you through a newsletter. You're just kind of scrolling through different things. So it's really about how can I capture someone's attention.
  • Who's scrolling through. Not how can I fulfill, you know, the information? How can I satisfy the information, need of a Google search, right. Of like this really comprehensive in-depth thing. It's just, how can I get someone to click on this? Right. And how I can get someone to read the next sentence, the next sentence, the next.
  • Exactly. And I think, yeah, when people are searching Google there, they're more primed for information like they're learning. They're more at the, like, I want to solve this problem stage, but with medium, you can't live in denial about this. Like most people, I think most people fundamentally, at least people on.
  • They want to be inspired more than they want information. They want to feel something much more than they want to learn something. Maybe eventually they want to learn something. Right. And I'm, I want to position myself to be able to help them with that. But initially, right, you just want to make them feel something.
  • They want to feel inspired. They want to see the world in a slightly new way. Right. And so [00:15:00] if a, if a listicle title and structure of an article gets people in. Then you can do this. What I think is like a pretty cool sort of magic trick where people go in thinking it's going to be like your generic kind of fluffy listicle that doesn't deliver on the like sky high expectations of the title.
  • But then you go in and it's this like really. Um, thoughtful substantive kind of friendly with just a really good article in there. And I think I hear this all the time. People are like, oh my God, I rolled my eyes when I saw your title. And I almost didn't click in, but I did. Cause I was just kind of interesting.
  • And it was so good. Like there was so much good stuff in there. I couldn't believe it. And so I think that's actually a way to like quickly win super fans is that you, like, you challenge those expectations. You sort of go, Hey, you think, you know what this is, but then actually it's something really different.
  • And it's, and the difference though, back to our earlier point is about it's about personality. And it's about, again, it's about feeling it's about helping them see the world in a different way and giving them a new way to feel about. Or making them feel like they're not alone, right? Like the way you write about something, all this thing, no one's ever described to them in the way they feel it, you you're being empathetic.
  • Right. Which kind of goes back to marketing. Right. Good marketing is about empathy. And so I think you can use, you know, you can put a little, again, you put a whole cheese whiz on the broccoli, right? You can write a, uh, a listicle title if it gets people in the door. And it's not, it's not a listicle if you actually deliver on, it's not clickbait, if you deliver on it, right.
  • If you actually give something helpful and meaningful, And so, yeah, I don't know that that's this is the little pep talk I give myself when I'm feeling that pull to do something more like annoyingly intellectual or something.

View Details

Subscribe to the Convertkit Creators podcast: https://www.youtube.com/watch?v=4pgecyiAMks

Related episode: https://swyx.transistor.fm/episodes/why-creator-clones-fail

Transcript

as a quick recap for anyone
new who is listening i have had a
youtube channel for i think about eight
years um
and i've grown up to two thousand two
hundred and three thousand subscribers
in that time so it's been like a slow
growth but you know that's quite a
sizable audience um
and
several months ago i decided to start a
second youtube channel to split off a
portion of my content and um yeah i
don't know
there might be people out there who
think why would you start another one
when you already have one that's got all
these people why start a game from
scratch you know um and so we're gonna
talk about that today about the why
behind it
how to try and get as much of your
audience as possible over from one to
another when you start a new project
we'll talk about youtube specifically
but i guess it could apply to in general
creators like starting a new project
after already having built an audience
somewhere else you know
yeah thank you for giving me the
platform to talk about this today
youtube because i feel like it's been an
interesting experience and i have
learned a lot oh well charlie why don't
you kick us off why do you start a
second youtube channel
yeah well
so i started it because um
okay backstory i have this podcast
series called inside marketing design
quick plug inside marketingdesign.co
season two is happening right now um but
i i ran this last year and i uploaded
the episodes to my main youtube channel
because it's like me making the content
it made sense for me to put it in one
place right um
i found that my first of all those
videos didn't get as many views as my
regular like vlogs and you know or other
videos did and also the youtube
algorithm i feel like i confused it by
suddenly uploading content that was a
very different format a very different
length like these episodes were like 45
minutes long compared to like 10 minute
videos i was making
um
that all of a sudden it was like i don't
know i felt like my whole channel took a
while to recover after the season ended
but my views on my more regular videos
were then lower as well which i was like
damn this sucks because i feel like this
content is really great like i believe
in it you know
um
i had some advice from roberto blake
i'll definitely plug him he has a lot of
really useful advice for youtubers you
just search roberto blake on youtube and
you'll find him um
he was like i think you should put this
content on a second channel because it
is such a different format it's like its
own brand and like in doing that you
might have a better chance in the
youtube algorithm to to keep it separate
and also it could be a very different
audience right people wanting to watch
these
their interviews with designers who work
at other tech companies about the behind
the scenes of their work there might be
a different audience for that compared
to someone wanting to just watch me hang
out in my office with my cats and do my
work you know like
that's kind of very different content so
it made sense to me um
to put it on a separate channel and so
that is the why behind why i did it
and
oh go ahead
okay um a question that uh someone might
have um about this is is that someone
youtube allows you that someone might be
me uh
but i think someone else might have this
question so okay here we go uh
uh i know that youtube has the ability
to kind of segment things within youtube
so you can have different playlists and
you can have like sub sections of your
work there so
why would you take the extreme of
starting an entirely different channel
instead of maybe the you thinking oh the
overarching thing is this is
charlie and these are the different
things that charlie does and here are
the different playlists of the things
that i do
you know go down the rabbit hole that
you prefer choose your own adventure why
why
what's the main benefit of completely
separating because
you might also
you kind of benefit from the fact that
you're using your current audience to
do this other thing right instead of
starting all over
so you're kind of taking a hit there as
far as like possible eyes in front of
your work that's a really good point yep
yep that's a really good point um i
think that doing that like you said
having it in a playlist on the channel
that can solve the problem of there
being different audiences you know that
makes it easy for the audience who likes
interview content to find that on my
channel but it doesn't solve the problem
of the youtube algorithm and like as i'm
talking about this please listeners take
all of this with a grain of salt i'm not
saying this is the only way to go about
it if you want to do a different type of
content i just know that from my
experience um
the youtube algorithm stopped
recommending me as much and like my
previous videos weren't getting as many
views
once i was starting to put out this
interview content um
and so that's why the why like a
different playlist couldn't solve that
basically unfortunately
yeah
um as far as the youtube algorithm goes
specifically i mean is this all trial
trial and error right is there somewhere
where it says
that's the real unfortunate thing here
right because
really realistically there are so many
creators that are really diverse in the
type of things that they do so having
like one persona one youtube channel but
all the different things that they do
doesn't seem like it should be something
i i guess i don't understand why youtube
is doing this i don't understand what
the benefit is on youtube right
because i i think for us our our mission
we always talk about this is supporting
creators right so like is it is it
it it i don't know it doesn't feel like
it's um i don't understand it so i don't
understand the value of it that it
brings to youtube i guess
yeah it's more channels
yeah and that's the thing for the
youtube algorithm is it's like it is a
bit of a black box in that you don't
know for sure like i could have made a
huge freaking mistake by putting this
stuff on a different channel right um
and i guess i will never really know um
if i did the right thing or not like
truly but yeah i don't know so far i
feel like i'm happy with my decision but
it's definitely
it was definitely not an easy
one to make and like as the episodes
have been going live for the new series
and they get like um
a few hundred views in the first few
days compared to
a few thousand that i might get on my
main channel
um but that i definitely didn't get last
year when i uploaded the interview
series there so it's kind of like i
don't know yeah is it true nathan and i
were actually talking about this
yesterday we went to uh we were at a
coffee shop uh having a remote work i
don't know like work with co-workers
kind of not even that i don't even know
it was more of like a nathan goes to
this coffee shop on and then you
followed him yeah and i went i went too
so you know but um
for his uh podcast he has i want to say
two different youtube channels for each
of them one of them is like the full
episodes and then the other one he has
set up as only the clips
and but we were talking about how the
one with the clips has
almost no views almost
virtually never see views and so it's
really interesting
um to think about kind of what you were
just saying is you're looking at this
these videos and you're used to being a
prolific creator that's getting
thousands of views on your videos and
you're seeing
zero
zero views ten views a hundred views you
know
um a small number in red you know yeah
yeah yeah you're obviously you're a
larger um larger audience but um and i
asked him why i think it was sean uh
mccabe that recommended do that and i
didn't get an answer for that either so
well i think the the algorithm is
probably a similar response there you
know
um but that's actually from the same
content so it's it's yeah
it's his podcast and he has full length
episodes as one channel and then he has
clips as a totally separate channel
yeah and i think it's because the
like the format is so different you know
like the type of person who just wants
to watch like a 30 second one minute um
snippet of advice might be different
from a person wanting to watch the
longer um
yeah i don't know i i personally have
been doing clips for my interview series
and i have been uploading them to the
same channel so now i'm like oh [ __ ]
have i screwed up there again um
but i feel happy with this approach so
far um
because my hope is that
if someone sees the short the youtube
short
then they might get interested in seeing
the full episode and then it's easy to
access because it's on the same channel
if that makes sense right right yeah
and charlie i imagine that you are
cross-promoting um
and telling your audience hey by the way
i'm doing this other thing
um so i guess two questions one are you
doing that i mean i imagine that you are
and two
um is there a way that you would
recommend doing that um that is you know
like not quite as
you don't want to seem annoying or you
don't want to like you don't want to
harp on it too much and
you know you know what i mean like how
do you do that in a like
you know non non annoying way to your
audience that you're cross-promoting
there's other things yeah you're doing
that you're not here for this but hey go
check this out you know totally
um okay so
when i when i created this channel
there's a thing that youtube does where
you have to have i believe it's 100
subscribers
and the channel has to have existed for
like a certain number of days before you
can claim a url
um
and so what i did was i sort of like
invited my audience to
to help me out on this like channel
transition thing you know um so many
months before the second season actually
launched i on twitter was saying hey i'm
moving inside marketing design to its
own channel
please go and subscribe if you like the
content um and if i get to 100 then i
get to set the url you know like i
actually said that and
yeah people
maybe it was too i don't recall what it
is whatever it is i got to it fairly
quickly because i made that ask right
and because my audience knew why i was
asking and they like wanted to support
me
in um being able to make that transition
so that's right no i feel like that's
one of the biggest mistakes that
creators don't do is make explicit asks
yeah yeah and
quite honestly be transparent behind why
they're doing it so i just let take that
as a lesson um that that that works
really well um is when you you know i
was thinking about it in the format of
deliverability when you ask somebody to
do something and then you give them the
transparent reason why you're doing that
whether that's like to whitelist right
you know the email address or whatever
that is um but sometimes making that
explicit ask people are
happy to help
because they want to support you in
doing that
totally yeah agreed um so where we're at
right now is i've launched
four episodes so far of the latest
season on the new channel the channel
has 922 subscribers something like that
um so obviously like way less than the
203 thousand on the other channel um
but the videos are like the difference
in in the numbers between views on the
main channel and views on the separate
channel are not as different as i was
expecting which is really good so for
example the currently the like most
watched episode on youtube um the second
youtube channel has 807 views
and that was the episode from a couple
weeks ago so it's had like a couple of
weeks um but if i look at last year's
season
um
they were they had all like around 2 000
views i would say was about the average
for an episode to have so i'm like
almost 50 there in just a couple of
weeks and those episodes were up for a
whole year you know
um
so that gives me confidence that i feel
like it it went well um and that making
the ask of like telling people on
twitter and also via email i send an
email out to people saying the same
thing like subscribe to this channel if
you like inside marketing design
means that the subscribers on that
channel although there are very few of
them they are the people who are
actually fans of that content
specifically which was the goal right to
have the people who are fans of that um
on over there i feel like i went off on
a tangent didn't answer your question
miguel
was there
anything else that you wanted me to
answer no i don't even remember what my
question was i'm just kidding oh great
see that lauren's asked a question here
in the chat um
lauren says have you ever thought about
taking snippets of the podcast when it
launches and put those on the main
channel as a way to let people know the
new one is available um this is a good
point so i think i can do more basically
to try and be getting people over from
this main audience to the to the
separate side project what i have been
doing
is for each episode i've been making
kind of like a companion video on my
main channel where i take a clip from
the episode and i sort of put some
context around it
so for example um i'm trying to like
remember what the latest one was oh yeah
i interviewed um one of the designers at
stripe you know you know stripe we use
stripe at convertkit um
about how they get their web design
stuff done and stripe is well known for
creating designs that then get copied
across the internet like they set the
design trends essentially so i took a
clip from that interview with tatiana
from stripe and i talked about design
trends um and then i sort of was like
this is what tatiana had to say and then
like rolled the clip you know um and
made it like sort of like a less than 10
minute video um
so that's what i've been doing um so far
to try and get people from the main
audience over but it is like a bigger
leap right to watch one video and then
click through to watch another one so i
think i should do a lauren suggested and
like just like i don't know maybe make a
community post putting a link to the
new video or something like that um yeah
that is the goal to get people from the
main channel over to the second one
are you plugging it in your current like
in your other videos still or like your
videos um your other playlist your other
content are you still asking people to
move over i have not uploaded any other
content so far like so far like since
the season two launched i have just been
uploading these um sort of like you know
i'm calling them trailers in a way but
really they're their own separate video
with a clip embedded in them
and that's the only content i've been
uploading but but i think when you're i
mean more on your like your how do i
feel about design trends videos right
like anything else are you plugging that
content are you plugging in
yes that content the purpose of it is to
plug inside marketing design essentially
i would say that also i aim to make them
valuable on their own if you only want
to watch that but the purpose is like i
mentioned it at the start that this
comes from a full interview you can
click here to watch it and then at the
end i like have it on the screen and i'm
like click here to go watch the full
episode so i am trying to get people
over from it yeah
yeah
what advice do you have for uh creators
with an existing audience as far as like
starting a new channel what like you're
trying to narrow it down into kind of
like three takeaways on whether or not
they should do it you know how to like
you how do you put together that
decision tree
yep okay
um
first of all know your reasons maybe for
why you're starting a second channel um
i i think be sure that you've tried what
you can to make it work on the main
channel first because it is hard to like
start from scratch like it's kind of
depressing honestly to open up
a channel that gets like it has zero
subscribers compared to one that has
multiple thousands um like it i don't
know it just feels weird um as a crater
to be honest and
no numbers shouldn't matter in that way
but it just does so
be sure you know why you're doing it um
ask your audience to head on over to it
tell them about it wherever you can
because if you say it once doesn't mean
that every single person in the audience
saw it right i have done many tweets
i've mentioned it in multiple emails
i've mentioned an instagram on stories i
did a community post on the main youtube
channel you know trying all these things
and like more and more come over each
time
i've found that since the new content
has been going out more so it's getting
more subscribers if that makes sense
which is understandable because like now
they're seeing fresh new content
that's a reason to subscribe
but yeah like don't be afraid of asking
more than once essentially um
i think that if you're gonna have a
second channel it should be a very
clearly different content format to
what's going on your main channel
so that there is that reason to be doing
it and that's gonna be clear to your
audience as well right like it can't
just be clear to you it has to be clear
to your audience why it's separate so my
second channel has its own brand
um it's still using all my colors like
my purple and things like that but
that's so signature you could not use it
imagine if i did something and it wasn't
purple that would just be weird
yeah
that couldn't be charlie
it looks like her but the color is red
and she doesn't use red never yeah
[Laughter]
yeah i don't know if that was three
takeaways specifically but those are the
main things i would say to look out for
um is the the reason for doing it having
it look and feel different making the
ask and also just like being prepared
for it to feel disappointing when you
launch something and like um
if i'm looking in my analytics right now
youtube does this thing where it shows
how the your latest video is performing
compared to others and it's showing me
that this latest clip i've published is
like doing best out of the last 10
videos and what's best is that it's had
like 43 views since it was published a
couple of hours ago
and that on my main channel is like
would be at least several hundred you
know in a couple of hours so just be
prepared for that difference and like
try not to judge one against the other
yeah

curious though do you charlie do you
have oh sorry miguel damn uh do you have
a timeline of like evaluating it or
goals centered around different time
like no i feel like i'm pretty committed
to this second channel now i'm like
something would have to go terribly
wrong for me to be like okay well now
i'm putting it all back again
so i feel like i'm just gonna like make
it work whatever and i'm trying to in
general have the approach of
maybe decentralizing a bit my content in
that um this podcast for example people
can watch it on youtube they could go to
the website
insidemarketingdesign.co they could get
it in their podcast app if they want and
that is like you know a totally
different format to just listen to the
audio and obviously downloads there
don't count towards the youtube view
count um so i'm just trying to like
embrace that and take the approach of
like
let the people find the content wherever
it suits them best
and i will try my best to get it in
front of the right people however that
needs to happen
i love that i think
i think the only other question i have
uh for you charlie is
i'm trying to put myself in the shoes of
somebody maybe considering this or that
has considered this in the past and
is this something that is a
they would you say
is it a lot more time consuming to do it
this way
or is it just logistically in a
different place but maybe about the same
amount of work or
i mean what what am
what sort of sacrifice goes into doing
it this way as opposed to having it all
in one place is what i'm trying to get
at i guess yeah i guess the like time it
takes to upload a video or whatever is
the same on from one channel to another
but what you're losing and having two
channels is that um
when
when someone when you're fueling and
like pushing promotion towards a video
on one channel it's not necessarily
helping the other you know
um
so that's like
the time consuming part is like i have
to put energy into fueling both channels
and like promoting both channels because
one doesn't automatically lead the other
there's obviously things i'm doing to
try and make that connection and um
you know i have them both linked on on
all the all the places or whatever but
yeah that's the reality of it um so that
maybe i would say i wouldn't recommend
people even start thinking about this
um unless their content is very
different like a completely different
niche um or they have like over 100 000
subscribers already i think under that
you're better to put all your fuel into
the one place to like fan the flames and
yeah keep the fire going
that is my stake in the ground

View Details

Listen to the Egghead Podcast: https://egghead.io/podcasts/alex-reardon-on-balancing-work-life-and-large-side-projects

Check out https://domevents.dev/ and Alex's course: https://egghead.io/courses/your-ultimate-guide-to-understanding-dom-events-6c0c0d23

Transcript

[00:00:00] You mentioned that you had learned a lot about Dom events while you're like on the clock working on the D and D project. So presumably you got to learn some of it on the clock, but then you also have to, since, you're not paid to create courses by your day job. Like, how did you draw the lines between work time learning and free time teaching, I guess was, is the way I'd phrase

it.

Yeah. I mean working in software engineering, I think we're always learning all the time, every day. I that's been my experience anyway and relearning. I feel like there's some things I learn. And then not that long later I have to re-look up again. There's just so much out there. Just always learning all the time and relearning.

It's just too hard to hold. Hold it all in your head or. So in terms of creating this course I set up very clear boundaries around my work time, and making sure that I'm doing and focusing on my work during work time. And then I set aside designated times at home where I was working on side projects.

So for me, that, what that looked like practically was one night a week. For me it was Wednesday night where I would work like on this. And that's not a large amount of time. But it was a balanced amount of time, cause I have a lot going on, full-time work at the time. I had two kids now, three kids, which is wild.

I'm doing stuff with my church and I'm doing stuff with my family, doing stuff with friends, like it's just my last very full. And so one night, a week was something quite palatable. But it meant that creating this course took an extremely long time. It took about a year and a half to actually put this whole thing together.

Doing that research. I was doing a lot of research, on that Wednesday night. And I created a visualized. Which took a long time cradle the scripts, recorder, all the lessons. Yeah. It took, it just takes a lot of hours. And so you only doing it one night a week. It, it takes a while now.

Sometimes it would be maybe no nights a week back. There was a period of some periods of time where I was busy with other things on holidays. And sometimes it might've been a few nights a week because I was like really inspired and towards the end. Of the recordings or when I was actually doing the recordings, we actually had our third child Jew.

And so that was a bit of an interesting time. And I was really keen. I'm like, I need to get this course done. Working on it for so long. And so I guess the month before. He was born I was in the room, in my office, most nights I recording those lessons to make sure that it was done before he came so that I could, when he did come, I could focus on him and the family exclusively and not have to try and be balancing the stuff.

It's impressive that you were able to have that kind of discipline to Wednesday nights. I'm working on this and you have to know in your head that it's going to take a while when you're only, one night a week. But what I'm wondering about is having I don't have children, but I'm married.

And I know that when my hobbies are also on the committee when it's like work on the computer, but then my fun times on the computer too, it doesn't always make for the best home situation not to project at all. But what I'm wondering is how did you come to having one night, a week dedicated when you already have the door shut nine to five every day and everyone's at home?

Yeah. I'm really glad you raised this. Because I think this is the less glamorous side of side projects. I'm happy to talk about the benefits of doing side projects, but I'm glad we're going in this direction for now. So you need to understand what's important to you. What's important with your time. What is more important for you?

Is it more important for you to be a rock star, a software engineer, or to meaningfully invest and engage with the people around you? I think the answer to that. Questions. I was really big questions will impact what you do with your time and how you spend your time. So we arrived in after negotiation, like my wife and I on that one night, a week thing because it balanced everything else that I wanted to do.

I really want to make sure that I'm spending good quality time with my family, with my friends and with my wife. Ultimately those are the most important things, like rather than. Becoming, the next big thing in software, so to speak. So yeah, it was a kind of a process of negotiation to to arrive on that point.

Yeah. Because yeah, it is hard to balance. It is tricky when you're in the office all the time to then say, Hey, I'm going to spend more time in the office. Yeah, it's a tricky one. And I guess I'll take this question even further and say that like my experience with doing this call. Wasn't exclusively positive by any means, I doing projects on the side has a cost in the same way that open source has a cost, right projects have a cost.

And the, I guess the big cost is your time. And I think [00:05:00] in the situation of the course, there was a big cost and it was primarily born, not by myself, but by the people around. Especially towards the end as I was doing, I mentioned that concentrated math month of recording. I have mixed feelings about that.

And to be honest, I feel quite guilty about that because my wife was eight months pregnant at the time. And that's probably when she needed me the most practically and. If I'm real, like I should've been there more practically emotionally in that time. I think we agreed that we both, we we both agreed on that course of action that we wanted to get the course done before, before our son was born.

But honestly, I feel regret about that. I'm happy with the result. Like the course is great, really proud of that, but yeah, I just think in a scheme of things, did the world need another cool. Know. Yeah, it's great. Like, I don't want to tear it down by any means, but I mean, yeah. I, I think I would have, I think I would have felt it would've been better for me to be, have been a really good husband during that time for her.

So, yeah. So

when you say that you have regret, like one of the things that I like as I'm thinking about this now So like a lot of does the world need another course? That's an interesting way to put it. And I know that you're joking, not. I just realized that I was probably Dane.

I was about to step into playing devil's advocate for the Dom, which is a very strange position to have gone into where the API doesn't change. Like the Dom API is not going to change, so that topic will still be there. So there wasn't like a pressing. Need for you to do this. But at the same time, you'd also

I don't know where I'm at.

I mean, as you said, you said the, like the dumb event topic is fairly in some ways timeless, who knows where we'll be in town 20 years, but I think we were both it just been this particular project had been kicking on for quite a while. We were both keen in a good way, see it come to an end in.

Like to see it go out there. When you put a lot of investment and love into something, you want to see other people use it and engage with it and, get get value from it. And I knew that if I was like, once a newborn baby land is wild and it takes a long time. Once a new one comes.

I, we found to be able to be in a good place to be able to do side projects again. So it was let's get this done, ideally before the baby comes so that, it's, it can actually get finished because if the baby comes, you're going to be adding on probably another six months to this thing.

Yeah I use the word regret. Maybe that's. Too strong a word. But I just think that, yeah, like it's just the big point that whenever we're spending time on something that's not our paid employment outside of work, a hobby sport, whatever like that. If it's not necessarily in support of the people around you who need you like that, there's a cost there.

Yeah. Thank you for, being like, so open and vulnerable about that. Like it's. Like you said, like I keep going back to there's these people who are just like, are constantly putting stuff out and then, we don't it's really easy. Like I think about it, like when somebody likes to scroll through Instagram and they're like, oh, their life looks so fantastic.

So fantastic. And you don't ever see what's going on outside of what you can see. And so you being able to finish this, but then also have very real. Kind of implications for finishing it at home. I just, nobody ever shares that kind of thing. And so I appreciate you sharing that. And so the negotiation phase for, it sounds so bad to say it about a relationship when you say it that way, but what would you do differently if you could go back a year and a half to when you were just starting things out and when you were first talking about, one day a week, I'm going to do this knowing what you know now and feeling what you feel now, what would you perhaps suggest somebody do differently if they're going to follow your

footsteps?

Yeah, I think doing the one night a week actually worked out pretty well. I think personally I've grown a lot. Through side projects in my life, I have no doubt that I would not be where I am today in terms of my work career. If I had not done side projects, I think I've always just done side projects.

I personally, I'm one of those people who just buying software naturally interesting. That's not everyone's experience, but I guess that's mine. So for me, it's hobby slash work is software engineering and I. So it's some people like going out and working with their hands and doing woodworking and it's a good creative release for them.

And to me, I find personally, I get those same feelings, just doing software stuff. So I say, it's just I'm just doing a hobby. Why not? I think, that's, I think a pretty common experience for a lot of people. Mine just happens to be doing similar things to what I would be doing at work in the sense that they're both software engineering, but I guess the advantage of.

On my own time. And my own thing is that I have complete control, complete agency on what it is that I'm doing, how I do it, what are the things I want to [00:10:00] spend my innovation tokens on? What are the things I want to learn? One of the things I want to move quickly through and. I'm doing site, like if you're working for a big kind of tech companies, I think in general, I think that from what I see, the natural trajectory of people is that you become more and more specialized in a particular field and side projects can be a great release on that, in that you, my experience is that when you're putting something together from scratch, I'm trying to put something out that you often are tackling problems that you're not tackling necessarily as potty a day.

So you're seeing the full scope of problems and yeah, maybe you're saying, Hey, I'm going to cheat over here. I'm going to use some cloud service to do this thing. And that's fine. You gotta choose where you want to, you don't to have to build everything, but you get a sense of how everything hangs together and I get the impression that.

And, and especially in bigger tech companies, when you're just working on a piece of the equation, you can lose perspective on how that piece fits into the larger scheme of things in delivering, a valuable service to people, a delightful experience. So when you're doing everything, you're being aware of how everything fits together and also makes you question, Hey, the piece that I'm really good at do you actually need this piece right now?

Is there something else I could be doing to solve this part of the equation? So the one night, a week thing, I think that's just something that my wife and I landed on. That'll look different for different people, but I guess the good thing there is to be intentional, if, especially for those who I guess.

In a committed relationships is I think we always want to be clear with people about this work home everywhere, like clarity is king. And so I think it's good just to say, Hey I'm keen to do this hobby or this thing, how's that going to fit into the rest of our life are getting shared buy in on that, because if you don't get shared by.

Like it might be fine. It might cause resentment, you don't know it's as best I think to talk it through and it's okay to get it wrong as well. Like you guys might decide, Hey, like I'm going to do my woodworking side project three nights a week. Cause I love it. And then, they might turn around in a few months and say, Hey, this isn't working for me.

And I think it's just, oh, it's a, it's an organic, flowing thing. It's not like a one-time decision and there might be periods of time. Where you're going full on because you're really interested or like you're trying to meet some artificial deadline that you've posted both on yourself and I think that's okay.

You just, it's better. I think it's just being sensitive to our person's needs and making sure that, and again, it's coming back to what I was saying earlier. It's, what's the most important thing is this hobby or this thing you're doing on the side of the most important thing to you, or is it, this relationship that you're in the family that you're in, whatever situation you find yourself.

View Details

  • Kiraly Payne: https://www.youtube.com/watch?v=dlxeWURe7q4
  • Wayne Brady: https://www.youtube.com/watch?v=SpMkrtXr4b8

Youtube autotranscription for Kiraly:

[Music]
hey hey hey i remember this i'm gonna
look about them but i was back in the day
now my whole crew filled with stars
[ __ ] make sure they people switch shades
it was enough for me to get a picture
had to go and readjust frames i've been
really feeling like it's new edition
where these hoes love a [ __ ] in the game but
hey i been focused on some other [ __ ] my
back been feeling like the mother [ __ ]
the pressure only made me better
reaching high levels really all because
of it
i really do it for the fun of it ain't
tripping really cause i love this [ __ ]
my soul be lighter than a feather like
puffin that is not feeling wonderful
hey
[Music]
my spiritual sin i just woke up to power
within ain't nothing unchanged for the
hoes in the [ __ ] bankroll
could it be indications need to pay
[Music]
treating you like you changed you ain't
even know the name
now you wanna be faithful girl i've been
making plays you was just later turning
on the game
all my peers so cold depression got a
[ __ ] feel like exploding but don't fall
for this platform chosen i'm on goal had
to lie my goals and my big bro he
reminded me ain't another [ __ ] quite
like you [ __ ] do you and [ __ ] stop
fighting competition leo ass how you
play too much attention on what they
doing
hey might hurt your movement it hurts
your confidence just keep moving as
possible
you can move obstacles go to impossible
places you thought was impossible just
focus on who you've been talking to
and watch how quickly they ride for you
stay on the road like a [ __ ]
monster
cause i had some down days depression
come where you were always change habits
taught a [ __ ] blessed to come with all
the lessons that be coming your way got
a message it was like you text me now i
take advantage every day i'm on game now
flex the creatine
[Music]

View Details

Listen to 20 minute VC: https://www.listennotes.com/podcasts/the-twenty-minute/20vc-eugene-wei-on-status-as-K-_1nakoYwE/

  • The essay read to you on NFX: https://www.listennotes.com/podcasts/the-nfx-podcast/the-founders-list-status-as-_h9HsoiGQYc/

Reads:

  • Status as a Service: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service
  • Graph Design: https://www.eugenewei.com/blog/2021/9/29/and-you-will-know-us-by-the-company-we-keep
  • American Idle: https://www.eugenewei.com/blog/2021/2/15/american-idle

View Details

Listen to Masters of Community: https://pod.cmxhub.com/episodes/matthew-kobach-greatest-hits

3 key takeaways:
- Three ways to build your social media brand: Be Unbelievably Niche, Be Consistent, Compound Tweets.

  • Be the lighthouse for topics you’re interested in. 90% of people don’t post, they just read. Get this 90% to look at your content.

  • Need to be passionate about and enjoy what you’re doing. Being good at something makes you passionate about it. No matter what you do, there will be aspects you don’t love - but make sure it’s something you’re curious about.

“90% of people don't really post on social media, 9% post, a medium amount, and 1% of post most of it. So those 90% of people, they have interests, they want to participate. Maybe they'll reply once in a while, but for the most part, they just want to read interesting thoughts. So that's the lighthouse - you’re trying to get those 90% of the people, and they're looking for topics that interest them. The only way for them to find you is if you turn your light on and you start talking about the things that interest you, and you've just got to hope that they're actually attracted to what you have to say.”

View Details

Watch his video: https://www.youtube.com/watch?v=OP3dA2GcAh8
My Blogpost: https://www.swyx.io/tiago-forte-second-brain/

These 10 principles are basically different aspects of a system/approach to knowledge work that helps us reduce stress, produce more, and live a life of creative joy:

  1. Borrowed Creativity: Stand on the shoulders of giants.
  2. The Capture Habit: Outsource memory to devices.
  3. Idea Recycling: Reuse ideas repeatedly.
  4. Projects over Categories: Don't silo insights - organize them into projects you are working toward, right now.
  5. Slow Burns: Not everything has to be a Heavy Lift. You can accumulate in the background.
  6. Start With Abundance: Don't start from a blank canvas.
  7. Intermediate Packets: Break down work into manageable projects.
  8. You Only Know What You Make: Taking action is the best way to discover what you don't know.
  9. Make Things Easier for your Future Self: Package up things for your future self to use.
  10. Keep Your Ideas Moving: You never need to be stuck.

View Details

  • https://www.youtube.com/watch?v=QkCxE2Lh458
  • https://www.youtube.com/watch?v=L3eRHmFV8aM

View Details

Listen to the Daily: https://www.nytimes.com/2021/06/10/podcasts/the-daily/mrna-vaccines-katalin-kariko.html

Long read: https://www.theatlantic.com/ideas/archive/2021/03/how-mrna-technology-could-change-world/618431/

View Details

Listen to Business Breakdowns: https://www.joincolossus.com/episodes/56584905/kelly-moderna-the-software-of-life

Transcript

Jesse: [00:06:03] And if you back up on the DNA, like this notion that it's four letters of code, can you walk us through the history of that? How did that come to be? Who's the father or mother of that? Where did that come to be? And then how did it evolve to today where it sounds like you're able to essentially program your own things in a lab and create them?

Jason: [00:06:19] The first thing to realize is this is just a miracle of biology that it works this way in the first place. Get back four billion years of evolution, here's the magic. When we invented computers, we had to come up with a way to copy things. Do you want to send a file or make... And we realize that instead of like a record player, which is an analog thing, little bumps on the record define the data, but those can move around and change. If you really want to transfer information with high fidelity, make a CD and make it zeros and ones, digital, because every time you copy it perfectly.

Biology figured out the exact same thing. When you have a kid, you want to transmit heritable information, you want your genes to move on to the kid. And the way that biology figured out how to pass information across generations, digital. A, T, Cs, and Gs. It just happens to do it, not with magnetic bits on a computer, but with actual chemicals.

Jesse: [00:07:11] Through our cells.

Jason: [00:07:12] A,T, C, and G, adenine, thymine, they are actual chemicals in a long string, just like a piece of cassette tape back in the day, a long string of molecules. That's just how biology works. There was the discovery of DNA, Rosalind Franklin and Crick and all those folks, Watson, figured out what it looks like, but they just we're discovering it. They didn't invent it, it just was that way. And then we take advantage of it as cell programmers, as synthentic biologists, we take advantage of that fact that it's digital and read and write it to make it do new things across really tons of markets. But Moderna is really the leader.

Jesse: [00:07:46] So when did they discover it? What took it from them discovering it to then maybe The Human Genome Project profiling it to now the point? What are the big milestones and timing between those two things?

Jason: [00:07:56] So one of the technologies that got invented in the late '70s was PCR. And I won't get into much technical detail, but what PCR lets you do is basically pick a certain region of DNA and make a billion copies of it. And you're basically hijacking the fact that cells have ways to copy their DNA because every time XL has a kid, it makes a whole copy of its genome. So there's really great little things called polymerases that read the DNA and pop off a copy. And so PCR, you just do that in the lab. You basically say, "Hey, this little region, make copy, copy, copy." And the advantage of that as you start to get tons of it, it's enough you can work with it in the lab. So that's one technology, PCR. So that's what they did with the insulin. They took a human cell, they found where the insulin gene was, they put these things called primers in which your little markers on either side of the gene, and they use PCR to make billions of copies of it. Now, you get it into the bacteria to make that insulin drug, that built Genentech, now worth hundreds of billions of dollars company. What did they do to do that? A technology called restriction enzymes, which are basically scissors. It's like little molecular scissors that bacteria use to cut DNA out. Why did they do that? Oh, because they're afraid of viruses.

So if a virus infects a bacteria, the bacteria blows up. And so to defend itself, it has the technology that it invented through evolution, which is, "If I see some DNA that isn't mine, chop it into pieces." And in fact, the more modern form of these restriction enzymes is what's called CRISPR. So you might've heard of CRISPR, same shit. Basically, a technology bacteria used to defend themselves from a virus inserting its code into the bacteria, and the bacteria wants to cut that into pieces before it executes. It's wild. And so what Genentech did was it said, okay, I've got this scissor, I know it cuts in a certain place in the bacteria. I got this PCR to make copies of insulin. I'm going to use the scissor to cut the bacterial genome and the PCR products so that they match each other, and then I just paste them together.

Jesse: [00:09:53] And that happened in the late '70s?

Jason: [00:09:56] 1978 was the very first. That was the beginning of humans directly influencing the evolution of biology, life on this planet.

Jesse: [00:10:04] One quick sidebar just occurred to me. Can you even closer? What's actually happening? Is the microscope doing these things? What are the tools that human being is using to do these things? Is it like our biology class where we had a little dropper thing and we dropped from one Petri dish to do that?

Jason: [00:10:17] You're on the right track. Yeah. So I did a PhD at MIT of bioengineering and this is basically 5 years of standing in front of a lab bench with a pipette, which is like a little straw, essentially, sucking up one colorless liquid and squirting it into another colorless liquid and doing these elaborate little lab experiments. Horrible. It was a painful process. You can easily mess it up and you can't see what's going on because everything is microscopic. In modern labs, like at Moderna if you visit them, and here I can go by our works, it's mostly robotics and automation actually doing the work now. That has been part of the reasons, you asked earlier what's different between 1978 and today, one of the other big, big innovations is dramatically more laboratory automation and dramatically more software and data analytics to parse a huge amount of data coming out of that automation. So the way we do lab work now, night and day from what it was in 1978. So that means where they could do one gene, we can do 10 or 20,000. It's a really big change in capacity.

Jesse: [00:11:17] Oh wow. So in the late '70s, it was like to build this insulin example, a bunch of human beings doing this boring exercise of guess and test effectively of PCR. I can copy this and I can splice it with the scissors, insert it and then test it. And I did that probably hundreds of times before it actually worked?

Jason: [00:11:34] Yes. And you really didn't get many shots because it was so laborious. If you didn't get it to work in the first 10 or 50, you were never going to get it to work because you just couldn't try that many designs.

Jesse: [00:11:45] And now many parts of our life, its software and hardware are somewhat automated to the point where this can happen at a scale, what you used to be able to do at a year is like a day?

Jason: [00:11:54] Yeah. To give you a sense of scale, in grad school, I probably did 50,000 letters of DNA in 5 years at MIT, a big month at Ginkgo today will be like 50 million letters. So like we're doing in a month many thousands of times the amount of designs I was able to try at 5 years. And that was back in grad school in the early 2000s.

Jesse: [00:12:15] So basically, from the late '70s, is it fair to say that computing power over time basically the real delta in what's allowed it to become-

Jason: [00:12:22] Computing and laboratory robotics and then continued innovation in the tools at the bench, what you're actually doing there, that has been improving as well. CRISPR is a better version, for example, of those restriction enzymes. CRISPR was around, but no one had discovered it in the late '70s and understood how it worked and now we do, and so that gives you a much better tool.

Jesse: [00:12:42] When you say printing, you mean mixing together chemicals that replicate those letters, is that the right way to think about it?

Jason: [00:12:48] Historically, the way you made DNA was like you're thinking, chemistry. I remember like a chemistry class, you'd see these weird columns full of stuff. You just put the letters in, A and then T, and then C, and they would stitch into a piece of DNA.

Jesse: [00:13:03] And A, T, and C are just chemicals.

Jason: [00:13:04] Adenine, thymine, cytosine, guanine, yeah. They're called nucleotides. They're a type of chemical. And they're a special chemical that snaps with each other so that they can make a string. And then there's the double helix, remember, A binds the T, and C binds the G? That's a little trick so that you can split it apart and then make a copy of each side, and that's how DNA replicates. But the new way you make DNA actually came out of Hewlett Packard, so it's literally printing. As a division of Hewlett-Packard is a company called Agilent. And they took inkjet printing technology instead of ink in there, they put the A, T, Cs, and Gs and they spotted on a little slide and you get the little A, T, Cs, and Gs, you get them, they're about 100+ letters long in little teeny bits. And then we do some fancy stuff in the lab to stitch those pieces into 1,000 or 10,000 letters, which is what you need for a whole gene. But the actual beginnings, the DNA, when it's done it's printed with something that looks like inkjet.

Jesse: [00:13:57] Because literally, printing is the right word. It's the same thing, they're just taking the chemicals and putting them on a thing that...

Jason: [00:14:02] Yeah. Yeah.

Jesse: [00:14:02] Wow. That's unbelievable. Can you just draw the analogies to tech, everyone understands it. What's the parallels in our bodies are in this whole DNA world?

Jason: [00:14:12] Let's take Moderna's mRNA vaccine, as an example to talk through this. What they want to have happen is they want cells in your body to express little pieces of the virus. In other words, to produce small amounts of the virus so that your immune system will recognize it, and fire up. That way, if the whole virus shows up later, the immune system takes it out. There's lots of ways you can do that. Historically, we have to just put pieces of the virus in, you could do dead virus and all kinds of stuff. Moderna had a different idea, which is, they want to say, well, we know the cell can read code and make things. And the way it does that, is it has DNA, which is what the whole genome is made of, it's like the hard drive of the cell, kind of. And then that DNA, there's little things that come along called ribosomes. They read the DNA, they make a piece of what's called messenger RNA, Which is like a temporary piece of code, and a ribosome shows up, reads the messenger RNA, and makes protein. So there's like DNA, which gets read to make a little temporary piece of code. Think of it like RAM and your computer or something temporary, and then along comes the ribosome and makes the protein.

Jesse: [00:15:22] And that's like the RAM in your computer memory, it runs it real time? Is that the way to think about it?

Jason: [00:15:26] It is a way for you to decide what parts of the genome you want to turn on at a given time. To simply think about it is, in your cells, the same genome makes your eyes cells as your nose, and it's just, what genes are getting turned on, allows you to run different programs from that same underlying genome that is you. What Moderna said is, okay, great. I'm going to come in at that level. I'm going to basically install some mRNA in your cell that is not in your DNA, it's going to be a little piece of the COVID-19 virus, and your cell is going to read that mRNA because that's what it does. The ribosome is going to read it, and they're going to make a little piece of the virus. And then your cell is going to essentially express that and show it to the immune system.

That hack is how their vaccine works. And so if you look at what it is, it's basically, just let's call it a lipid nanoparticles, basically like a little fatty ball with that mRNA sitting inside of it. And when it gets to one of your cells, the mRNA squirts in, which is basically how it works.

Jesse: [00:16:27] And so the computer analogy there would be, it's like there's some program in my DNA, memory in my DNA, and this mRNA is essentially activating the software. It's like a temporary software patch that's going to create-

Jason: [00:16:39] What I would say is the mRNA is the software your cell is currently executing. That's a good way to think about it. There's a lot of different options in your genome of what code you want to run and depending on what's going on with your cell at a given time, it turns on different parts of the DNA and converts them to RNA, and then it executes them. RNA is like the code you're actively executing. What Moderna does is they pop in and they say, "Here's some RNA, run it." And your cell dutifully runs it because that's what it does when it sees RNA. And so the idea behind Moderna is in this moment, you want to put in RNA for COVID, but tomorrow it could be RNA for cancer treatment, or heart disease, or whatever. Your cells can do pretty powerful stuff if you just gave them the right code, then you could deal with disease X, Y, or Z. That's theory of Moderna.

Jesse: [00:17:24] Is the COVID vaccine the first version of this with human beings and curing something or whatever the word you'd use is protecting against the virus?

Jason: [00:17:32] It is the first ever RNA vaccine.

Jesse: [00:17:36] This is the beginning of, you were just talking about cancer and all these other ailments, it's the first time this technology has ever been used really in human beings to solve a large spread disease effectively.

Jason: [00:17:46] Certainly for a vaccine, yeah. There's been trials. There's an area called gene therapy where you're basically trying to deliver code for the treatment of disease. There are a few diseases where there are drugs like that. This is by far the biggest rollout of an RNA, any kind of nucleic acid, DNA, or RNA drug in history, and the first ever vaccine. It is a huge turning point. From my standpoint, it's basically like being in 1978 with insulin, is what both Moderna and BioNTech, which is the other company, the Pfizer one, those RNA vaccines being as successful as they were with 95% efficacy and the whole thing. To me, that is Genentech and insulin all over again, but for a whole new category of drugs.

View Details

Listen to the Tim Ferriss Show: https://tim.blog/2021/06/14/peter-attia-transcript-2/

Transcript
I think that one thing that I absolutely learned through fasting is the enormous importance of strength training throughout a fast. You’re going to lose muscle mass when you fast, you have to accept that. So the question is how do you minimize that damage? How do you lose as little muscle mass as possible? And strength training daily during a fast has become an important part of that. But when you look at time-restricted feeding, or people call it intermittent fasting, although I don’t like that term very much. I think time-restricted makes more sense when you’re just talking about 16 or 18 hours. I’m really starting to see a lot of people who do that excessively and who aren’t necessarily training correctly. They lose weight, but they’re losing muscle more than they would want to see.

And we just had a patient who we did a DEXA scan on last week and it was probably the first one we’ve done in 18 months on him. And in that 18 month period, his body weight had not changed. Maybe he was a bit lighter, actually, he might’ve lost four pounds. But his body fat was so high I almost fell off my chair and he doesn’t look chubby, but it speaks how much muscle he’s lost. So his body fat went from about 18 percent to 30 percent.

Tim Ferriss: Yikes.

Peter Attia: It’s just a totally unacceptable amount of fat for someone his age. And his visceral fat went up, which I actually care more about than body fat. We can talk about that later, but his visceral fat also went up. So, this is a guy who has religiously been doing his time-restricted feeding every day, but he doesn’t really lift weights.

He walks and does some yoga and stuff like that, but he’s not doing strength training. So I think in a person like that, there’s a real downside to too much time-restricted feeding. And even for myself, in the last four or five months, I did a DEXA back in January and I hadn’t done one in years. And from January to the last period that I had done a DEXA, my body weight was almost identical. Maybe I was two pounds lighter this year versus the last time. But my body fat was up.

I think I went from 10 to 16 percent body fat. And again, you could say, “Well, 16 is not the end of the world,” but that was a significant loss of muscle and gain of fat. And I did wonder if that was just too much, because I always exercise in the morning, but then don’t eat. So to exercise, and especially when you’re strength training, to provide yourself with any amino acids every single day to undergo muscle protein synthesis, I think is a little bit risky. So I’ve been looking at other strategies around that. So for example, front-loading the meals.

Tim Ferriss: Quick question, and then we’ll come back to front-loading meals. During that period of time, were you doing, and I may be misremembering, one three-day fast a month or one week-long fast every quarter? What was the frequency of —

Peter Attia: All of the above. Yeah, I probably spent maybe two years doing seven days a quarter, maybe a year doing three days a month. But in between it’s also doing lots of time-restricted. And honestly, I think the daily time-restricted was a bit more the issue because I think the three-day fast a month with a lot of lifting, I didn’t sense I lost a lot of muscle during that period of time, but I think every day, exercising in the morning, not putting calories in until later in the day, it has to be taken in the context of an individual. So if you’re someone who’s 100 pounds overweight or you have diabetes, it’s a totally worthwhile trade-off to lose muscle mass because you’re losing more fat mass along the way. So you are going to technically get leaner with that approach, but when you take a relatively healthy and lean individual, one has to be a little bit careful and look for alternative ways to get the benefits of that fast.

Tim Ferriss: So you were saying something about front-loading meals.

Peter Attia: Yeah. So I just find nowadays, although probably not tonight.

Tim Ferriss: Almost certainly not tonight.

Peter Attia: I’m going to eat a little bit more early in the day and a little less late in the day. So —

Tim Ferriss: There may or may not be some mezcal involved.

Peter Attia: There will be.

Tim Ferriss: So we won’t take either of our Oura Ring data as the standard for this evening. I totally got caught up in my own fantasy narrative —

Peter Attia: Fantasies about mezcal?

Tim Ferriss: So front-loading meals, could you just walk back and explain —

Peter Attia: In an ideal world I think that the best way to do time-restricted eating would be to eat a big breakfast. So it would be to wake up, exercise, eat a huge breakfast. By huge I don’t mean gluttonous, but that’s your biggest meal of the day at say — I don’t know, let’s just put some numbers to it. You wake up at six, you work out from seven to 08:30, at nine o’clock you’re eating your largest meal. You eat another meal at one o’clock that is modest and you don’t eat again. That would be a great way to do 16 hours of not eating a day. That’s problematic for two reasons. The first is it’s socially problematic. It’s really easy to not have breakfast because very few people eat breakfast with other people, but dinner is our social meal. And for obvious reasons, it just poses a difficulty to be the guy who never eats dinner.

Tim Ferriss: Just as a side note, I’ve been at multiple dinners now, quite a few actually, where you’ve been fasting and we’ve all been sitting, drinking wine, and you just pass the cheesecake at the end and you take a big whiff and then continue moving it along. It’s entertaining, but it is pretty antisocial to be that guy.

Peter Attia: To be that guy drinking the soda water. And then the other thing is I think for many people it is hard to go to bed hungry and truthfully in a longer fast it gets easier because if you’re fasting for seven days, by the time you hit that fifth day, a lot of your hunger has dissipated, but 16 hours of not eating can generally pose some hunger and for some reason, I just think psychologically in the evening we’re a little less busy, so it’s even more noticeable. Whereas if you’re doing the traditional way that people think about not eating for 16 hours, it’s pretty easy to wrap yourself up and work in the morning, skip breakfast, and delay your lunch a little bit.

So I don’t know that I have a great answer for that other than I think people should be a little cautious and not just apply the same hammer to every nail and think about their own physiology a little bit and rely on these technologies like DEXA to make sure. Which again is so readily available, relatively inexpensive, and provides both good information about body composition and also this thing of visceral fat.

Tim Ferriss: We’ll come to the visceral fat in just a second. On the DEXA note, about — I don’t know, a year and a half or two years ago, I recall a conversation with a DEXA technician who said to me, “Over the last 12 months, I’ve seen many cases of people coming in who are newly avowed intermittent fasters who have had their body composition flip, basically.” Not necessarily flip, but they’ve had massive jumps in the percentage of body fat. And I put that on social as a note, not to say that all people who do time-restricted feeding experience this, and it was hilarious and also frustrating to see how many religious zealots there are around intermittent fasting who were just like, “Bite thy tongue.”

Peter Attia: Wait. But you said that according to this tech that they got better intermittent fasting or worse?

Tim Ferriss: No, they got worse.

Peter Attia: Oh, they got worse. So, it met with what I’m describing.

Tim Ferriss: It’s exactly compatible with what you’re saying, but there was a lot of resistance to the idea that would even be possible. Which I found really interesting, more social commentary than anything else.

Peter Attia: I think it just speaks to why I don’t like talking about nutrition very much because it does lend itself to politics, not literally, but it’s the politics/religion ethos, which is: whatever you’re eating is obviously the only thing. And I guess I just encourage people to be much more attuned to all of the tools. So caloric restriction, dietary restriction, time restriction, you’ve probably heard me go on and on about my framework, the three levers. Always pull one, sometimes pull two, occasionally pull three, never pull none. So time restriction, what we’re talking about, restricting when you eat, but otherwise not restricting how much or what. Dietary restriction is restricting some of the content in what you eat. So not eating carbs, not eating wheat, not eating meat.

Tim Ferriss: Not eating Doritos.

Peter Attia: Right. Not eating sugar. Those are all forms of dietary restriction. And then caloric restriction is restricting the amount. And so if you are never pulling one of those levers, which means you’re eating anything you want, any time, how much, whatever, that’s called the standard American diet.

Tim Ferriss: SAD.

Peter Attia: Yeah, the SAD. And we’ve been running a very good natural experiment on that for 50 years and the data are in. So it turns out that less than 20 percent of the population, probably less than 10 percent of the population, is genetically robust enough to tolerate the SAD. So, that’s a great piece of data. There are people out there who can eat KFC and Doritos and pizza any time they want and they’re generally okay to a first-order approximation. I would add that we don’t really know the answer to this question because we don’t have super granular data at the population level. But notwithstanding that, at least at the surface level, it appears that 10 percent of the population are largely immune to the SAD. But for the rest of the 90 percent of us schmucks, which I’m certainly in that camp, the SAD is lethal.

And so you’ve got to come up with a way to escape the gravitational pull of the SAD. And that’s why I think having these three levers at your disposal is the key. And yeah, I think that what happens is people get so into the camp of their lever, it’s all time restriction or it’s all dietary restriction, not too many people are in the all calorie restriction group. There’s a whole Calorie Restriction Society, and so there certainly are people that are in that camp, but it’s usually the first two camps that have the most zealots.

View Details

Watch his TED Talk: https://www.youtube.com/watch?v=5MuIMqhT8DM
Bill Gates on the book: https://www.gatesnotes.com/Books/Why-We-Sleep
Criticisms of the book: https://guzey.com/books/why-we-sleep/

  • Lack of Sleep ages you 10 years by testosterone
  • "Sleep Spindles" from Deep Sleep act like file transfer from short term memory to long term
  • Sleep gets worse as you age
  • Sleeping pills are blunt instruments - electrical stimulation helps better
  • Daylight savings time causes 20% increase/decrease in heart attacks as we jump forward/backward due to lost sleep
  • 70% loss in immunity with 4 hrs of sleep
  • Nighttime shift work is carcinogen
  • 711 genes distorted on 6 hrs of sleep
  • Tips for better sleep:
    • no alcohol/caffeine
    • avoid naps during the day
    • regularity - bed and wake at same time regularly
    • keep it cool: 18 deg celsius

View Details

Listen to UI Breakfast: https://uibreakfast.com/223-how-to-market-yourself-with-shawn-swyx-wang/

View Details

  • Blank Space: https://www.youtube.com/watch?v=p1Zt47V3pPw
  • Wildest Dreams: https://www.youtube.com/watch?v=OGDkg3QiJmk
  • Out of the Woods: https://www.youtube.com/watch?v=K-n9-FVTq6w

View Details

  • Code Story: https://codestory.co/podcast/bonus-guillermo-rauch-vercel-next-js/ (10mins in)
  • Podrocket: https://podrocket.logrocket.com/vercel (57mins in)

View Details

Listen to The Bikeshed (24mins in) https://www.bikeshed.fm/313

Transcript

So we had a bug that occurred in the application where something was supposed to have happened. And then there was an email that needed to go out to tell the user that this thing had happened. And the bug popped up within AppSignal and said something was nil that shouldn't have been nil.

Particularly, we're using a gem called Time For a Boolean, which is by Caleb Hearth. And he's a former thoughtboter and maintains this wonderful gem that instead of having a Boolean for like, is this thing approved, or is it paid? Or is it processed? You use a timestamp. And then this gem gives you nice Boolean-like methods on top of that timestamp. Because it turns out, very often just having the Boolean of like, this was paid, it turns out you really want to know when it was paid. That would be a really useful piece of information. And so, while you're still in Postgres land, it's nice to be able to reach for this and have the affordances of the Boolean-like interface but also have the timestamp where available.

So anyway, the email was trying to process but that timestamp...let's pretend that it was paid as the one that matters here so paid at was nil, which was very concerning. Because this was the email that's like, hey, that thing was processed. Or let's say it was processed, actually, because that's closer to what it was. Hey, this thing was processed, and here's an email notification to tell you that. But the process timestamp was nil. I was like, oh no. Oh no. And so when I saw this pop up, I was like, this is very bad. Everything is very bad. Oh goodness.

Turns out what had happened was...because I very quickly chased after this, looked in the background job queue, looked in Sidekiq's UI, and the job was gone. So it had been processed. I was like, wait a minute, how? How did this fix itself? Like, that's not the kind of bug that resolves itself, except, in this case, it was. This was an interaction that I'd run into many times before. Sidekiq was immediately processing the job. But the job was being enqueued from within the context of a database transaction. And the database transaction had not been committed yet. But Sidekiq was already off to the races trying to process.

So the record that was being worked on, the database record, had local changes within the context of that transaction, but that hadn't been committed. Sidekiq then reads that record from the database, but it's now out of sync because that tiny bit of Sidekiq is apparently very fast off to the races immediately. And so there's just this tiny little bit of time that can occur. And this is also a fun one where this isn't going to happen every time. It's only going to happen sometimes. Like, if the queue had a couple of other things in it, Sidekiq probably would have not gotten to this until the database transaction had fully closed.

So the failure mode here is super annoying. But the solution is pretty easy. You just have to make sure that you enqueue outside of the database transaction. But I'm going to be honest, that's difficult to always do right.

STEPH: That's a gnarly bug or something to investigate that I don't think I have run into before. Could you talk a little bit more about enqueueing the job outside the database transaction?

CHRIS: Sure. And I think I've talked about this on a previous episode a while back because I have run into this one a few times. But I think it is sufficiently rare; like, you need almost a perfect storm because the database transaction is going to close very quickly. Sidekiq needs to be all that much more speedy in picking up the job in order for this to happen.

But basically, the idea is within some processing logic that we have in our system; we find a record, we do some work. And then we need to update that record to assign this timestamp or whatever it is. And then we also want to inform the user, so we're going to enqueue a job to send the email notification. But for all of the database work, we are wrapping it in a transaction because we want it to either succeed or fail atomically. So there are three different records that we need to update. We want all of them to be updated or none of them to be updated. So, therefore, we wrap it in a transaction.

And the way we had written, this was to also enqueue the job from within the transaction. That wasn't something we were actively intentionally doing because those are different systems. It doesn't really mean anything. But we were still within the block of ApplicationRecord.transaction do. We're now inside of that block. We're doing all of the record updates. And then the last piece of work that we want to think about is enqueueing the job to send the email.

The problem is if we're still within that database transaction if it's yet to be committed, then when Sidekiq picks up that job to run it, it will see the prior state of the world. And it's only if the Sidekiq job waits a little bit that then the database transaction will have been committed. The record is now updated and available to be read by Sidekiq in the correct updated state.

And so there's this tiny little bit of inconsistency that can happen. It's basically because Sidekiq is going out to Redis, which is a distinct system. It doesn't have any knowledge of the database transaction at play. That's why I sometimes consider using a Postgres-backed background job system because then actually the job can be as part of the database transaction.

STEPH: Cool. That's helpful. That makes a lot of sense the way you explained the whole you're actually enqueueing the job from inside that transaction. I'm curious, that prompts another question. In the case where you mentioned you're using a transaction because you want to make sure that if something fails to update so, everything gets updated together, in the event that something does fail to update because you were previously enqueueing that job from the transaction, does that mean that the update could have failed but that email would still have gone out?

CHRIS: That does not. And the reason for that is because we're within dry-monad world. And so dry-monad will implicitly capture the ActiveRecord rollback, which I think is an exception that gets raised or somehow...But basically, if that database transaction fails for any reason and ends up getting rolled back, then dry-monads will not continue processing through the rest of the sequential operation. And so, therefore, even if we move the enqueuing of the email outside of the database transaction, the sequential nature of that processing and the dry-monad stuff that we have in play will handle that. And I think that would more generally be true because I think Rails raises an exception on rollback. Not certain there. But I know in our case, we're fine on that. And we have actually explicitly checked7 for that sort of thing.

STEPH: So I meant a slightly different question because that makes sense to me everything that you just said where if it's outside of the transaction, then that sequential order won't fire because of that ActiveRecord migration error. But when you have the enqueuing inside of the transaction because then that's going to be inside of the sequential order, maybe before the rollback error gets raised. Does that make sense?

CHRIS: Yes. I think what you're asking is basically like, do we make sure to not send the job if the rest of the stuff didn't succeed?

STEPH: I'm just wondering from a transaction perspective, actually. If you have a transaction wrapped block and then you have in there, like, update this record, send email, end block, let's say update...well, I guess it's going raise because you've got probably like an update bank. Okay, so then yeah, you won't get to the next line. Got it. Got it. Got it. I just had to walk myself through that because I forgot that you probably...I have to visualize [laughs] as to what that code probably looks like. All right, that answered my question.

CHRIS: Okay. So back up to the top level then, this is the problem that we have. And looking through the codebase, we actually have it in a bunch of different places. So the solution in any one of those cases is to just take the line of code where we're saying enqueue UserMailer.deliver_later take that line of code, move it outside of the database transaction, and make sure it only happens if the database transaction succeeds. That's very easy to do in one case.

But my concern was this is a very easy failure mode to end up in. And this is a very easy incorrect version of the code to write. As far as I can tell, we never want to write the code where this is happening inside of the transaction because it has this failure mode. But how do we enforce that? That was the thing that came to mind. So I immediately did a quick look of like, is there a RuboCop thing I can do here or something?

And I actually found something even more specific, which was so exciting to find. It's a gem called Isolator. And its job is to detect non-atomic interactions within database transactions. And so it's fantastic. I was like, wait, really? Is this going to do the thing? And so I just installed the gem, configured it where I wanted, and then ran the test suite. And it showed me every place throughout the app right now where we were doing this pattern of behavior like enqueueing work from within a database transaction, which was great.

STEPH: Ooh, that's really nifty. I kind of want to install that and just run it on my current client's codebase and see what I find.

CHRIS: This feels like something like strong migrations where it's like, yeah, this is great. I kind of want to have this as part of my core toolset now. This one feels even perhaps slightly more so because sometimes I look at strong migrations, and I'm like, no, no, no, strong migrations, I get why you would say that, but for reasons, this is actually fine. And they have configurations within it to say, like, no, this is okay. Isolator feels like it's always telling me something I want to know. So this, very quickly, I'm like, I think this might be part of my toolset moving forward on every single app forever.

View Details

Listen to the Lex Fridman podcast (1h 20mins in) https://www.youtube.com/watch?v=U5OD8MjYnOM

View Details

Listen to the Changelog: https://changelog.com/podcast/459 (15mins in)

Transcript

You said something interesting about the preciousness of our development environments… And I’m with you that we’ve commoditized the servers, but we definitely have not commoditized dev, because it’s so intricate, it’s so set up… Sometimes it’s like “There be dragons. Please don’t touch my laptop, because it works right now, but I’m not sure if it’s gonna work tomorrow.” I do hate that. I think it’s almost a different skillset, of maintaining that. There’s overlap between development and the maintenance of a development environment in terms of things that you need to learn… But it’s almost a different task altogether. So I don’t like that about it, but it’s still very true that our development environments are precious to us, and they’re tweaked, and configured, and customized, and all the things. So I’m sure there’s probably lots of resistance to this…

[00:11:59.29] We talk about our setup - we have probably tens of thousands of lines of code, and very few dependencies in our stack, but GitHub is 14 years old, and there’s a million plus commits, and I’m sure the dependency list is very long… What kind of effort was this? Tell us the story of bringing it along.

CORY WILKERSON

It is. These are all very, very true points. You know, the last thing I wanted to do was kind of be the vessel that went out to GitHub and said “I wanna change your development environment”, because these things are so precious. Like, I’m an engineer, too. I think my environment is very much precious. And here I was, kind of the face in GitHub of saying “Well, we think we have a better way. Come join us over here.”

And I started off on this journey as a skeptic. I think I shared some of this, too… I didn’t think this would be a fruitful journey necessarily. I was just gonna go do my level best as an employee, see if I could make it happen, build moment etc. and see if I could find something out there. Now, on the other side of this journey, I feel like I’m completely on the other end now, where I’m just like “This is the future. This is the way that we will absolutely build software…”

But going back to the core of the story, it was literally just me out there, calling on my friends to begin with, inside of GitHub. I’d been there for five years, and the first few years were just me tapping into relationships, saying “Hey, can you give this thing a shot? Can you try this out? I wanna get your feedback and feelings about where this is at.” And no one could yet use it on our core repository. We call it github/github - the organization is GitHub, the repository is GitHub. We didn’t have this thing standing up in a Codespace yet, but we had other repositories that were compatible with Codespaces.

So I’d go out and ask favors of friends, and just be like “Can you try this out and give me some feedback?” And generally, the feedback I would get back was – first it was resistance, like “Why would I do this? It’s productivity lost; tax on productivity. I don’t trust HTTP. There’s gonna be lag”, that kind of feedback. But then people would try it and they’d come back and be like “Huh. That was maybe better than I thought.”

At the same time, as I hacked in this space too, I was starting to get some of that “Well, there’s something here.” The big a-ha moment for me was connecting VS Code into my Codespace out in the cloud and still retaining that local development experience. So it felt to me like it was still very local. The magic is the synchronization that’s happening between the local environment and the cloud. It feels totally transparent.

But that aside, it started with just a very small number of users. So we would go back to leadership in GitHub and talk about progress we were making… And the early days, the story was “I have five people that have responded positively to Codespaces.” So not much of a story, but starting to kind of make a little bit of progress. And then maybe it was ten people.

Then, the next iteration on this was like “Well, let’s go find a team. Let’s get a full team on Codespaces. How can we get a single team - 6 to 8 people - committed to using Codespaces, and stick in this thing?” At this point we’d had this other effort running on the side to get github/github, the core github.com repository, compatible with Codespaces. And we’d gotten it to a point – we detail how we did this in the blog post - where performance was mostly acceptable. So now we could go shop this with a team that worked primarily on GitHub.com and see what their experience was. And we’re making progress there. So we’re ramping in – I think y’all have talked to Kyle Daigle in the past. Kyle was the leader of that effort that got this team spun up inside of Codespaces on GitHub core. And again, it was somewhat retentive. People were sticking, and going like “Wow, this is not what I thought. It’s better than maybe what I thought.”

[00:15:59.11] But I think the real breakthrough moment came when we stopped calling this dogfooding. You hear this term all the time, dogfood… I think it actually originated – I looked up on Wikipedia; I think the term originated inside of Microsoft a number of years ago.

ADAM STACOVIAK

Is that right?

CORY WILKERSON

But GitHubbers, my colleagues don’t respond well to that term. Dogfooding doesn’t inspire anyone to go do anything. Just like “Eat the dogfood? Who feels good about that?” And so what we did was we launched what we called the GitHub Computer Club, and I would love to dedicate a full episode on this. It’s a really interesting concept, and something I hope to bring out to the industry. But we asked people to join the GitHub Computer Club. And in doing so, they took this commitment or oath. I wrote up this script, “I do solemnly swear to never – no shadow compute, not desktop compute. I’ll join this thing and forever be member of the elite, exclusive GitHub Computer Club.”

ADAM STACOVIAK

I love that.

CORY WILKERSON

We made a bunch of noise about it… Yeah, people loved it.

ADAM STACOVIAK

That’s so cool.

CORY WILKERSON

People straight up were just like, “This is great. Let me in. I want a membership card.” And in doing so – we had to give them something in return. So they would join the computer club, but we offered to our “exclusive” members what we call the concierge team. And this team was built to kind of support their productivity and success inside of Codespaces.

So the second these people had friction - you know, one of the requirements of entering the computer club was that you had to kind of raise your hand. You couldn’t disappear and go back to local desktop. You had to virtually raise your hand and say “I’m about to opt out of this, because Codespaces can’t keep my business right now.” And the concierge team that we had built could swoop in, respond to “What’s going on here? Let’s dig into it. Why can’t we keep your business in Codespaces?”

We continued to play that model back and forth between Computer Club and concierge team, until we had built the product and built enough momentum inside of GitHub that one day we kind of looked around and we were like “Wow, we have hundreds of people developing GitHub.com and GitHub Codespaces.” And I think the real story there is just commitment to make it happen. We want it to be successful with this, and not just go talk about it in the market, but actually show that this is a better tool for us. The computer club is still going strong. People are demanding that I give them satin and denim jackets; I’ll get around to that at some point.

JEROD SANTO

Well, I hate to break it to you, Cory, but GCC is already taken as an acronym, so… You’ve got a namespace conflict on that one.

CORY WILKERSON

Yeah… Well, maybe the Codespaces Computer Club, so we can go with GCCC.

JEROD SANTO

There you go.

ADAM STACOVIAK

All the C’s. I like this aspect because you treat this like a customer scenario. You built a product, and you have to retain customers. And you’re actually exercising a great principle for anybody building a product, which is “Talk to your users.” And when they have trouble - swoop in, as you had said, understand those problems and be committed to fixing them. I think that’s a great way, a great story for how Codespaces became powerful inside of GitHub, because that’s exactly how you build a product. Not just “Let’s just try this thing and hopefully our internal team adopts it by force.”

As you had said, you wanted to go along with your employee card and be able to see if Codespaces could work, and out the other end you became a believer. But you’re not forcing GitHub engineers to use it, you’re asking them to try it. In this case, the Computer Club, with the oath… And then as you said, you look up and you see hundreds now.

CORY WILKERSON

I think that’s right. The position was – no Fiat. We didn’t wanna lead with “You have to do this.” That’s the absolute wrong way to get adoption in your product. We wanted to literally win the business of our colleagues. We wanted to build such a fantastic experience in Codespaces that people would choose it. And yeah, I think the Computer Club probably boosted adoption a little bit, do doubt about it… But what made that work –

ADAM STACOVIAK

You’ve gotta use some emotion in there. You’ve gotta put some emotion in there.

CORY WILKERSON

Yeah, exactly.

ADAM STACOVIAK

[00:19:59.04] You have to get them excited.

CORY WILKERSON

It had to have a soul. It needed some soul behind it, that was the idea. And the fact that we did respond to this – we actually did win business. When things didn’t go well and when people wanted to opt out, they could, and they would, for a week, or whatever… But the goal was “How do we get them back in here, kind of remove whatever that impediment is, and get them productive in Codespaces again?”

JEROD SANTO

So what happens if you take the oath and you go back? Do you chop off a finger, or what’s the penalty? [laughs]

CORY WILKERSON

Well, you know, we leave that intentionally vague, so people can assume the worst. No, I don’t know that we’ve had any real regression there just yet, which is good. Codespaces is super-retentive. I think we have people from time to time use local desktop. We have a colleague – this is actually in the blog post maybe… A colleague of mine reported the other day, she said “I was using local development. My environment broke, so I switched over to Codespaces.” And she was like “I actually shipped my task in my Codespaces before my local development environment rebuilt.” I think everyone was like “Wow, that is such a good story.” And it’s so true. It’s kind of the experience we’re all having right now with Codespaces.

We talked about it, again, in the blog post - you click a button and the environment is live. So for every new engineers that joins GitHub, I think they all are probably fairly spoiled at this point, because day one they click a button and they’re able to run that entire GitHub.com environment. It’s just been really incredible to watch.

ADAM STACOVIAK

So Cory, the way you’ve explained the flow of this GitHub Computer Club seems a little smooth. I’ve gotta imagine you hit some friction. Can you share some of the struggle that you hit? Some opposing forces in the process of rolling this out.

CORY WILKERSON

Yeah. Basically, it started with a bunch of “No” throughout GitHub. I think people had seen previous iterations of Codespaces… We announced it, I think, in May of 2020, at GitHub Satellite.

ADAM STACOVIAK

Yeah. The first tweet I saw about it was Kelsey Hightower’s, actually.

CORY WILKERSON

Okay, yeah.

ADAM STACOVIAK

So that’s May 2020.

CORY WILKERSON

It’s been out there for a while… And I think when people first try to use it inside of GitHub, there was a bit of friction. It didn’t work for them, and I think first impressions can sometimes be lasting impressions. So when I went out there, I’m just like “Use this thing. It’s great. It’s really evolved. We feel pretty proud of it”, and it was just a bunch of “No” left and right. So then it became “How are we gonna build this business?” And yes, the Computer Club was a big boost, and the concierge team certainly was a huge, probably the most high leverage practice we discovered along the way… But a lot of this was just like startup style practices. We’re building a business inside of GitHub, and I think that’s maybe a useful context for anyone that’s trying to build adoption of their own products in-house; you’ve gotta think of this sometimes as like “This is your own business. How are you gonna build it inside of GitHub, in what is a kind of very stubborn audience?” And I’m a developer, I can say that; we’re somewhat stubborn and we find the tools that work well for us, and if someone comes and says “I wanna change those”, your response is gonna be “Don’t.”

ADAM STACOVIAK

“Don’t touch my local dev environment, Cory.”

CORY WILKERSON

Yeah. And we’ll get to this in a second - one of the great parts about Codespaces is that we just commoditized the compute part of this. The environment is now running somewhere else. But dotfiles, VS Code setting sync, VS Code extensions - we bring those all to the environment. So you don’t lose your curated workbench. If you’ve got a dotfiles repo set up on GitHub right now, we bring that into the compute environment; we bring your environment and your personality, your expression of yourself captured in code into that environment. We bring your W out to your compute, which I think is a really nice touch. So you get the unburdened computer running in the cloud so you freed up your local machine, but you can still bring your preferences into that environment.

[00:23:54.17] I digress… Going back to building the business a little bit - it felt like startup tactics. So we had the concierge team, we had the Computer Club… We had effectively guerilla marketing. We were out on Slack every day, looking for opportunities to say “Have you tried Codespaces?” People were receiving M1 architecture Macs, and the github/github build just would not yet work. We had not put in the investment to make the github/github run on the M1 Mac, so we’d say “Hey, have you tried with Codespaces yet?” And people would be like “Well, I guess I’ll try. That feels like my only path right now.” And they’d click a button, they’d come back an hour later, or a day later, and just be like “What in the heck? This is incredible. How was this even possible?” And those people you just win for life. That’s their full mode of operating. So that was the guerilla marketing angle…

We did pairing sessions… So we were up in front of everyone all the time, saying “If you wanna get started, here we are. We’re gonna hold your hand through this and show you the ropes, show you how we’re doing.” Kind of social proof, I think, which is really valuable there. All hands – we’d get in front of the entire company and demo the thing, and be like “Look at this, it’s incredible” and just try to build hype.

We connected with the right people… I maybe loathe to call them influencers, but the people inside of GitHub that every engineer look up to. They look up to them and say like “This is the person that I aspire to be at some point.” We converted them. We want their business. They’re kind of like trendsetters and tastemakers internally. And then really it boiled down to ruthless prioritization. So we listened to our users, “What do you need?” and we demonstrated that we could follow through on those things. For some reasons, someone was trying to run some arcane karma test somewhere that wasn’t executing for them. It’s just like “Alright, great. Let’s figure out how to make sure that works in this environment.” That kind of thing. Even small tasks like that were important in building momentum.

And then I’ll say it again - one day we just looked up and we’d gone from a bunch of “No” to a bunch of super-fans inside of GitHub. We have cheerleaders. If you go out and look on Twitter right now, the day after we kind of announced Codespaces to the world, they were just like – GitHubbers were out there very enthusiastic about the thing, and it was a very genuine response. We didn’t ask anyone to go do that. People were just that enthused about what we built.

ADAM STACOVIAK

Yeah. I saw a tweet from Kelsey Hightower - again, I’ll mention Kelsey… I don’t know if this tweet was actually towards Codespaces or the announcement, but the timing - it was the same day, I believe, so I think it was a subtweet around it, but he said “Back in the day we wrote code on our own computers.” So I’d assume that he was reflecting on Codespaces and the announcement, but I wasn’t sure of that.

CORY WILKERSON

I saw that, too. I mean, you used to run your server in a grey tower, beige tower underneath your desk too, right? Those days are gone, it kind of feels like. This is this next wave - we’re now moving development environments out into the cloud. It just feels to me like two years from now we’re gonna see some incredible adoption in this space.

ADAM STACOVIAK

You mentioned a bunch of No’s in the adoption flow… At what point was Nat a believer in Codespaces?

CORY WILKERSON

You know, Nat holds a very high bar. I remember, as we were trying to get GitHub running inside of Codespaces, I’d go back to Nat and we’d show him “Hey, now instead of 45 minutes it’s 20 minutes. We’ve made these changes.” And he was like “That’s super-cool. Not good enough.” And we totally agreed, we’re like “Yup, it’s not good enough, but I just wanted to show you progress.” We’d get that feedback, and then we’d come back again and say “We’re down at ten minutes.” “That’s great. It’s not good enough”, and everyone’s like “Yeah, you’re right, it’s not good enough. It’s gotta be seconds for it to be the experience we want.” That was kind of the iterative experience.

I think Nat has been a believer in where this thing could go, from kind of the outset of the journey. It’s just been a bit of a slug as we worked from the very early days of like “Look, we have all this tech orchestrated that can produce this effect of a Codespace”, maybe the early prototype, down to now the ten second story inside of GitHub. That didn’t happen overnight.

[00:28:08.25] But the good news is most of that - almost all of that now - has made it into the product itself. So the changes that we’ve discovered along the way didn’t just benefit github/github and the GitHub.com repository, it benefitted the entire product. I think Nat’s a super-fan now. I’ve got some screenshots from Nat that I look at from time to time, that keep me pretty enthused about the progress we’ve made.

View Details

Watch on video: https://www.youtube.com/watch?v=mlsTlFW7BSo

The following is my conversation with Lee Robinson, Head of Developer Relations at Vercel which recently launched Next.js 12, the most popular framework in the most popular programming language in the world.

The conversation can be broken into two parts. The first covering the new features in Next.js, primarily Next.js Middleware and Edge Handlers with zero Cold Starts thanks to Cloudflare Workers, the Next.js Live realtime collaboration feature, and how they are rewriting everything in Rust. The last third covers our respective views on Developer Relations, both doing the job and hiring for it.

Along the way we touch on Cloudflare vs Vercel, Remix vs Next.js, Static export vs Dynamic rendering, Webpack vs SWC, OpenTelemetry and Observability, WASM and awesome people we know in the industry.

Timestamps:

[00:00:00] Cold Open

[00:01:39] Next.js 12

[00:03:52] Next.js Middleware

[00:06:08] Edge Functions

[00:07:23] React Server Components

[00:11:06] Netlify Edge Handlers

[00:12:48] Cloudflare & Vercel

[00:15:37] Self-hosting Next.js Middleware

[00:17:36] Static vs Dynamic Tradeoffs

[00:19:18] Remix vs Next.js

[00:22:32] next export

[00:25:13] Webpack 4 to 5

[00:26:06] Next.js Live

[00:30:50] Rust Rewrite

[00:34:36] OpenTelemetry and Observability

[00:37:14] Webpack vs swc and WASM

[00:40:41] Vercel Conference Strategy

[00:44:38] DevRel at Vercel

[00:52:50] Vercel and Svelte

[00:57:48] Dev Marketing and Content Mix

View Details

Watch: https://www.youtube.com/watch?v=ut1hZKeYkZU

View Details

Watch: https://www.youtube.com/watch?v=sqOgyNfHl1U

If— by RUDYARD KIPLING

If you can keep your head when all about you   
    Are losing theirs and blaming it on you,   
If you can trust yourself when all men doubt you,
    But make allowance for their doubting too;   
If you can wait and not be tired by waiting,
    Or being lied about, don’t deal in lies,
Or being hated, don’t give way to hating,
    And yet don’t look too good, nor talk too wise:

If you can dream—and not make dreams your master;   
    If you can think—and not make thoughts your aim;   
If you can meet with Triumph and Disaster
    And treat those two impostors just the same;   
If you can bear to hear the truth you’ve spoken
    Twisted by knaves to make a trap for fools,
Or watch the things you gave your life to, broken,
    And stoop and build ’em up with worn-out tools:

If you can make one heap of all your winnings
    And risk it on one turn of pitch-and-toss,
And lose, and start again at your beginnings
    And never breathe a word about your loss;
If you can force your heart and nerve and sinew
    To serve your turn long after they are gone,   
And so hold on when there is nothing in you
    Except the Will which says to them: ‘Hold on!’

If you can talk with crowds and keep your virtue,   
    Or walk with Kings—nor lose the common touch,
If neither foes nor loving friends can hurt you,
    If all men count with you, but none too much;
If you can fill the unforgiving minute
    With sixty seconds’ worth of distance run,   
Yours is the Earth and everything that’s in it,   
    And—which is more—you’ll be a Man, my son!

View Details

Full podcast: https://tim.blog/2015/12/14/derek-sivers-on-developing-confidence-finding-happiness-and-saying-no-to-millions/ (1h30min in)
Transcript: https://tim.blog/wp-content/uploads/2018/08/125-derek-sivers.pdf (page 34 on)

So, I’ve got to tell you, so we haven’t really talked about this yet,
but this is so up your alley, up your listeners’ alley, people who are
into books will appreciate this. So, a lot of my friends – actually, I
don’t think any of my friends are as into reading as I am. Okay, a
couple are, but most aren’t.
And so, whenever I tell them about some amazing book I’ve read,
the gist I get from my friends is, just tell me what to do.
Tim Ferriss: Give me the index card, yeah.
Derek Sivers: It’s like, yeah, like they don’t wanna read the book. So, my friend
Jeff, he’s a smart guy, he’s a lawyer, he’s smart. But, he just looks
at me with these tired eyes, and is just like, I’m not gonna read the
book, dude. You can stop pushing it on me, it’s never gonna
happen. He said, just tell me what to do, he said, I trust you. I like
you, you know me, so tell me what to do.
And, I realized that, if you trust the source, you don’t need the
arguments. That so much of a book is arguing its point, but often,
you don’t need the argument. If you trust the source, you can just
get the point. So, after reading, taking detailed notes on 220 books,
on my site, I realized that distilling wisdom into directives is so
valuable, but it’s so rarely done.
In fact, the only time I can think of that it was done was Michael
Pollan, with his three books in a row, about food, each one getting
shorter and shorter. I think the first one was, was it Omnivore’s
Dilemma?
Tim Ferriss: Omnivore’s Dilemma. Yeah.
Which was big, so I know you’re the kind of guy that would –
Tim Ferriss: It’s a great book, but also, I mean, there are, like 70 pages on corn
production in the US, and most people just drop out. Even I was
like, God, my eyes are glazing over here. But, I know there’s some
great stuff coming, so I’ll just slog through it. But yes, a very great
book, but a very big book.
Derek Sivers: And then, he did another one a year later, that basically took the
best stuff from Omnivore’s Dilemma, and made it into a shorter,
kinda more pop market kinda 2 to 300-page book. I forget the
name of that one. And –
Tim Ferriss: Could it have been In Defense of Food, maybe?
Derek Sivers: Yes, that sounds right, thank you.
So, even that one, I remember someone telling me I should read it,
and I remember looking at it and going, I don’t know if I wanna
read 300 pages about food. But then, about a year later, he put out
a teeny, tiny, little book called Food Rules. I think that’s what it’s
called. And, it’s like, you basically can read the whole thing while
just standing in the bookstore. It’s, he took the energy and the
effort to compress everything he’s learned into very succinct
directives. And, that’s what it is. Sentences that tell you what to do.
Do this, do that.
Or, don’t do that. If your grandmother wouldn’t recognize it as
food, don’t eat it. And, his tagline for that book, the popular phrase
was, “Eat food, mostly plants, not too much.”
Tim Ferriss: Right.
Derek Sivers: And, I so admired that. I got inspired by the effort it takes to distill
the blah, blah, blah, blah blah, down into the specific sentences for
the people that just aren’t going to read that 900-page book, right?
Probably all of that same information is in the 900-page book, but
we have to be honest for a minute and admit that not everyone is
going to read the 900-page book. So, as I’m reading these 300-
page books, 220 of them, very often there’ll be this, like, brilliant,
amazing, important point on, like, page 290, and I feel almost a
little sad that almost nobody’s gonna read that. I wish that these
little, tiny points were extracted, without all the surrounding
argument.
So, especially – okay, I’ll admit, this was also sparked by the idea
of when I had a kid, and I thought, I might not be alive when he’s
my age, or even when he’s 19, I might die before he gets older.
How can I compress everything that I’ve learned, that I think he
should know, into a real, succinct format, that he will definitely
read? And, of course, then I thought, other people will read, too.
So, I got onto this idea, of the Do This Project.
Which is, instead of talking around a subject, just giving directives,
saying, do this, do that, don’t do this, don’t do that. Which is kinda
funny, because it feels very presumptuous, right? Like, who am I
to tell others what to do? But then, I think, well, who am I not to?
Right, it’s useful, so get over myself. Kinda like you asked about
me onstage when I was 18, what was the biggest lesson learned?
Like, this isn’t about me, people aren’t here about me, they’re here
for their own gain.
Oh, you asked about my advice to TED speakers. That’s my main
advice to TED speakers. It’s like, people aren’t here to see you, or
your life story. People come to TED, or watch TED videos, to
learn something. So, just speak only about what is surprising, and
skip everything else.

where can people find the directives?
Derek Sivers: Only in this podcast. No, it’s true. I haven’t done anything with it
publicly. At first, I thought I was gonna make this into a big,
keynote speech I was doing at a conference. The World
Domination Summit Conference, in Portland.
I spent four months of fulltime work, from 7:00AM to midnight,
for four – seven days a week, for four months in a row, just
rereading all 220 book notes, extracting, or trying to turn all of this
advice or this knowledge, this wisdom, trying to turn it into
directives. Because a lot of it, almost never is in the directive
format already. People talk around a subject, they talk about
findings and research. But, it takes some real effort, kind of like
the old philosophers, the – you’ve read the stoicism book? The
Guide to The Good Life?
Tim Ferriss: Yes, I have. I have that up on my living room wall, as well.
Derek Sivers: And, in that book, right in the intro, he says, if you were to ask any
kind of modern person who calls themselves a philosopher, what
should I do with my life?
He said, sit down and get comfortable, because they will tell you,
well, it depends on what you mean by what, and it depends what
you mean by do, and really, it depends what you mean by life. Or, 

really, maybe it depends on what you mean by my life. So, people
talk around the point a lot, but back in 600 BC, if you would’ve
asked one of these philosophers, what should I do with my life,
they would sit down and tell you exactly what to do with your life.
Do this, don’t do that, pursue this, don’t pursue that.
So, I was really inspired by that intro too. So, the idea was, now,
how can I go back, through all of these amazing books I’ve read,
and compress them into specific directives? So, it took me four
months of work to come up with the following like, 18 sentences.
Do you wanna hear them?
Tim Ferriss: I do wanna hear them. I’m super-excited about this.
Derek Sivers: So, this was going to be a 35-minute long keynote speech, and it
turned out to be a horrible, 35-minute long talk. But, it’s
entertaining for about three minutes. So, here’s the three-minute
version. Okay, first, I had fun categorizing them. So, this is the
category called “How to Be Useful to Others.” Ready?
Tim Ferriss: I’m ready.
Derek Sivers: No. one, get famous. Do everything in public, and for the public.
The more people you reach, the more useful you are. The opposite
is hiding, which is of no use to anyone. How to be useful to others,
No. two, get rich. Money is neutral proof that you’re adding value
to people’s lives, so by getting rich, you’re being useful as a side
effect. Once rich, spend the money in ways that are even more
useful to others. Then, getting rich is double useful. How to be
useful to others. Share strong opinions. Strong opinions are very
useful to others. Those who are undecided or ambivalent can just
adopt your stance.
But, those who disagree can solidify their stance by arguing
against yours. So, even if you invent an opinion for the sole sake of
argument, boldly sharing an opinion is very useful to others. How
to be useful to others: be expensive. People given a placebo pill
were twice as likely to have their pain disappear when told that that
pill was expensive. People who paid more for tickets were more
likely to attend the performance. So, people who spend more for a
product or service value it more, and get more use out of it, so be
expensive. That’s it.
Tim Ferriss: This is good stuff.

View Details

Watch Naval on the JRE: https://www.youtube.com/watch?v=3qHkcs3kG44
Tiago's quote: https://twitter.com/swyx/status/1410739112261214209

View Details

  • Read: https://blog.coinbase.com/announcing-coinbase-fact-check-decentralizing-truth-in-the-age-of-misinformation-757d2392d61a
  • Watch: https://www.youtube.com/watch?v=eoZG89pDzzY (33mins in)

Coinbase Fact check: https://blog.coinbase.com/factcheck/home

Announcing Coinbase Fact Check: Decentralizing truth in the age of misinformation

Every tech company should go direct to their audience, and become a media company.

Whether traditional, social, or corporate media, we’re all just typing words on the internet.

As Coinbase and the cryptoeconomy grow, we’ve seen more interest from the media, government, and the general public in our business and in crypto overall. This increased awareness has been great. Unfortunately, we also see misinformation published frequently as well, whether in traditional media, social media, or by public figures.

This doesn’t always come from negative intentions. Our business, and crypto, can be difficult to understand, and often people are rushed to post first impressions online, making mistakes in the process. At other times, misinformation comes from people pushing their own agenda, or from those who have a conflict of interest.

This is not unique to our business or industry of course. Every company experiences this to some degree, and it can be incredibly frustrating.

So how should companies respond to misinformation?

The choices

Option 1: turn the other cheek

The most common advice you’ll hear from PR firms and boards is to work behind the scenes to correct misinformation, but never engage in public fights. This might mean working with journalists to fact check a story, or to send internal emails to employees when misinformation is spreading on social media.

Pejoratively, one could call this the pacifist’s approach. Yes, you’re taking regular beatings from a bully, but don’t fight back. Just focus on building a great product and helping the industry grow, and everything will work out in the long run.

On the surface, this approach makes a lot of sense. Why pick a fight with someone who buys ink by the barrel, or with internet trolls who have too much time on their hands. After all, most of your customers probably never see the misinformation, and it can just draw more attention to respond publicly. Companies should never lose focus on the primary objective: building great products.

On the other hand, it can be very damaging to a company’s brand to let misinformation spread unchecked, and working through third parties to share your side of the story rarely is effective. You might, at best, get a short quote in a narrative that someone else controls.

If you look at companies like Facebook, they suffered enormous brand damage when traditional media coverage of them went south (although their business metrics seem to be unaffected). Accurate or not, traditional media has a conflict of interest when covering this topic, as they are in the process of being disrupted by tech. Yet to a large degree, Facebook turned the other cheek and didn’t respond or point out this conflict.

Option 2: fight

The opposite end of the spectrum is to actively fight back. Any time someone posts false information about your company, it’s war. Come out swinging and never back down.

This is a legitimate strategy that some companies have engaged in. Amazon’s recent responses to Andrew Yang or Elizabeth Warren are in this direction, along with FedEx’s CEO aggressively pushing back on a story they found inaccurate. And Peter Thiel’s takedown of Gawker may be the canonical example.

The advantage of this approach is that you are standing up for yourself. The downside is that warfare can be time-consuming, taking your energy away from building. You need to be prepared to go all the way, and it needs to be in line with your brand. There is an old quote which says “never wrestle with a pig, you both get dirty and the pig likes it”.

Option 3: publish the truth

I believe there is a reasonable middle ground between these first two options, which is to simply publish the truth, in a thoughtful and respectful way, and build a direct relationship with your audience. Companies no longer need to go through biased intermediaries to communicate with their customers and stakeholders. They often have equal or greater reach via their blog, podcast, YouTube channel, or through their own product. In many cases, the only organization that knows what really happened is the company itself.

Tesla is a great example of this middle ground approach, in their Most Peculiar Test Drive blog post. Other examples include Apple debunking the claims of a cover piece or our own post correcting facts in the New York Times. These examples take a reasonable middle ground of trying to just share the facts.

This “fact check” approach is not about antagonizing or embarrassing others, but simply sharing what happened through your own channels. It also means sharing the good along with the bad, with radical transparency. Companies are often reticent to share negative facts, in their inherent desire to look good, and therefore also have a conflict. To become a source of truth, companies will increasingly need to be comfortable sharing facts which paint them in a negative light as well. There is nothing like sharing mistakes, to build trust.

Every company is becoming a media company

Traditional media has been a powerful source of accountability for centuries. In more recent years, social media has as well, as any individual can share what is actually happening. The power of both these institutions is staggering, and they serve an important function. But traditional media and social media each come with a healthy dose of misinformation, and I believe people’s trust in these institutions has been in decline in recent years.

Companies are now emerging as a third source of truth, and can create accountability when misinformation is spread via other channels.

Amazon and Netflix built their own studios, Hubspot acquired the Hustle, a16z is going direct, Stripe has Stripe Press, and many more tech companies are quickly ascending the stack from mere “content marketing” to full-on media arms, complete with editors-in-chief and original content. As Balaji Srinivasan points out, this is the mirror image of legacy media corporations hiring engineers and declaring their aspiration to become world-class tech companies. There is no distinction anymore between app, distribution, and content — everyone is going full stack.

What we’re launching

Today we’re announcing a section of our blog called “Fact Check”. We will use this section of the blog to combat misinformation and mischaracterizations about Coinbase or crypto being shared in the world.

We’re seeding the Fact Check section of our blog with these articles:

  • A response to misinformation about the effect bitcoin mining has on the environment
  • Some social media misinformation that spread on our executive share sales
  • An old post we did rebutting misinformation in traditional media on an employee matter
  • A more recent post we did correcting false statements by folks in government and industry about illicit activity in crypto

Currently, these fact checks have been more reactive, responding to misinformation in the news as it happens. However as we build this out, we will get more proactive in helping dispel myths in the crypto space in order to be a powerful source for people just coming in and learning about the cryptoeconomy.

We will continue to update this section of our site over time and when new misinformation appears that is materially incorrect and being distributed broadly.

Here are a few guidelines we’ve created for ourselves in publishing Fact Check articles:

  1. Be respectful, don’t antagonize.
  2. Assume ignorance over malice, unless proven otherwise.
  3. Share our mistakes just as candidly as our successes.
  4. Don’t respond to everything.
  5. Don’t get distracted from the main goal: building great products.

There is too much misinformation in the world for us to respond to everything. A lack of us posting should not be considered an indication that an external statement is true. We will only tackle misinformation that reaches some materiality threshold.

The future

In the future, we will need to move beyond fact checking, and start creating more of our own original content to communicate with our audience, and tell the stories of crypto that are happening all over the world. Many of these stories are not being told by traditional or citizen journalists. Fact checking is still largely reactive, but we need to move to a more proactive stance on content creation to have a true media arm.

Distribution of our content will happen through podcasts, YouTube, our blog, Twitter, and every other channel we own. But in the future, it will also likely move to more crypto native platforms, like Bitclout, or crypto oracles. Long term, the real source of truth will be what can be found on-chain, with a cryptographic signature attached.

Conclusion

Many readers have probably experienced the Gell-Mann amnesia effect: you read an article about something where you have first-hand knowledge, find it to be half true at best, and then turn the page to the next post/article and resume assuming it must be true. It takes this happening a number of times to change one’s estimates of what they are reading on every topic.

Crypto is a rapidly emerging space with growing attention and focus on it right now. Unfortunately, with this attention comes a lot of misinformation that is damaging, not only for companies like Coinbase, but for the space broadly. We want to do our best to ensure that when a customer, a regulator, or another important stakeholder is doing their research on crypto that they’re seeing information that is accurate and objective.

Over time, my prediction is that more and more companies will go direct, building their own media arm, while remaining focused on their primary goal of building great products. The tools for distribution have become democratized, and every company can become a source of truth.

View Details

Video link: https://www.youtube.com/watch?v=ddKDPikKbNk

Timestamps
00:00:00 Intro
[00:00:11] Four Components of Developer Experience
[00:02:08] API Design
[00:03:27] Documentation
[00:06:52] Learning Journey
[00:07:59] Feature Mapping Presentation
[00:11:10] Companies With Great DX
[00:12:58] Most Misunderstood thing about Developer Experience [00:15:46] Docs as Service Team not Endpoint
[00:19:33] How to Focus

View Details

Listen to The Changelog: https://changelog.com/podcast/466

Stdout's YouTube: https://www.youtube.com/c/stdout/videos?view=0&sort=p&flow=grid

View Details

watch Steve Yegge's podcast https://www.youtube.com/watch?v=7GurMGEDHUY

Transcript
[00:00:00] So this week we've been going through Steve yogis podcasts and his greatest hits his updated perspectives on the big clouds and what they're doing right. And what they're doing wrong. But the other thing that Steve is really well known for is his views on tech interviewing. And he's done in big tech interviews and quite a lot of them.

And we all know they're broken in some way, but it's often in very stark reminder of how broken it is. I think there are two anecdotes here. I want you to look out for, which is the first, the one on Jeff Dean. Just look out for that name. And second, the one on them reviewing their own packets and applying too high of a bar saying too many nos. There's a lot of false negatives in the industry.

Both false negatives and false positives. R a problem. Of course. And he's just some ways to handle them. But overall, I just think we, we deserve some reminder of how flawed it is when we do our own interviewing. I thought I had a bad run of it doing two interviews a week. And he did multiple a day, sometimes three at once. And i just think this is a fantastic story to go over

So the thing about interviewing is it's a terrible signal. It's, it's better than a phone screen. And a phone screen is better than a resume screen. If you just look at someone's resume, how sure are you that they're good. I mean, in any, in any discipline, right? You know, you wanna, you wanna, you want an airplane, airline, pilot, you look at the resume.

Will you just hire them based on the risk? Not usually. So the resume is, is your first filter. It's the first thing where you basically take a stack of resumes and there's an art to reviewing resumes and looking for people that are kind of trying to cover up, uh, things that, that, that, uh, they may not know.

And they don't want you to know that they don't know. So they try to cover it up in their resume. So you can look for. Weasel words, and it's all kinds of things you need, but basically you're taking the resumes and you're, you're sorting them into two piles, right. That the keeps in the don't keeps and there's of course, the old running joke in the industry about how you want to take some resumes and just throw them in the trash can because you don't want to hire unlucky people.

And so if you throw in the trashcan, that person was unlucky, but they do sort of the resumes into the I'm gonna follow up. And the ones that you just say pass. So writing a resume is really important. And part of, um, a book. Passing technical interviews would be on how to write a great resume. And this comes up again when you're writing your resume, so-called resume for what you've accomplished your company.

When at time it's time to get promoted. So the art of resume writing never, never gets old. It never leaves you and is always an important part of your career. Being able to represent yourself. But that's a, that's just step one and it's a bad filter. You don't want to just base your decision on a resume.

Would you marry somebody based on their race? Maybe, but probably you'd want to meet them first. Right? So the next step is a phone screen and everybody hates doing phone screens. I actually love doing phone screens. I, for some reason have, um, never really had an issue with them unless there's a bad connection or something, but a lot of people just hate talking on the phone and they even more hate having to ask people technical questions on the phone.

So I often got stuck with phone screen duty at every company that I ever worked. Because you can actually do a pretty good job, not a great job, but a pretty good job of predicting whether they're going to pass their interviews based on my phone screen. Cause my phone screens would go for two hours if necessary to sort of, you know, get a comprehensive look at what this PR this candidate is good at because the general rule is like the longer you spend evaluating somebody than the better.

Idea. You're going to have of whether they're going to work out. Long-term just like the longer you have a relationship with somebody before you decide whether to marry them or not the better you're going to know how that marriage is going to go. Most likely there is a point of diminishing returns and we'll talk about that.

But by and large, The amount of vetting that we do in the industry today is nowhere near enough. And I'm going to, I'm going to talk about the consequences of that and how we, how we arrived at that conclusion. And so on in this, in this talk, but at a high level, I don't believe in interviewing anymore. I, I ha I'm a strong skeptic.

I think that interviewing is so flawed. It's it re any company that really wants to get ahead of their competitors and succeed needs to spend some time re-inventing their interview process. And probably having people spend more time with candidates than they're spending today. It's, it's just not a very good signal.

And I said that at Google once, uh, Google, I said it in, in an email, uh, replied on some public thread somewhere, um, in the early days, maybe 2008. And. Some director got mad at me and said, oh, we didn't like that. We didn't the [00:05:00] records in life that you said that you had, that you're a skeptic of the interview process.

We were talking about a company that hires scientists. We're talking about a company that, you know, one of their models is speak truth to authority, and this director was an ass and, uh, he got what was coming to him eventually. At the time, you know, he was just like, well, everybody's upset because you're, you're, you know, you're questioning the sacred interview process.

You farted in church is what he told me. And so, uh, and so I haven't really been able to tell people this for my entire career because they feel that it's undermining their, um, ability to attract the best. I guess, but the reality is if you marry somebody after dating him for four hours, you're probably going to get a surprise.

Maybe it's a good surprise. Uh, but most surprises are not so good in that department. And interviewing is the same way. So if you're going to keep your interview. Uh, panels the exact same way that they've been doing it since Silicon valley was invented by the arse hole shot shot key. Uh, then, um, then you're going to need a better process for getting rid of people who are no good.

You're you're going to need a, you're going to need to double down on your process for managing people out. That's actually how Amazon gets by and gets such great. They aggressively manage out under performance because they know that underperformers are gonna sneak in. And, uh, it's because the interview process is fluid.

So it's just a best effort. The problem with the interview process is that it takes a lot of time. It's really miserable for engineers to do more than two or three interviews per week. And most companies try to cap it so that you're not talking to more than maybe two people per week. Okay. Or three, if they're really busy, uh, because it takes you.

Uh, an hour out of your day to, to interview the person. And you may have a interview pre briefs where everybody gets together and maybe divides up what people are going to talk about. It's not recommended at some companies, but some companies do it anyway. And then you may have a post brief where everyone gets together and discusses a candidate afterwards.

Also not recommend recommended. I could do a whole segment on Google's interview process and how it gets away from a lot of biases and little kids, soccer team situations where one person says, well, I didn't like him. And everyone was like, well, I didn't either because they don't want to rock the boat and all kinds of bad things can happen.

Uh, so we can talk about that, but that's not what today is about today. It's just about just interviewing in general because what they found, this is a bit surprising, uh, is that, you know, cause Google hires a lot of statisticians. We're talking about people who are. World-class experts in their field. And since Google has this, you know, surfeit of, of statisticians, they can apply statistical methods to a variety of problem spaces.

Google gets like a million plus resumes per year. And somebody has to go through all those resumes. It took me five applications to Google before they finally noticed my daughter's resume over a course of a year. I sent in one resume and then a couple months later I sent in another resume and a component's me and this went on until my fifth resume came in to Google and somebody looked at it and said, oh, we gotta get you in here for an interview.

And I was like, great. You know, he could have done that like a year ago before the IEP. But whatever. So, uh, so they get a million resumes a year. That's a lot of data. That's a lot of statistical data. They do a lot of interviews. They do a lot of fun screens and they, and they add a lot of followup data, like performance data on everybody who got accepted.

And so they can basically run a bunch of statistics and maybe even do experiments. They can set up special interview loops, where they set up conditions and control control groups and kind of try and see what happens when they try this or that to influence the interview process. Okay. Sounds pretty interesting.

Right. And you probably think that they came up with a really, uh, really useful insights on how to conduct better interviews and the number one insight that they came up with and they shared this broadly with everybody and the, and they were just like, we're sharing this with you. We don't know what to do about it either.

Was the, the result was they found out that there was zero correlation between your interview performance and your actual perform. Your, your interviews did not predict your performance. You could get a 4 0 4 us from every interviewer, the highest score, uh, at Google and wind up being a very mediocre performer or even a bad performer.

And you could barely scrape by you by the skinnier teeth on your fifth application. Uh, and because I applied 55 times, but some people interviewed five times. I know one guy who actually got into Google. Fifth interview. He failed the first four and they make you wait six months. They're like, well, six months is long enough for you to go learn some stuff.

So come back in six months, six more months. And he did that four times on the fifth time. K after, you know, two and a [00:10:00] half years have gone by, he finally got accepted to Google and he was a superstar. So you look at that and you say, well, okay, I've got some good anecdotes, but the statistics actually supported that.

Basically your interview is now you're, you're either in or you're you're either in or out. And after that, your performance is, is it's not predictable from the interview. Another thing that they found, which was equally damning, I think no individual interviewer is better than any other interviewers when it comes to predicting whether the person will get hired or.

And they specifically called out Jeff Dean. Uh, who's the number one engineer, not only at Google, but probably arguably in the whole world. And they said even Jeff Dean's interview scores were no better predictor than, than random of whether the person was going to get an offer. Which was kind of weird because everybody thinks they're really good at interviewing and it turns out no nobody's especially good at interviewing the best predictor was if around four people.

All decided that they want to hire this person. And that's, that's, that's that's that's when you get the best signal. And once you start piling more than four on they, they, they found that the curve tapered off and immediately you hit diminishing returns. So, uh, starting at five interviewers, you're not getting any better information.

And there are companies that I've been at where that have put people through, you know, 8, 9, 10, 11 interviews, 12 interviews. Trying to figure out is this person good or not? And they're just not getting any better information after the first four. That's the stark reality. And all these statistics basically backed up something that I had been fretting over and worrying about ever since I joined Google.

Cause when I joined Google, of course, a bunch of people wanted to follow me there because, uh, I had a reputation. I was the Canary. When, when I left people, people were like, well, Either either the ship is seeking and we need to get off the ship or Steve's found something that's so much better that even though our current ship is good, this new one is something we've got to get into.

And I had a reputation for that amongst my circle of friends of, you know, a hundred, a hundred plus people. And so a bunch of them tried to get in and they were good. Some of them were better than I was. And some of them were very clearly better versed in computer science than I was. They had contributed more.

They were just better than me and they didn't get into Google and. And I knew right then that there was something seriously, seriously wrong with the process. Now, of course, we run into situations where, you know, I've said it before, why CEOs fail, they failed because they put their faith in the wrong people.

And I've certainly done that myself in my career in recent times. I mean, it's very easy to do. Sometimes you're putting your faith in a person who might have all the qualifications on paper, but people just don't like. And there's nothing you can do about it, because if everybody hates you at your work, you're not going to be able to get stuff done no matter how good you are.

So, you know, it's a problem because I I'm biased. And when I say the people who got turned away, uh, and I say they should have gotten jobs at Google and they got turned down by the interview process. You know, I am biased, you know, they're my friends. And in some cases, maybe I was wrong about them, but the ones that I'm thinking of, one on to, in their careers to become senior principal engineers at Amazon of which there are probably only 20 in existence, you know, or 25.

And, and so these people are not slouches and they, they basically, you know, helped build the Amazon that you use today and they didn't get jobs. So, I guess one takeaway is if you interview at Google and you interview three or four times at Google and you don't get the job that doesn't actually mean that you weren't qualified to work at Google, it means you were what's called potentially.

It potentially means you were a false negative, a false negative is where you, you do a test and the results of the test is no. And it should have been yet. So, for example, a false negative for, uh, an illness. If you take a test for COVID and they said, no, you don't have it, but you actually do have it. And the test dismissed it.

That's a false negative, false negatives are, uh, you know, a huge, huge problem in the industry and their. Especially bad problem at Google. Google has probably a higher, false negative rate than maybe anybody else in the industry. Maybe Facebook, uh, since they got a lot of ex Googlers and they, they brought in a lot of people and they kind of copied a lot of Google's interview process.

And so I'm sure Facebook has false negatives too. Uh, but those two are going to be the top. And false negatives really hurt. They really hurt the company. Like more than companies are willing to acknowledge they hurt because first of all, they've lost out on a great. And they just, the candidate showed up wanting to come and help the company and the candidate was great.

Uh, but their interview process said, no, not great. So we're not going to hire them.

So that's that's problem. Number one is you is opportunity cost, but problem, number two is now that person is bitter and resentful because they know they're good enough to work at Google and they got turned down. And so now they start to hate Google and they start to bad mouth Google or Microsoft or whoever.

[00:15:00] Did this, every company has false negatives and every company goes through this problem where they, they create enemies, Microsoft actually in the nineties. And I interviewed there once for an internship back when I was very early in college, so I didn't get the internship. And, uh, but they were, they were real jerks during the interview.

At least Google was kind of nice, um, stressful, but nice in Microsoft, they were very arrogant and they would just sit there and make you struggle for 40 minutes without giving you any, any hints or indicators or anything. And it was just the way they ran things. And at Microsoft, they, they basically realized after 10 years of.

They did some studies and they did some interviews with people out in the industry and they realized they were creating an army I'm fast army of people who hated Microsoft because of their terrible interview process, their experience that they had because people would, would be jerked around at the Microsoft interview and they would leave and they go, well, screw that company.

And, uh, and, and screw the horse they wrote in on, and they go tell all their friends about it. And now everybody in the industry is like, well, Microsoft, a bunch of jerks, and this is such a big problem that it, it, it escalated all the way up to. You know, the senior executive levels and it was part of their corporate consciousness, you know, where they were like, oh no, we have an existential problem, which is we, we, we we've been screwing people over for a decade and now they're poisoned against us.

And so they turned it around. They made a huge effort, a huge initiative to be nice to candidates during their interview so that even if they don't get the job, they still feel like they got a fair shot. And that in turn started, started to fix the problem of, of poisoning the well of candidates. So, you know, all, all very interesting.

Right? What have we learned so far in my, uh, you know, 20 minutes of talking so far for this goes by fast, we've learned that interviewing is not a very good signal. There's a lot of false negatives. There are, um, a lot of interviewers out there who think they're really good at it, but statistics show that they're actually not.

We've learned that if you do more than four interviews on a candidate, that you're wasting your time, because four is enough to tell you the right, the right answer. Uh, and of course the right answer is if you're not sure than, than Beaumont. Right, right. That's what everyone says. Is it though? I don't know.

I don't know. Right. Maybe, maybe if in doubt you do hire them and then you fire them three months later, if they're just really, really, uh, out of their league, if they're, if they're underperforming, because the really the way it should work is is if they're close, because interviewing is just so flawed and cause false negatives are such a huge problem.

Because it's opportunity costs plus it's poisoning the well, you know, not to mention the third problem with false negatives, in addition to in bettering everybody and losing you a great candidate, they go to one of your competitors. So no triple, triple whammy right there, uh, losing, turning away somebody who's really going to be actually do a good job at your company is really, really bad for your company.

But companies are really scared of false positives. They're really scared that they're going to hire somebody who wasn't qualified. They're terrified of it. They would much rather have false negatives than false positives. And. Most of them can get away with it. Um, because well, they could up until recently because there were plenty of engineers out there and they could just keep, keep sifting through the pile until they get one that's just unambiguously a great candidate.

And then they, then they're mediocre performers. Right. Because the whole, the whole thing is just, it's a mess. I don't know. I folks, I don't know what to tell you other than you need to do more than just interviews with somebody to really understand what their contribution is at the very least somebody should be tasked with finding a dossier on the person.

Let me tell you a little bit about one thing that Google does. That's kind of cool that most other companies don't do it. It's called hiring committee and I was on a hiring committee for a long time. Hiring committee is this group of people that reviews the feedback from interviewers. So at Amazon and most other companies, the interviewers, the people who actually interviewed the candidate, they get together afterwards.

Maybe it's immediately afterwards. Maybe it's later that day. Maybe it's the next day after it started to fade, it can kind of get kind of bad when a week goes by and you're like, oh, what did they do again? So at least take good notes after you interview someone. So they get together and they decide together as a group based on their experience with a candidate, should they hire them or not?

That's how most companies work and it's actually terribly biased because, uh, these people biases. Like I mentioned a little kid's soccer team earlier, right. Where the ball shoots out and then the whole team runs after the ball. Somebody will say one thing and then everybody will just be like, oh yeah, this candidate sucks.

Forget it. Forget everything. I, you know, yeah. They'll, they'll say, oh, I had a really good interview of the person, but don't pay too much. Don't read too much into it because of what Joe said. And so they wind up exacerbating the false negative. And in some cases, you know, they can sneak false positives through that way too, if you really [00:20:00] liked the candidate, but usually it's easier to say no.

And so you get this false negative problem, a Google, what they do is everybody writes up their notes. You write up very detailed notes of what you asked the candidate and what their answers were. And you include if possible, any source code that they wrote as part of their. Or any drawings, they did everything.

And you present that you, you, you put it into a system. And then later a hiring committee meets like once a week and they go through all of the interview results and they say, okay, let's decide who of these people are. And it's a really cool process because, uh, now you, you have no idea who the interviewer is, maybe, uh, and although you can get statistics on their, their, their past, on their distribution of yeses and nos or their scores.

Right. And, uh, you know, one thing that they found is, is if people give. 2.0, meaning they're not sure, you know, I'm just going to punt. I didn't get a good enough signal in my interview. That's a useless interview in there a week. Interviewer, you should come out with a yes or no that lets you know, kind of seems obvious.

And so they can, they can tweak and discount somebody. If somebody always says. They can say, well, this person does always say no. And they said no to this person over here who got hired and they're doing great. So they can discount it that way or they can discount it if the person is too easy and always says yes.

So they have a little bit of leeway there in, in basically wiggling around. Uh, if one of the, one of the interviewers is really strong. Yes. Are really strong. But basically they don't know what's going on. They're blind. They just, they're just looking at feedback and deciding whether to hire the person or not.

And it seems like a really, really cool process in principle because it gets rid of that bias of the individual interviewers, biasing, each other. There is a problem though. Okay. The recruiters because you work very, very closely with recruiters during this whole process. Tech recruiters, recruiters are great.

I always say, be kind to your recruiter every day is be nice to your recruiter day because they are your partner. When it comes to getting great people into this company, the recruiter is the one representing the company. They're going to be the ones sweet talking to the candidate. They're going to be the ones telling the candidate.

Oh, I'm so sorry that you didn't. You didn't get it, but you know, they thought very highly of you giving the, you know, the, the candidate, good experience recruiters can get you good resumes. They can, they can, they can, um, help sort of try to direct people your direction. If your team is hurting many, many, many reasons to be good to your recruiters.

And a lot of people just treat them as administrators and they're just like, whatever, get that recruiter over here. And it's, it's, they're dumb. Those people are dumb. And they probably kick puppies. So anyway, uh, you're working with the recruiters and the recruiters came into us one day in hiring committee and they said we today, uh, before we review the resumes, we're going to do a little exercise.

Okay. What we're going to do is we're going to present, we're presenting you. We're going to give you some packets to. These packets have been carefully selected. And what we're going to do, this is sort of a calibration exercise. We're going to see, we're going to try to see if, if you, uh, you know, if your results match with other results across the company.

They gave us some story and they gave us a bunch of packets to review. And so we reviewed the packets. What's a packet, a packet is the candidates resume. Uh, and, uh, but they wouldn't show us the resume. They would only show us the interviewer's feedback. So we had to make our decision not based on the resume, but based on only what the interview was.

Okay, fair enough. I mean, the interviewers give a lot of details. The resume almost doesn't matter anymore at that point, because what really, you know, what really matters is how did they do in the interview? Right? So we went through and we were out allowed to ask questions and they would go in and check the notes and stuff.

But basically we were, we were doing this totally blind and we had to go in as a group and do our regular thing to decide whether or not to hire each one of these packets. And we ended up projecting 30 or 35% of them. We passed like 60%. If I remember correctly, it was, it was a, it was a pretty hefty number that we turned down and then the recruiters shared the results.

They shared the secret with us. They, they, they let us in on the surprise, which was at the packets we were reviewing were ours. We were reviewing our own interview feedback and we had decided not to hire one-third of ourselves. And again, it did nothing, but disillusioned me even further, just, just leading new leave that this, this whole process is just it's garbage.

It's speed dating. It's me making marriage decisions basically based on speed dating. And, uh, and I, and to this day, I think that the, the process is flawed. I understand why they do it. I get it. They do it because. It's a compromise. It's a compromise between how much time and resources are they willing to devote to it versus how good of a signal they're going to get?

Because [00:25:00] it's really, really hard. Like I said, to, to participate in lots and lots of things. Amazon went through to get big, fast phase back in the early two thousands where they were just like, oh my God, we got a girl that crazy. We've got a bunch of, you know, funding and we've, we've got a bunch of things that we want to get done and we need a bunch of people fast, get big, fast GBF, and we're gonna, um, we're going to interview.

They're crazy. And so we went through a couple of years at Amazon. I don't know if it's still like this. I hope not where, uh, we had to interview many, many people. Every day, not just, not just like many per week, but like I would get many interviews per day and we had to stay on top. You had to interview the people that would come up with interview questions and you had to write up your feedback and you had to, you know, do that between juggling your regular job, which was already hard.

And then it got to the point where I was starting to get like double. So they would have me interviewing two different people in different conference rooms at the same time. And I'd be running back and forth, apologizing to the candidate saying, I'm sorry, I've got to run. I'll be back in five minutes, work on this problem.

And I run to the other candidate. And then one time I actually got triple booked and I was running between three different rooms interviewing three different candidates. And it was just, it was untenable. It was ridiculous. And it was not a great candidate experience. And it certainly wasn't a great experience for us.

And when I, for a few years, because we were just trying so hard to vet people and that's, that's all we had. It's. So, so you can try to throw the, you can try to scale up, but just making everybody work really, really hard, but that, that can lead to some serious burnout and really bad outcomes. And at that point you might as well just throw darts to figure out who you're going to hire.

So, uh, so is there a better way? Well, yeah, there, there is actually a better way.

This is Swyx here. So he goes on to talk about pair interviewing and internships, which I didn't think were very controversial. So I cut it out.

Don't believe too much in your interviewing process. Don't believe in it so much that you require somebody to go through 10 interviews. Cause it won't help. Don't believe that some of your interviewers are better than others because actually they're not. And, and that's been shown again and again, statistically at Google, they tried year after year.

Uh, and, and, and don't believe that, um, that the, the, the interview performance, how well somebody does an interview, all that shows is how good they are. That's what we learned. We learned that, that if you do really relevant really well in an interview, then you can conclude beyond a shadow of doubt that this person is really good at interviewing, but they may not be any good at actually working and getting stuff.

So do whatever you can to try to improve the quality of that signal. If you're on the interviewing side, you know, try to try to get, um, uh, you know, try to get two people into the room and do pair interviews and see how it works for your company and for your candidates. Because you're going to find that it's going to co.

It's going to fix a lot of problems with bad interviewers, uh, and do your best to try to get the person, to try to understand what their actual work is like. Go look at their GitHub, go look at their, any, any projects that they got, where you can actually see. This is the dossier I started talking about earlier.

Where you can see what the contributions are that got me, like I said, I got that, got me, my job at Google, my contributions, you know, in the form of, you know, what I did for my computer game was enough to sort of make a tie breaker and get me another round of interviews, you know, do that, do try to get a complete picture of the candidate because you know, you're forced be dates is not going to be enough.

And then finally, maybe try to turn the. A little bit towards, remember how I said we didn't hire ourselves 30% of us. We decided not to hire, uh, you know, try to turn the novel a little bit, to be a little bit more forgiving and then have a process. By which you tell the candidate, you're in an evaluation period.

And if after three months or six months, you know, you're not performing up to snuff, we're going to down level you, or we're going to find another role for you. Or unfortunately, we're going to have to, you know, find a way to get you a job at another company. Basically give you an opportunity. However, HR and recruiters say this, they have magic ways of saying it and don't ever let an engineer tell a person that they have to go.

Cause they'll do a terrible job. Like I just did. But have a process for managing out your false positives. And then, and then you're just going to have, you're going to have better outcomes. You're going to have better people. You're going to have happier. People are going to have more productive teams and you're going to have a better candidate experience.

View Details

Listen to Steve Yegge's podcast: https://www.youtube.com/watch?v=L0xmHrQJdAw

the

first in this little series was i talked

about their ability to root out disease

and dysfunction in the

organization and squash it immediately

the second one was about their focus on

retail customers and individual people

and how they put that front and center

in first and foremost and there was no

also customer service mentality there

in this episode what we're talking about

is

that situation where grabs servers would

run on amazon's cloud

so it's like a rental service it's like

we rent computers

from from amazon and we have other

options we could have been on google's

cloud we could have been on microsoft's

cloud and there were some efforts

actually to get onto microsoft's cloud

at least part of the computing just to

really mostly i think for negotiating

leverage but

but the reality was grab was not really

that important

i mean there are a lot of companies on

cloud

essentially someday all companies that

have any sort of computing in the

background which is most companies will

have uh a cloud presence okay

and so you know huge huge names you know

netflix runs on amazon

go figure they don't have their own data

centers as far as i know

everything you know i certainly know

their biggest

they're uh they're amazon's biggest

customer or they have been and they go

in and out of being amazon's biggest

customer

you look at the top 50 customers for

amazon and uh grabs not in that list

you look at the top 100 customers and

grabs probably not in that list just in

terms of how much they're spending okay

corporate customers uh you know pretty

pretty sizable chunk of money but not

not really a blip at amazon scale

and yet

uh

whenever i had a question uh about

amazon's cloud let me tell you what i

what i did

okay

um

i would say

hey bob can you come over here for a sec

yeah

notice i'm not touching a phone or a

computer uh

i'm talking to bob over here who who is

from amazon he's an amazon employee he's

a cloud specialist and uh knows how to

answer a lot of customer questions uh

he's an engineer uh and and sue you know

bob and sue she would do the same thing

they'd come in we had all these these

different account reps in a rotation

uh and they would uh they would come

over and say yeah what do you need what

do you need what were they doing in my

office in graham's office in downtown

bellevue we're not a top 100 customer

they can't that how does that even scale

they can't have enough people to go and

sit on site with every single customer

now you could make the argument oh well

grabs kind of important because you know

they're going to be the gateway to

southeast asia and so on and so they're

masasan's investment they're big and you

know there's a lot of you know smoke and

mirrors and you know it's it's all true

and it's going to come true and and grab

is going to be dominant but it's never

been a foregone conclusion i mean uber

was competing with him and then now

gojek's competing with him and gojek has

a bunch of really big investors and it's

not clear-cut right you know that

they're that they're gonna be big and

why would you bet on a customer that's

gonna be big when you've already got

customers that are already big

and yet amazon had people sitting in our

offices you know uh they offered we said

yes

uh you know microsoft got into that and

they sent some people too and that was

that was fine you know you know us too

um

but it was never really the same

so so i'm gonna i'm gonna close with a

with a story about uh i'll close this

off with a story about um

the conferences okay the developer

conferences because those are sort of a

customer interaction sort of a way that

they

can demonstrate customer obsession

and it's kind of um it's not a direct

thing it's more of an indirect thing you

know and how successful the conference

is

but you know it's a it's a it's a signal

uh so the story is i was at my grab in

my um

my first year

it was 2018

uh i joined just late the previous year

and uh my boss mark porter

he said hey steve yeah let's uh let's go

to re invent

reinvent is amazon's cloud conference

okay it's about aws

and it's in las vegas and you know i'm

in seattle and so it's only like a two

and a half hour flight

and so it made sense you know for for

for me to go and represent uh you know

as a head of engineering and ads and all

that stuff uh but i didn't want to go uh

you know i like i don't like conferences

i don't know why i don't like them i

just don't like them like they're

they're a waste of time they just

they're just like um

i could go on and on about how how

shallow they are but they're they're

nothing gets done at a conference

and they're

i don't see the point a lot of people do

like them they like they got their badge

and their lanyard and their packages

swag and they're like i'm in a

conference and they feel important or

something and people speaking at

conferences feel important i've done

that too and then it was ultimately it

was like why did i do that what was what

was the goal here right just building

brand recognition with developers i

guess

you know fine fine

it's fine that they have them and it's

fine that some people like them but i

didn't want to go okay because i was

busy like my job was very stressful and

i'll talk about my job at grad and how

working with asia from the united states

is just in general in in another episode

and mark's like oh come on man you got a

year to come you got to come it's like

you have to

and he was very insistent and i'm like

okay fine you know fine i'll take the

hit for the team and i'll go to las

vegas and bring my wife along and we'll

upgrade our hotel room at our own on our

own dime and we'll try to make it a fun

trip because conferences suck and i

don't want to go

but we'll do some gambling

so we go to re invent which i've never

been to before in 2018

and

uh well i went and i learned um

there were basically three components of

the conference that i want to compare to

the microsoft conference that i went to

a couple of months later

the uh the first one was the keynote

speech

i want you to remember these things when

i talk about the microsoft ones uh the

keynote speech is you know by andy jassy

i don't know if he still does it but at

the time you know for many years andy

jassy would give the keynote and you

know what a keynote is right a keynote

is some self-important person standing

up there and going well i'm really super

glad that you all came and boy i'm sure

making a lot of money off this and let's

head up to the strip club you know

whatever i don't keynote speeches um

this was not that

so i don't know if they're recorded man

it would be really uh really interesting

if you could just watch maybe

uh

andy jassy stood up on stage for like

two and a half hours and this was in

like a vegas hotel like their conference

area like i think it was the venetian

and or the palazzo and they they like

had these giant rooms with giant screens

and he was projected on the screens i

wasn't in the room with andy jassy

because i showed up late because 65 000

people showed up to the conference a

whole football stadium filled with

people a bunch of tech geeks all like

with this narrow-minded focus singleness

of purpose they came marching in there

was this buzz this excitement and i was

just like you know this is new and

different it was like invasion of the

body snatchers to be honest and uh and

everybody got under the seats and there

was this electric you know buzz and andy

starts talking he talks for like two

hours two and a half hours okay it just

goes on and on and on and on and on

and it wasn't you know hello folks glad

to have you here no he stopped there and

went well folks here's our report card

and he just went through and like for

two hours he just did

statements of the form

you guys asked for this

we delivered it

you guys felt our performance wasn't up

to snuff in this particular area here's

the new numbers

you felt like our competitor had an

offering here that wasn't doing justice

to you know we didn't do justice in our

cloud

we answered okay oh and you know and he

could go on and on and on about things

that people had asked for and you know

what i as a customer of aws of amazon

web services i used a bunch of their

services and i had things that i wanted

and i saw some of them in the

presentation and i'm like wow i saw

other ones that i knew were going to be

useful and i saw some i was like i don't

even know what i'm looking at it was so

big and complicated it would be so it

would take so long to learn all of

amazon's cloud i mean like i didn't even

have time to do it all

but it was extraordinary

uh somebody told me mark told me that

andy you know goes to this like you know

goes to his private retreat you know

like in a movie and he like disappears

for 10 days or two weeks or whatever and

you know psyches himself out for the

talk because it was a really impressive

performance that he gave up on stage

kind of from memory just go on feature

feature feature fix fix fix performance

pricing all this stuff

it was it was uh remarkable and it was

all

like getting just eaten up by the

audience because they were like yeah

finally finally right i can use these

special indexes you know and my redshift

will talk to my dynamodb and blah blah

blah they finally fixed it right every

there was there's excitement because it

was making people's lives easier right

they were amazon was taking

load off of people's shoulders and

shouldering it themselves

so that was the uh keynote

the second dimension was uh the the

vendors which was just overwhelming

right they were they were spread over

multiple hotels and you can go anywhere

and everybody who's anybody who offers a

service offers it on aws and so

everybody was there

and then finally there were the uh the

meetings okay the meetings with with the

teams which i didn't know we were gonna

have but somebody at amazon set up some

meetings for us i was like oh okay we're

gonna have some uh some meetings um

who are we talking to

and mark's like you know the teams

you're scheduled to talk to and he named

off a bunch of teams that were teams

that uh owned the services they built

and launched and ran the services that i

was using on my teams and i'm like okay

yeah so like the account reps she's like

no

no no i mean the teams and so i went in

there and like i was like oh you know i

knew some of these people i mean like

some of them have been in amazon for

years and years i mean like since i was

there in 2005

and it was like the engineering leads

and it was the program managers and

product managers and general managers

the gm's and that all the actual people

not some proxies not some you know like

you know ambassadors and they and they

and they were there going yo hey steve

you know what do you need what can we do

for you and this is where the humility

that i mentioned earlier came in because

i was overwhelmed that they were taking

their time out of their day because

first of all running aws is no joke and

second of all they're all rich

like rich as crisis i mean they

they all held their shares and they

started in 2005 and the stock ran up

from like forty dollars to three

thousand three hundred dollars per share

during the time that i had left

and you know what what possible business

could they have sitting there asking me

what my team needed because i was with

grab not netflix right and yet they gave

each one of them gave me half an hour or

40 minutes or whatever and they were you

know

they were serious

like you know i'd say well we could

i mean i'll go on a limb here we could

really use this and i'd give them some

you know some request you know and

they'd look at each other and they would

they would not you know and sometimes

they'd tell me that it was on the road

map or sometimes they'd take really

detailed notes and say okay this is and

how would you rank that relativity these

other features and they would like talk

about it

and i realized that i was dictating

their freaking road map for them okay

it doesn't work like that at google i

mean let me tell you when i was in

google cloud for five years how how

stuff worked in google cloud people in

google would go well we solved this

problem at google because google's

pretty much solved all computing

problems and we did it our way and our

way is the best way and i know the rest

of the industry does it differently but

they're doing it wrong and what we're

going to do is we're going to get a

think tank together of all of our best

and brightest engineers who built

google's cloud google's core

infrastructure

and we're going to have them build the

cloud version

they're going to go into a room and

they're going to close the doors and get

some snacks and seal themselves off

and they're going to from from scratch

from first principles they're going to

invent what the right solution is for

these customers out here that are using

the wrong thing on aws

and uh and they're when we're we're

going to roll it out to great fanfare

and they're gonna use it you'll see if

we build it they'll come and and they're

gonna like it

that's that's how google cloud operates

it's just nuts you can't talk to a

customer like

my boss okay got promoted uh in part you

know for her innovation and it really

was an innovation which is the saddest

thing ever of talking to customers she

would she would go out and find

customers of the services that our

organization built and uh you know they

were always small companies like just

like

they were on google cloud just for cost

and maybe no other reason or maybe they

were ex-googlers right so they had a

little bit of loyalty and there's no

real reason to be on google's cloud over

amazon's cloud

unless you already know google's cloud

and so and it's because of this problem

where google designs things different

from the rest of the industry and then

you have to like you have to look at it

and go well okay i can learn how to do

it your way and then i'll be completely

locked into your cloud and i can't

migrate because amazon does things the

open way right

and so uh you know she got promoted

because she would like once a year uh

bring in five

you know volunteer corporate customers

and put him up in director's chairs on

the stage and our whole org would

shuffle in and we'd all sit there for

like an hour hour and a half however

long he can go without having to go to

the bathroom and we would get to ask

these people in the director's chairs

you know so what do you think of our

stuff and one of them they'd look at

each other and one of them would say

well you know we kind of think it's okay

but boy it really could be better in the

following 57 dimensions and we'd all

look at each other just like the amazon

folks the amazon teams did we look at

each other except we were saying

that's never going to get fixed we knew

it was never going to get fixed because

we couldn't do anything about it because

of blockers i'm going to talk in

specific gory detail about the kinds of

blockers that exist in google cloud and

exist in other places all over

i've got buddies people have left google

friends who are telling me the same

horror stories and other companies it's

everywhere but we knew it wasn't going

to get fixed because you can't fix stuff

because google cloud has an execution

problem because they don't put the

customer first it was innovative that we

even brought them into the building in

the first place once a year compared to

grab go to ground every day and aws have

a person in their office

an engineer sitting there in their

office taking notes begging please tell

us what we can do better so night and

day right

so now let's now let's talk about

microsoft's build conference and then we

will uh we'll wrap

uh i mean i really could talk about this

stuff in much more detail um

but you know time constraints

we can revisit if it's a popular topic

um a couple of months after re invent

which re invent was just mind blowing

it's across the board i was just like

i couldn't believe what i was seeing uh

the first useful conference ever so i

went to microsoft bill and i was like

hey maybe all conferences are good these

days

and microsoft build was in the

washington state convention center and i

also had to go to that because it's like

five minutes from my house

and so of course it made sense and we

were using some microsoft uh stuff

off of their cloud and by the way just

you know up front hey um you know all

the folks i worked with at microsoft in

in azure the cloud they were really

smart and they were cool and they're

professional and they were humble and

they were nice and they were um

very accommodating they were they were

great hosts i hope that we were good

guests uh and uh you know don't want to

disparage anybody in microsoft cloud

because they're they're working you know

well

um

they're not amazon

and they know it right and you know they

they know they're so far behind that

it's it's almost comically bad

um but but you know they're trying

really hard uh so but i went to the

conference uh because that was those

those were meetings that i had like on

you know in redmond in on microsoft

campus

uh but the conference the build

conference is this big vague fuzzy

directionless pointless kind of

parade sort of a fair ground where

basically a bunch of random people show

up and they give random demos they're

trying to i don't it's it's back to the

old conferences that i hate kind of

model where they're giving just random

demos that are not useful to you so it's

like uh you know it's like when you go

to disneyland with your family and you

decide that maybe just like you're going

to spend a few minutes in you know in

walt disney's imaginarium where you can

see his vision of what the 1950s thought

the future was going to be like and what

you know a a modern home might be like

you know and

you know you go in there and it's

air-conditioned and you're like okay

i'll hang out for a while but it's not

fun and then you go back to the rides

right

that's kind of what microsoft build was

like their their expo was just a bunch

of random people most of them with

macbooks uh giving demos of random stuff

that they did it wasn't cloud focused it

was a hodgepodge a mishmash now satya

nadella you know who's you know he

really is brilliant and he's you know

he's an amazing leader he's kind of a

magician

uh you know

uh he came from microsoft cloud and he

knows microsoft cloud is their business

it's their future like nothing else

matters at this point windows in office

you know and they'll they'll drag on

maybe for another 10 years you know and

they can eat some more revenue out of it

but it's kind of over and they know it

and they're not innovating anywhere else

they're trying and they're failing it's

cloud that's their only shot at staying

alive oracle's actually in even worse

position but in the same position right

they just they just have it worse

oracle's dying quickly and they know

they need to get in the cloud and they

can't because they have a terrible

execution problem

so so we go to build and satya gives his

keynote remember i told you about the

three components of the conference and

how they were all amazing

and then let's talk about how they

happened at microsoft

so i went to the keynote

and i was excited because andy jassy's

keynote was just mind-blowing okay and i

was like i want to see what microsoft

has launched in the past year let's see

let's compare their progress

and satya nadella stood up there and he

gave a keynote

uh and the keynote was pretty short and

it was about how

they were proud to announce

that microsoft had partnered with

starbucks

and that the starbucks was using

microsoft machine learning algorithms

to be able to tell you where your

espresso beans came from

and that was the keynote

and it was quite frankly

embarrassing to be there it was

embarrassing to watch i was embarrassed

for them i was embarrassed for myself i

was embarrassed for everyone else in the

audience

you

i i mean

what the hell

and uh so i was like okay well uh you

know that maybe the keynote isn't really

the right way to measure the success of

a of a developer conference maybe

they're maybe they

they fell a little short there unless

you're a really really big espresso bean

fan uh but you know uh maybe the other

areas and to be fair you know in one

area which is the team meetings where we

got to meet with the teams same thing we

got to meet with the teams they were

real nice to us they were competing for

our business from aws

they wanted us i think as a um

just to show off just like they could

show off starbucks right they didn't

care how big we were we were just

southeast asia but they were still very

nice and we had good meetings with them

and they you know they offered to go fix

things uh don't know how how much

progress they made on those things so be

curious

but the the third pillar which i only

briefly touched on right was the the the

vendor

booth the floor

which is kind of like you know when you

go to the state fair you go to a you go

to a big event you know uh

an art fair or a crafts fair or

something where there's like there's a

bunch of space where people can can pay

to have a booth

right like a little tent a pavilion or

whatever and you know like buy to

seattle you can go get food and of

course the measure the yardstick of like

how successful your event is and and

whether your venue was worth the money

is how many vendors showed up

and then you know in turn that'll drive

you know people showing up

so my buddy uh my buddy who's uh now

ebay and i hope to get him on the show

too

he says uh he's with me there at the

microsoft build conference he goes yeah

let's go check out the vendor pavilion

because you know what that's how you

tell how successful a cloud is or any

platform for that matter he was right he

says you know it's a you can see if

there you know if there's a if there's a

lot of let's say there's a lot of

database companies there okay and

they're all saying hey use our database

on microsoft azure

what that means is that azure doesn't

have good enough databases

because there's a bunch of third-party

vendors going hey pay us a bunch of

extra money on top of your regular cloud

bill for our better database than the

one that microsoft has and there's all

kinds of different you know

uh parts of a cloud that could

potentially have third-party offerings

that compete with the core cloud and

amazon of course had all of them and so

we went to microsoft to see what holes

they had what was missing from their

lineup and we went in there and it was

just like it was like the old west the

tumbleweed rolls by and we were a couple

gunslingers and the town was completely

empty and we were like

you know like we could hear the

the spaghetti western music playing it

was empty there was nobody there i'm not

talking about people yeah there were no

people there just people random people

wandering around it looked like a

carnival but there were no

companies there there were no offenders

there were like four like total like i

knew some of them personally they're

like oh hey steve i'm like oh yeah hey

what are you doing here and they're like

you know because there was there was no

point because there's like there's a

marketplace at work here and

marketplaces require buyers and sellers

and you have to have a lot of buyers and

you have to have a lot of sellers you

can't have one or the other with that

imbalance

half of them will evaporate

and sure enough i don't know if it's

because microsoft cloud doesn't have

enough customers or because microsoft

cloud's really bad because they're not

enough vendors but for one reason or

another all of the booths at the

pavilion were filled with microsoft

teams it was like whoever planned it was

like oh my god we didn't get anybody to

sign up for this thing so get your team

get in there and just pretend to be a

third party sort of right and so they're

waving like hi you know we're we're a

microsoft team that you know is here in

the vendor floor and it was 80

microsoft and i we were floored we were

like there's not a hole in their cloud

their cloud is a big gaping hole the

whole thing

and you know so we left you know very

disappointed the whole thing i mean

honestly if they they did more brand

damage you know certainly to me as just

a developer who uses cloud i use

google's cloud but it doesn't matter um

you know

the whole point of a dev conference as

far as i know is to build you know brand

excitement and enthusiasm for the for

their for their brand for the microsoft

brand the azure brand

they did more damage to that by having

that conference that that that i gave

feedback on and i'm sure they didn't

read it uh

then then if they hadn't had the

conference at all i mean seriously they

should they should just pass why wasn't

even why wasn't it about cloud if cloud

is going to be their business going

forward their only hope right obi-wan

their only hope is cloud and yet they

had all this other stuff

right and i'm sure part of this is

because of the disease that we're going

to talk about which is that a lot of

teams get big and they have a lot of

sway when they shouldn't

so anyway this has been our episode

about corporate customers to recap

i became a corporate customer of a cloud

at a

fairly medium-sized company grab for the

first time in 2018 and i continued that

relationship with amazon through until

the pandemic started uh i was blown away

by how um

customer obsessed

i mean it's such a cliched term and yet

i was blown away that they were sitting

there asking me what

i wanted their roadmap to be and and but

you know what i wasn't surprised because

that's exactly how they treat their

retail customers right that you're the

retail customers in aggregate are voting

for what's next for amazon

and uh

and once you reach that point i'll tell

you when you're done because amazon's

like done in a sense okay

done for the day say

the the the guy sitting you know or the

gal sitting at the table near my desk

from amazon who i could ask questions to

day in day out month in month out right

the entire time we were aws customers

they were done

and they had done their job and they

could feel good

when we said

we're good

thank you you've done

so much great stuff for us and we really

can't think of anything else that we

need at this time

not even speculative we just we're good

that's when you know you're done and

that's when you break through

into this new you know green field you

know sort of innovation space where you

can say wow our customers literally have

everything their heart could desire that

they know about that they can think of

uh let's start thinking of things for

them

which is what google started with

remember google's like i'm telling you

i'm telling you there were google teams

that would go in and design something

and then a product manager from another

company there's a really good pm from

microsoft and she came in and she was

like she was

just rocking in google cloud and she got

attached to this one project

and she came to me and she said they

just went into a room and designed

something that's completely unusable and

nobody would want it and they didn't ask

anyone and she had to she had to go in

and she had to slap him around and say

you need to start over again and this

time make sure there's a customer in the

room with you

and they were like huh

you know because google it's all about

also the customer

also we do customer we talk to customers

sometimes too

it's night and day 

View Details

Watch Steve Yegge's podcast https://www.youtube.com/watch?v=9v4z46Ea35Q

a

company is like a body

it's not like a person like a human

being it's like a thing it's an entity

that has its own agenda and its own

goals and its own control of resources

and its own value system

and uh

the individual members of the company

kinda don't matter as long as they're

doing their job

and the company cares about them right

the way you care about your heart and

your lungs but if you had a chance to

replace them with a better heart and

lungs you would and that's the way

companies operate too a company you know

sort of maintains its own health

uh uh or asks for government handouts

those are the sort of two options

and um and so to understand you know and

the original people who started the

company sure when it's small and it's

just a small group of people it's just a

group of people but when it grows to a

certain size everybody becomes

replaceable

okay

and this is important to understanding

why amazon is so dominant across the the

board okay in everything that they do

it's it's really crazy so

so what happens is um

groups can get diseases

and sometimes we call it dysfunction but

it's it's really a disease it's an

ailment right uh you know to give you a

really simple example you might have one

family member who's uh a real problem

somebody who's in and out of jail and

always you know uh getting in trouble

you know with the law or always stirring

up trouble at family gatherings or just

generally a problem right

you can have those in companies too

right maybe not getting in and out of

jail they won't last long at the company

most likely unless they're the ceo

but you have people that are creating

problems okay

uh

and uh

so that's not really a disease so much

as like a wound you know like a

pulled muscle you know or a sore that's

having trouble healing
ssdsdbut it's still a problem an illness an

ailment with the company

because it's preventing other people

from getting stuff done

if you have a whole bunch of those all

over your body then it's a disease

if you have a whole bunch of people in

your company who are holding on to

keeping other people from being

productive

in any way there's lots of different

ways they can do this then your company

is diseased a great example of this is

microsoft and we'll go into great detail

about this uh down the road in another

another episode

um

it's a really common pattern there are

there are there are companies have a

whole host of diseases that they can get

and they're common like many companies

will have the same disease

and the diseases could potentially

there's a taxonomy you could name them

and you could uh

you know learn how to diagnose them and

learn what the symptoms are and learn

how to treat them and learn which ones

are fatal

i mean like nobody's done this you know

i'm going to start talking about them in

my show you can call me dr steve

uh you you know it's really kind of

advanced to the state of maybe veteran

you know horse medicine at this point

look at a company and just like shoot it

but um you know the the reality is that

uh companies you know they get their own

diseases just like populations get

diseases they can get real diseases or

they can get diseases like being

anti-facts now i'm not blaming

anti-vaxxers if you're anti-vaxx uh you

know don't angrily turn off my show you

know i'm not blaming you for being

anti-vaxxed it's really a failure of the

education system and of uh science uh

marketing and of the government and a

bunch of other reasons uh that that

because it's a very real phenomenon i

mean

there you know some 30 40 of the entire

world's population maybe is is

firmly anti-vax

uh but it is a disease in in aggregate

because it's killing people i mean

that's kind of the definition of a

disease

and so you know how does this happen i

mean diseases can be diseases of the

mind in a sense and companies they do

not have the will

to cure their diseases i mean if you if

you're like you're talking about the old

west and you know you you get you know

an arrow to your to your knee and you

have uh you know uh an infection and you

know you're looking at it and it starts

to gangrene and the doc

doc you know who's your buddy who you

know drinks you know as much whiskey as

you says man we're gonna have to take

that off

okay

and so saw you know sawing your leg off

to save the body to save your life

i mean it happens today still right it's

very painful and traumatic

and breaking up a company

can be very painful and traumatic or

rooting out a systemic illness from a

company because companies are made of

people

and even if companies don't really

matter people do you know and uh and and

there's also a lot of like legal

obstacles to companies just snuffing

things out we do have at will employment

which means they can fire you anytime

they want

at least in the united states and that

is

absolutely huge for productivity i'm not

i'm not uh trying to justify it

uh and you know in europe they protect

people's rights workers rights more than

they do in the united states or in asia

but in the us and asia which are far

more productive than europe

in the tech sector uh you can fire

people at will and it's that constant

threat of being fired that keeps people

sort of behaving keeps the the lungs and

the circulatory system and everything

like working

uh because people know that they're

being held accountable right for being

you know for not not diseased

uh but diseases do happen and you know

amazon i'm i'm gonna just say it right

now

the number one reason that amazon

executes so well is that they are

merciless about rooting out disease as

soon as they find it

and i told you i'm going to talk about a

lot of different specific diseases that

i've seen in action at corporations or

even been a part of okay it's a learning

experience for all of us

uh and uh you know we'll talk at great

length about them but basically there's

situations where

groups of people within the company can

hold the company hostage

this happens all the time a specific

group of people becomes large enough to

become sort of like a a political lobby

or a labor union or you know some sort

of you know

a sub entity within the company that has

its own agenda and it's starting to

fight the host right

and uh and it it's just to give you an

example so that i'm not you know you're

not guessing

being territorial

is a huge disease

in companies a very common one being

turfy that's mine you can't work on that

i'm not working on it and you can't work

on it either

so the company's trying to get as much

done as humanly possible like literally

as humanly possible

and there are humans that are holding

them back from getting stuff done that

the company wants to get done happens

again and again and again it happens at

all companies

except for amazon okay where amazon has

a core value called bias for action

and what it really means is greasy spots

on chairs okay

there was a team that i uh witnessed i

had to work with them i had the sad

misfortune of working with a small team

of

self uh

self-proclaimed gatekeepers

of the website uh at amazon in like 1998

and 1999. mostly 99.

it was a group of people who uh decided

that in order to protect

the website

to keep the website from uh you know

pushing out some some garbage you know

that's broken that hasn't been

adequately tested that hasn't been

adequately vetted that hasn't met

whatever criteria they felt like coming

up with okay

that they weren't going to allow it to

launch so they actually it turned out

they had some keys okay they had the

keys to actually flip the switch to uh

to move a build and a new set of

features onto the to the live website

production servers they were they were

the gatekeepers right there of the

launched production and if they didn't

if they didn't uh turn turn their key

and and allow the thing to happen you

couldn't launch

you didn't have that ability

and uh

this got like gradually more and more

annoying because gatekeepers will just

sort of like uh root themselves in and

settle down and dig in like like like

funnel web spiders and then they'll just

come by and just eat random people

uh and and stuff won't get done and and

what happened was jeff basil it finally

got to where projects weren't launching

and jeff bezos was like so why didn't

this launch on time and they're like

well you know issues with the the

release train bubble what release train

well you know there's a group of

what group right and then the next day

instead of

the group that was the gatekeepers their

chairs just had greasy spots where a

bolt of lightning had destroyed them

utterly

in a biblical just

whoa where's bob and sally my my god

what happened

and then there was a party

because everybody hated them because

they were gatekeepers because they were

slowing everybody down and amazon didn't

care actually it turns out if they

launched garbage to the website because

they could just make people mad and then

they'd call customer service and they'd

get a gift certificate and they get a

big apology and they get free stuff and

they go i love amazon even though they

shipped me the wrong thing and like i'm

a catholic and they sent me pornography

and etc etc every bad thing that could

ever happen has happened at amazon i was

in customer service for a couple years

with their tools

and i tell you

uh

amazon

uh

does not tolerate

being slowed down

it's a disease all right

uh

what does that mean that means they have

the willpower

to uh to root it out

which means you know have a stern talk

with the people you know who are

responsible uh and if they say no which

they often do they say no you can't this

is mine and i'm keeping the company safe

it's always in the guise of safety

security whatever right it's see you

know um

uh

one of the diseases that we have is that

the so-called devops team and we'll talk

a whole episode about this you know the

group that holds the keys to launching

uh decides that they're gonna they're

gonna be an obstacle

and most companies tolerate it they're

like oh you know you're just gonna have

to negotiate with them well i don't

really have the authority to blah blah

meanwhile in

in amazon it looks like florida during

lightning season

whole teams will just disappear

because they didn't

they they screwed around they didn't

launch

uh

amazon has a system

uh of what you might call ambassadors or

diplomats okay they're called technical

program managers at amazon tpms

uh but what they really are is their

ambassadors and diplomats

because the the companies get so big

that they become like countries and

there's these different you know very

powerful warlords in charge of the

different um you know like google has

you know gmail and you know

you can't mess with us we got how many

you know gazillion customers and you

know and then there's you know youtube

and you can't mess with them and and so

it's really amazing actually that google

manages to get everything anything done

uh given that they're so you know

balkanized uh

and you know amazon's the same way

except amazon does get stuff done

and and the reason is that the local

warlords have to deal with these

ambassadors that they're not allowed to

shoot called technical program managers

who come in and basically the technical

program manager is an engineer who also

knows how to speak warlord and they come

in and they say we need to get xyz

launched

and the conversation always goes like

this the manager goes

[Laughter]

no

and the tpm says or you'll be fired

and the manager goes

how can i help

right

that's how the conversation goes at

amazon

how the conversation goes at uh you know

google and microsoft and everywhere else

is they go ha ha no and that's actually

the end of the conversation there's

gonna be a lot of follow-up

conversations and a lot of begging and

whining and angry escalating and fist

pounding and gnashing of teeth and

pulling of hair and name calling and

well i've been through all of that

and the answer is still no

that company has a disease and the

disease

is bias for inaction

the opposite of amazon's bias for action

they have a bias for inaction

and i tell you inaction doesn't get a

company very far

View Details

Listen to Stevey's Tech Talk (10mins in) https://www.youtube.com/watch?v=jUtUAc_ew9Y

  • Playstation ad talked about in the clip: https://www.youtube.com/watch?v=kWSIFh8ICaA
  • https://www.forbes.com/sites/insertcoin/2013/06/11/playstation-4s-price-and-policies-humiliate-microsofts-xbox-one-at-e3/?sh=377dd8aa133f
  • https://en.wikipedia.org/wiki/Don_Mattrick

Listener Jeremy Jung emailed in this clip: https://www.youtube.com/watch?v=KbWgUO-Rqcw

and I really liked this comment: 

"They got their target audiences mixed up, when they studied the data from the 360 it showed masses of casual users primarily using it to stream Netflix and other video, play EA sports titles, and Call of Duty. They pitched the presentation as if that was who was watching. However casual users don't typically watch these types of presentations. The hardcore gamers who do watch these presentations were more interested in unique gaming experiences, console exclusives, upgraded game features like higher resolution, better graphics, higher framerate, and high end hardware specs. This pitch fell very flat with the hardcore crowd that tuned in."

View Details

Listen to the full episode on PodRocket: https://podrocket.logrocket.com/svelte

  • https://podrocket.logrocket.com/swyx
  • https://podrocket.logrocket.com/rich-harris
  • https://podrocket.logrocket.com/elderjs

View Details

Listen to Software Defined Talk (17 mins in) https://www.softwaredefinedtalk.com/297

https://www.enterpriseready.io/

https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing

View Details

Listen to the Nathan Barry podcast https://nathanbarry.com/048-ali-abdaal-building-multiple-income-streams-content-creator/ (7 and 21 mins in)

Transcript

So, I started the YouTube channel in my penultimate year, so I, I, I, I done five years of med school at this point. I’d set up a few businesses. I had like two SAS products that I was using to side hustle, income, most my, my way through med school. And then in 2017, when I was in my final year, the YouTube channel actually started out as a content marketing strategy for my, my business, that business was helping other people get into med school.

It was like that standard thing. Once you do something, you then teach other people how to do the thing. and it was like, you know, the creative economy before it was really called that where

[00:07:20] Nathan:
Yeah,

[00:07:20] Ali:
You kind of follow that model. And so the YouTube channel started.

[00:07:23] Nathan:
Because you were you teaching people like test prep

[00:07:25] Ali:
Exactly. Yeah. And it’s so similar to pet Flynn story as well.

You know, he, he started off teaching people how to do some architecture exam. I started up teaching people how to do the med school admissions exams, and that’s kind of transitioned into a coaching business, which then transitioned into the YouTube channel.

[00:07:40] Nathan:
Okay. And so as the YouTube channel started to grow, like, what were some of those first milestones, you know, as you’re getting to, how long did it take for you to a thousand subscribers and then maybe, you know, 5,000 or 10,000? Like what milestones stand out.

[00:07:52] Ali:
Yeah, so I started in the summer of 2017 and it took me six months and 52 videos to get to the first thousand subscribers, six months in 52 videos. I was putting out two videos every week while preparing for med school finals and kind of neglecting my exams for the sake of YouTube, because I could see the YouTube thing was like, oh, I really want to do this.

I think the ROI on being a YouTube or is going to be higher than the ROI and getting an extra 2% in my med school finals. that was, that was the theory. Anyway, So, yeah, it took six months of the channel to get a thousand subscribers, another like four or five months for it to get up to 5,000 subscribers.

And at the point where I was at around 4,005,000 subscribers, there were two like really good things that happened. Number one was a collab with a much bigger utuber. his name is Ibz Mo. So he and I got to know each other through university and he had 60 K at the time. And so he and I did a collab which took off and helped the channel get exposure.

But also there was a video that I made my, my very first video that actually went viral, which was a video about how to study for exams. now this video is a bit weird because like I’d actually planned for it to happen like a whole year before I made it. So when I started YouTube, I, I sort of consumed the hell out of everything on the internet, around how to be a YouTuber and, Sara Dietschy and Casey Neistat had this thing whereby Casey Neistat, enormous YouTuber, Sarah DG would take YouTube who was smaller at the time.

She went from 40 cases. Over to like one through over a hundred, a hundred thousand, basically overnight because Casey Neistat shouted her out. and the way that she described that, and I, that I found in some random interview, like on the YouTube grapevine, was that you, you benefit from a collaboration with a bigger utuber, but you only benefit from it.

If there is already a backlog of really high quality content on your channel. And so I took that to heart and I knew that, okay, at some point I want to do a collab with a bigger utuber. And at some point I want to try and make specifically a video on how to study for exams, but I knew number one, I needed to have a backlog of hot, cold, high quality content because otherwise no one would care.

And secondly, I knew that it would take me about a hundred videos to get good enough at making videos to actually be able to make a decent video about exams. And so that was like my 82nd or something video, which I, I, I I’d had in the back of my mind for so long since, because since getting started button, you know, I need to get my skills up.

I need to put in the quantity so that I can actually make videos that are hopefully.

[00:10:06] Nathan:
Okay. That’s interesting. Yeah, because coming, doing a collab and coming to a channel and it’s like, okay, they have four videos. And the one that I saw in the collab is actually the best one they’ve ever done. Like it’s sort of, it doesn’t have the same ring to it as if you come in and be like, wow, this is incredible.

Like, one of my favorite bloggers, you know, it’s separate from the YouTube space, but I got him, Chris Guillebeau was an author and blogger and I followed him in the early days. And I had the experience of, he had written a guest post for Tim Ferris and I was reading Tim versus blogging. This was probably 2011, maybe.

And I was like, oh, this is really good. I love it. I think it was on actually on travel, hacking, you know, credit card points and all of that. And so I clicked over to his site and I think. Over the next, like two days, I just read the entire website, you know, Nate, it was like years worth of blog posts and all that, but that was the experience.

Right. The guest posts is a collab of some kind and then coming over and you’re like, you’re just deep dive and consume everything rather than the experience of coming over and be like, oh, okay. That’s interesting. You know, and like moving along and the back catalog is what, what, drives that?

[00:11:09] Ali:
Yeah. Yeah. I had, I had that exact experience with Derek Sivers who I discovered through the Tim Ferriss show and Mr. Money mustache, but it’s coming through a temporary. I was like, all right, I’m spending the next week of my life. Just binge reading all of your blog posts that you’ve ever written for the last 20 years.

And now it’s like, I’ve got this information downloaded into my brain.

Clip 2

So in the process of building a team around, which is something I wanted to talk to you about because you’ve built a big team over time, I was speaking to Derek, you’re a director of marketing as well about building a team and he had, so he had loads of advice to share.

So that’s, that’s a challenge for me right now. It’s like, you know, two years ago, it was just me last year, this time, last year, there were three, three of us full-time well, two full-time. It was me working as a doctor and a part-time assistant, and now there’s 12 of us, but now we’re hiring another 10 people.

So by next month it’s going to be maybe like 20, 20 of us a hundred. It’s all those problems associated with scaling a team and leadership and management. And that’s the kind of stuff that, I’ve been really as sort of very much on the steep learning curve of, and that I’m very excited about getting better at,

[00:21:44] Nathan:
Yeah. what’s the reason that you’re growing the team so quickly.

[00:21:48] Ali:
Well, let’s see, because we just have a lot of money. once, once we launched our, yeah, it’s a, it’s a, it’s a good problem to have. We’re just like very cash rich and expertise poor as someone described as, We launched our cohort based course part time, YouTube academy this time, last year, it did phenomenally well, I’d been doing classes on Skillshare, which started off as making like a few hundred to a few thousand a month and is now compounded to the point where we make some way between 60 and $80,000 every month, just passive income of Skillshare classes.

That means that every month we’re just making more and more money. And I see the, I see the numbers going up and I see them go up and I, I see basically like, well, why, why are, why aren’t we doing anything with that money other than just

[00:22:30] Nathan:
Right.

[00:22:31] Ali:
every year.

[00:22:32] Nathan:
Okay. So really quick, since you mentioned, are you okay sharing some of the numbers, like the numbers from part-time YouTube academy?

[00:22:38] Ali:
Yeah. so we launched the first cohort in November last year. I think this year we’re on track to do maybe like $2 million revenue and like 1.1 0.5 million profit, 1.6 million profits, something like that. next year we’re hoping to take that up to like 5 million revenue. Which again, all of these feel like, like dumb numbers, I’m just plucking out of thin air.

Cause it’s like, I I’ve, I’m, I’m really bad at like projecting, protecting financials. Like it’s all, it’s all just a guess. Anyway, like if we could do four cohorts and sell 600 places, that would be 5.5 0.1 million revenue. It’s like, that’s actually, that’s actually doable, but it’s just such a fricking ridiculous numbers.

It’s like, how on earth can that be doable? It’s just like, how, how does it even work?

[00:23:23] Nathan:
Yeah. Welcome to the internet. And, when you have substantial leverage, like things that were possible, like seemed insane before you’re like, oh yeah, I know that math checks out, you know?

[00:23:34] Ali:
Yeah, exactly. I suppose if somebody, to you for ConvertKit was I think last I checked, you were on 20 million annual recurring.

[00:23:41] Nathan:
Yeah. We’re at 20, 28 and a half. Now

[00:23:44] Ali:
Well the hell that’s going to quickly compounding.

[00:23:48] Nathan:
The magic of compounding

View Details

Listen to Brian Clark's podcast https://unemployable.com/podcast/intersectional-positioning/ 20mins in

  • https://www.nerdfitness.com/

Transcript

[00:00:00] Hey folks. It's Swyx so today's clip is the longest one. I'm sorry about that. Basically. It was such a good story from beginning to end and I could not cut any of it out. It covers nerd fitness, which is one of the fitness blogs I've been tracking for many years. Um, I fell off the radar. A while ago, but I still have very high opinion of it.

Um, I have been one of the passive leaders, but I think the message definitely resonates that it finds a niche, which is nerds. And then it tries to do something to serve that niche. And I think the journey of Steve as a creator, as a writer who went through SEO, Uh, just the exploration and understanding how to do contents for living.

And then starting to build a business on top of it, and then exploring how to productize this stuff that he did. Like don't teach me what to do, just do it for me. I think it's a very typical business journey for bootstrappers that is extremely successful. He's essentially one guy, maybe if a team of 20 something, people making millions of dollars a year. And I think. What's great about that is that it also helps people be fit so it's just one of those ideal bootstrap businesses that is just win-win.

So my origin story. After college, I was living in San Diego and I was selling construction equipment. I was in sales because I didn't know any better. I didn't know what I wanted to do with my life. Both my parents were in sales, so I just figured get in, get into sales. I've lived by the beach. I worked in sales and I was terrible at it.

So, so bad. I had very little experience with construction equipment, renting. I was renting out forklifts and boom lists. Giant downtown projects in San Diego 22 or 23 at the time. And just have no idea what I'm doing and on a particularly miserable. Day at work on my lunch break. I walked into a bookstore and I felt like the sun was shining through the window and spotlighted this book that had just come out.

I had no idea who the author was or what it was all about, but I saw the cover and the book is called Tim Ferriss's four hour workweek. So I see this book as like, it was literally the first week it came out. So this was 2007, I think, or somewhere in there. And I picked it up and I read it and. A big part of the book was like, pick something that you're good at and a social group that you're a part of and see where you can find that overlapping, gap.

And for myself, I was like, well, I just cracked the code for myself personally, about my health and fitness. And I was spending an inordinate amount of time playing video games. I was like, well, I don't think I could write like the best fitness website, but. I could probably help people that are beginners.

And who else has big, is a beginner fitness. That's self-conscious and like, can think of fitness, like a video game nerds do that. It's like, all right. I Googled nerd and fitness, nothing popped up. I was like, huh. All right, let's do that. So I bought nerd fitness.com and then I did nothing with it for like two years.

Cause I was so afraid to get started. Eventually quit. The first job started a sec or went to work at a different company. It was while I was at that second company, I got certified as a trainer. I got further education and finally worked up enough. To start writing basic articles about beginners getting started with health and fitness.

And that was it, but like, I didn't start it because I saw that nerd culture was going to become popular. Like, I didn't know, Disney was going to acquire star wars and Marvel and like, it was just going to become cool to be a nerd. I was just like, I'm playing 40 hours a week of EverQuest, which was like, even nerdier than world.

Like I'm playing all of these video games and I want to talk about nerd stuff. Like let's just stick the two together and see what happens. And fortunately I didn't know any better, which is what I started at before.

Yeah, that's amazing. Because now of course you look like a genius, like just a complete marketing guru who saw how these two things would work together because the stereotype of course, is that nerds don't work out.

Did it well, but you were an exception, I guess. So in many ways it seems like you created this. That someone like you would want. And it just happened to also resonate with a lot of

exactly. I, so when I was starting my fitness journey I did what most guys do. I went out and bought like muscle and fitness magazine and I followed like the bodybuilder workout programs.

And after like three weeks, I'm like, well, I don't, I look like that guy. It's like, well, because you're not on steroids and you don't eat like that dude. And he's been training for 25 years. So I most stuff that I found. I felt either disconnected from like, I have nothing in common with this guy, or I felt almost like, I want to say ashamed, but rather like most of the fitness marketing is built around like, Hey, you're not.

And you're not good enough, but if you buy this thing, then you will be good enough and everything will get better. And I was like, that's [00:05:00] just that's bad shame on you for doing that. And let's try to give people like actually helpful information without the hype and the nonsense. And just like, here's what you need to know.

Here are the, all the mistakes that I made. Like let's get rid of all that. Let's do some basic stuff and get you started. And then we can also still talk about Harry Potter and star wars and talking,

right? Yeah. The whole shredded bro aspect of fitness. They're all trying to outmatch show each other.

And I think that turns a lot of people off it doesn't work with me at all. So I, for further, I linked to nerd fitness guides all the time, because you've got the humor you've got the pop culture references, which is something I did at Copyblogger early on. I mean, that's literally how I was able to make myself write two long articles.

Like it's because I would go, well, how can I use a prince metaphor to explain content? So when you first started, was it was just you, right? You were

writing about the content. It was just me a long time. And interestingly, so I guess I started really working on the blog at night while I was working the day job in 2009.

And back at that, then. Which is the same today. Everything I read on the internet was like, you need to write short posts. You need to publish five days a week because nobody has the attention span to read long stuff. So for like six weeks, I think again, I didn't know any better. I didn't know what I was doing.

I spent six months writing like 400 word articles. A lot of them were like very topical, but quickly out of date. Cause it was about something that happened that week and after like five months, six months, something like that, I had. I don't know, 20 subscribers. Like I don't even think I had an email list yet.

I was just like, people could subscribe the RSS and who's like, oh man, this is cool. 20 people are reading. And then I started stumbling across Bloggers that were writing long form content. And almost overnight, I was like, I'm going to try something different. Like instead of writing these short posts, I'm going to write one long article, but it's going to be like 2000 words.

I'm going to cover an entire topic and just see what happens. And like right away, it felt better to me because it was long. I had to keep myself entertained, which is where the pop culture nerdy references came in. I was like, if I'm not enjoying writing this, then nobody's going to enjoy reading it. So like, I have to keep myself.

Entertained throughout the writing process. Like if I'm laughing, maniacally, as I'm typing about vegetables, like I'm doing something right. So I would write these articles and they started resonating very quickly with the people that were already reading, but it started bringing in new people. And then over that next year, things really exploded because like you, Brian, I was doing two long form articles a week and I did that every week for years.

But yeah, it was literally just me. Right. And two articles a week answering every email, replying to every comment while also still working the full-time day job.

That's interesting that they were still saying the short article thing in 2009, because don't

forget.

Yeah, well, I mean, w in the blogging space in 2005, it was like, well, you got to write every day and it's 250 words, and it's your opinion.

And I was like, no. And so I wrote thousand word articles that were educational twice a week because I couldn't fill all five of them. And that's why Copyblogger, I think really took off quickly. Once you were offering a little more high-impact value, then of course, we got to the point where everyone, it was like, what I called the content arms, race.

Everyone was trying to out value the other person, especially. People in the SEO community early social media, that was what would make it to the dig home page and all of that kind of stuff. Pre Facebook and Twitter. But yeah, I would have thought by 2009, They would stop giving that bad advice, but apparently

you found, I was clearly taking the advice from the wrong places and didn't, I didn't know what he didn't know.

Like my, my, I wasn't, I probably had never even heard of the term SEO at that point, digital marketing. Like those weren't even thoughts in my mind. It was literally like, if I can just start a website, like I'm a nerd, but I'm a video game and bookworm a video game player in bookworm.

Developer or programmer. I don't know much about internet marketing. So first, like, man, if I can just write it and like this WordPress thing seems cool, like, all right, I'll put some stuff up there and probably Googled like how to blog. And some of the stuff I found was unhelpful. Luckily I then stumbled across a few bloggers back in the day that were helpful.

And I tried to emulate them by as like, yeah. Two articles a week. I'm putting out good stuff and just focusing on.

Did you have aspirations to write had you written before you started the blog?

No.

It wasn't until, so I quit the sales job and I moved to Atlanta, Georgia where two of my college roommates were looking for a third roommate. And I went to work at this company called six men and six men [00:10:00] produces floating music festivals. It's literally like rent a cruise ship and then put John Mayer and 20 other bands on the boat and then sell every other cabin to fans of those musicians and create this floating music festival.

So it was while I was working for the. My job was like marketing assistant for something to start. I got paid very little, but it was so much fun. And I learned a lot. And part of my job is building or fostering the community for each of the each of the different boats. Each one had a different music genre and thus a different audience that needed to be spoken to in a different language.

So. Working with them. They said, Hey, we're going to start this thing called a blog. And we're going to put it on our company website. And everybody needs to take a turn, writing an article. And then I wrote something and this was like the first time probably. Probably maybe the first time ever that I got to do truly creative writing where it wasn't a term paper for college about, Abraham Lincoln or it wasn't a business deep dive into something, but it was like, truly write about a band that you love, that you happen to just watch perform on the deck of a cruise ship, parked in The Bahamas and let's have some fun with it.

And I wrote, and I was like, oh, this is way different. And then they very quickly said like, okay, you're now in charge of the blog. Okay. We just want you to write all the time. So I just started writing all the time and learned like, oh, like if you write about things that are fun and interesting to you, like time flies by.

And that's when it finally clicked for me, it was like, okay, I'm not going to become like a personal. That trains people that are nerdy with nerd fitness. That's one-to-one what if I start a blog or turn it into a blog that is, one to a hundred, one to 1,001 to a million, like, I can have some more fun with this.

So I never, as a kid growing up, I didn't, I never imagined I would become a writer that could happen to accidentally I guess serendipitously as a result of some other opportunities that came up.

Okay, well, that seems like a good segue into product. Like at what point after you started the blog, did you understand what type of coaching or courses that you would develop?

What was that process like

for you? Yeah, very organic. It was, I didn't know what I was going to sell, but I figured if I can just get a good. Number of people reading the website and then ask them, how can I help you? Like. What is the thing that you're struggling with, then it's going to give me an opportunity to create either a product or a service in that space and and then serve those people and they'd be happy about it.

So there was about 18. After I had started after I had started a website, part-time and over those 18 months, I just kept getting the same questions over and over again, it was like, Steve, can you just give me a workout? Like, I think I even had an article that was like how to build your own workout and all the comments and all the emails I got were like, can you just do this for me?

Like, I'll pay you. It's like, oh, all right. Well, that seems like an easy place to start. Why don't I create I'll, my community at that time, I called it the rebel. I think I started calling it the rebel Alliance, but then it evolved now where the nerd fitness rebellion, it was like, let's call it the rebel fitness guide.

Well, I'll make a PDF charged. Like I think I was like terrified. I asked for $30 for this thing that was going to, it was like six months worth of workouts and everything you needed to know about nutrition and my. And I asked for 30 bucks and managed to sell enough of them to buy me like a month or two's worth of income.

It's like, okay, this is now officially a business. I should probably try to start taking this thing a little more seriously. Let's go to find, let's go find more people that are like the people that are currently buying this and continue down this path of like, okay, this is no longer a hobby. This is a thing that I think I can devote my.

So, what is the current product offering that you have at nerd fitness? So wait you rebel Alliance to nerd fitness Alliance. That's

finish rebellion

rebellion. Okay. The rebellion is from Disney. They're like you can't be the rebel Alliance.

I mean, it was very comically. I asked the community, I said like, Hey guys, I don't want to just call us.

Like welcome to the nerd fitness community. Like that doesn't seem nerdy enough. So I was like, what do you guys want to do? Like, I think you can even still, I think the blog post still exists maybe, but I was like, do you guys want to start an empire? And I was thinking like, Roman empire, I wasn't even thinking star wars, empire.

And then I was like, or do you want to like, help me build a or like run a rebellion and like overwhelmingly the response came back. Dude, we hate the empire. Like we're all rebels. We hate that. I was like,

you can't be the empire,

but like, I wasn't even thinking like star wars, empire inexplicably, like I was thinking like, like, oh, the Roman empire, that was cool and expanding.

So, so stupid or so funny. Luckily the community said we're going to be rebels. And then I Googled rebel Alliance and I found this beautiful artwork of somebody had drawn the rebel Alliance [00:15:00] logo in maroon on like a concrete wall. Like at that time, I think the nerd fitness colors, it was like blue and white.

And then it was like, oh, okay, here we go. Like nerd fitness logo is already circular. Like it's just right here. I already drew it on a napkin and had a friend digitize it. So it was like, okay. Our color scheme is now red and gray and white and black, like the rebel Alliance. We're going to be the rebellion.

We're going to have rules of the rebellion. Welcome to the rebellion. Joined the rebellion. And like things clicked. It was like, okay, this feels like something that people are interested in being a part of. And it was still a small group of people, but people were very passionate about becoming a part of it.

And so now I think you mentioned that you work with a team of writers, is that correct? You're no longer

the chief writing guy. Right? So it's evolved a bit. We have we have a few people on the team that have edited past content of mine or I've partnered with, to write other contents. So I have two of them.

We'd have 25 w we'll talk about the different aspects that nerd fitness offers now, but one of them is online coaching and two of our coaches are also pretty darn good writers and content creators, Jim and Stacey, and they have also created content. Stacy is a. Powerlifting woman who can deadlift 450 pounds.

We just shared, we've shared her success story all over the site. She loves Zelda and and power lifting and has transformed as a result of discovering nerd fitness. Being confident or building up the confidence to pick up a barbell. So now it's not just me. There are other people. We have a mental health expert that has written articles.

We have another guy in my team that has helped edit content and kind of repurpose it to make sure that it gets its way around the internet. So, nerd fitness went from just me to now it's at the point where we have close to 50 team members scattered throughout the globe, working on. Different projects and finding different people and helping different people in different ways.

Wow.

Wow. That's amazing. So yeah, the reason I asked about the writing aspect is because again, going back to the incongruency, if you will, how do you even find someone. It was a power lifter and is into Zelda. I mean, that's just, I guess they find you just like with Copyblogger, we got up to 65 people and they all came through the audience and they all understood the mission.

You didn't have to have like, the break room manifesto on the way. Everyone knew what Copyblogger stood for. It. It's the same thing with nerve fitness.

Yeah. You either get it or you don't and if you don't get it, then it's probably not for you, but if you do get it welcome aboard, let's go.

Exactly. So you've evolved from that initial $30 PDF thing. To where you're actually doing one-on-one coaching. Is that right?

Yeah. So we I've had to reinvent and transform nerd fitness as a company in a community like a dozen times in the past dozen years. Like, it seems like every year we're trying, we're reinventing ourselves.

As things changed, the community remains the same, but the services or products or whatever it may be have evolved over that time. So we've simplified things lately. Two ways to support nerd fitness are two ways to paid services that nerd fitness offers. One of them is called nerd fitness prime. It's our online private community.

We have an app that you get as part of joining our fitness prime called nerd fitness journey. You get to create a superhero character. You have daily missions to complete your character earns different items. You carefully craft your alter ego, your origin story. And then there's, there's villains to battle and storylines that go along with each aspect of it.

So that's the that's nerd fitness, prime and or fitness journey. The app is free to download and try out. And then the higher tiered project or process for people that are interested in more one-on-one instruction is our online coaching program which very similar to everything else that nerd fitness happened organically.

I had those two coaches, Jim and Stacey were creating content. But I said, Hey, I wonder if we can I have a car, I have a, at that time I already had my, I had an online coach myself and I still have the same coach to this day, five or six years. So I wonder if people in our audience are interested in this.

So before building anything, we sent an email out to our, the women of our community. And we sent an email out to the men of our community and said, Hey, we're thinking of doing this online coaching program. You have to fill out this really long application. It's going to be expensive, but you're going to get one-on-one instruction from Jim or Stacy.

And let us know if you're interested and we got a hundred. A hundred applications for both sides of that. It was like, okay, here we go. Seems like this is something we're interested in. I mean, we were using Evernote to track workouts and people were like texting to coach and very quickly we pivoted to a third-party software and then eventually built our own.

So, and that has just continued to grow and blossom through we're. Now at the point where we have. 25 full-time coaches. We just hired two more. This week, we hired three last week or three, two weeks prior to that we built our own custom software where each coach now has a dashboard that they see, they know which clients did they need to interact with.

Each client gets, one-on-one instruction from the type of workout they're doing. They can tell [00:20:00] their coach that they're traveling the following week and the coach builds them a travel workout. They take pictures of their food and the coach helps them slowly adjust their diet. It's and it's all done with a superhero theme to it.

So it's a, so that's really like nerd fitness is super simple. Join our email list. If you're interested in learning more about our community, come check it out. Try downloading our fund habit, building superhero app, or if you want one-on-one instruction from one of our certified instructors that lives and breathes the nerd fitness philosophy, check out our coaching program.

Again, you see that 20 minute journey going through his writing, you know, a serving on a music party boat through whatever. Uh, turning into a blog and then turning into coaching and then turning into productized services. I think it's a very repeatable process and I think it's just amazing to watch.

View Details

Listen to Code Story: https://codestory.co/podcast/bonus-adam-robinson-getemails/

  • https://getemails.com/data-privacy/
  • https://vimeo.com/48104974
  • https://www.bizjournals.com/boston/blog/techflash/2013/05/former-ratepoint-customers-launch.html
  • https://www.amazon.com/Permission-marketing-fastest-growing-companies-permission-ebook/dp/B087KTYCH1

View Details

The following is my conversation with Abhi Aiyer and Ward Peeters, two lead engineers behind Gatsby Cloud and the recently announced Gatsby v4, which is at the forefront of what I think is the most significant change in the Jamstack landscape in the past 2 years.

Watch the video version here.

Links:

  • Gatsby 4
  • Netlify DPR
  • My blogpost on Smart Clients vs Smart Servers

Timestamps:

  • [00:00:00] Cold Open
  • [00:00:28] Swyx Intro
  • [00:01:59] Call Start
  • [00:03:07] Gatsby v4
  • [00:06:23] Incremental Builds
  • [00:07:16] Cache Invalidation
  • [00:09:03] Gatsby DSG vs Netlify DPR
  • [00:09:35] Abandoning Redux for LMDB
  • [00:11:50] Parallel Queries (PQR)
  • [00:13:32] Gatsby DSG
  • [00:15:24] Netlify DPR vs Gatsby DSG
  • [00:19:19] The End of Jamstack
  • [00:22:12] Tradeoffs and Performance
  • [00:24:34] Image Processing
  • [00:27:25] Automatic DSG
  • [00:29:33] Gatsby Cloud vs Netlify
  • [00:33:34] Gatsby vs Next.js
  • [00:35:41] Gatsby and the Content Mesh
  • [00:37:19] React 18 and Gatsby
  • [00:39:45] Custom rendering page fragments with React 18
  • [00:42:10] Server Components in Limbo
  • [00:43:33] Smart Servers vs Smart Clients
  • [00:45:21] Apollo and Open Source Startup Strategy
  • [00:47:06] TMA: Too Many Acronyms
  • [00:49:16] Gatsby for Docs

Transcript

[00:00:00] Cold Open

[00:00:00] Abhi Aiyer: And so with LMDB in place, right? We have workers that can read and write to LMDB, which allows us to run parallel queries. So PQR was a huge advancement for us. I think we saw up to like 40% reduction in query running time. And build times went down. We had a goal, I think it was like, we'd try to look for at least 20% reduction in build times and I think we hit 26%, so all cool wins, you know?

[00:00:28] Swyx Intro

[00:00:28] swyx: The following is my conversation with Abhi Aiyer, and Ward Peeters, two lead engineers behind Gatsby Cloud, and the recently announced Gatsby V4, which is at the forefront of what I think is the most significant change in the JAMstack landscape in the past two years. We discussed how parallel query writing PQR and deferred static generation DSG are achieving 40% faster queries and 300% faster overall builds.

[00:00:53] And they did a wonderful job handling the most impolite questions I could think of, including whether it Gatsby Cloud is a Netlify clone or the Gatsby should just be a data layer on top of Next.js and how they're dealing with TMA too many acronyms in web development. This conversation should be viewed together with my past discussions, with Sunil Pai and Misko Hevery in considering the cutting-edge of web development today. Online discussions often present a binary split in that your technical choices either have to optimize for developer experience or user experience.

[00:01:25] But I find that it is builders like Abhi and Ward and Misko and Sunil who are constantly trying to improve the experience of developers in building great user experiences by default. I hope you enjoy these long form conversations I'm trying to produce with amazing developers. I still don't have a name for it.

[00:01:41] And I still don't know what the plan is. I just know that I really enjoy it. And the feedback from you guys have been really great. So if you like this, share with a friend, if you have other requests for guests, tag them on social media, I basically like to make this a space where passionate builders and doers can talk about their craft and where things are going.

[00:01:58] So here's the interview.

[00:01:59] Call Start

[00:01:59] Abhi Aiyer: I'm Abhi Aiyer. I'm a principal engineer at Gatsby. Thanks for having us.

[00:02:05] Ward Peeters: My name is Ward Peeters. I'm a staff software engineer at Gatsby and I'm from Belgium. And I've been working mostly on the open source side.

[00:02:15] Abhi Aiyer: I forgot to say where I'm from. I'm from Los Angeles, you know, Hollywood,

[00:02:21] swyx: I'm actually heading down to LA,

[00:02:22] Abhi Aiyer: in a couple of weeks, there's,

[00:02:24] swyx: I'm going to Kubecon, which is like a very interesting thing for a front end engineer to end up at. But that's where my career has taken me.

[00:02:34] So this conversation started because I had a chat with Sunil, on this podcast that I accidentally launched. I don't think we did Gatsby much, a good favor.

[00:02:45] Like we both saw the new updates and I didn't get to say the nice things that I thought about Gatsby. I should also say that I used to have my blog on Gatsby and I no longer do. I used to work at Netlify and I no longer do. There's a lot of history here for me with Gatsby. It's been a while since I caught up, and I'm curious to see or get the latest.

[00:03:07] Gatsby v4

[00:03:07] swyx: Maybe we should start off with like a quick summary of what's new with Gatsby with Gatsby V4, right?

[00:03:13] Abhi Aiyer: Is that a good place to start? Yeah, I think so.

[00:03:17] swyx: So first of all, I think the marketing was really nice. Gatsby camp, it seems like a really big push and qualitatively very different from Gatsby 3. Tell me about what the behind the scenes was like.

[00:03:30] Abhi Aiyer: Yeah, it was, we're getting better at the marketing side of what we're doing these days and Gatsby 4 was a big push. It really changed how we approach the framework as a whole.

[00:03:43] For those who don't know, traditionally Gatsby was a static site generator, purely static. We hold ourselves high on our connections to a content management system.

[00:03:55] And we provide a really good data layer there, that takes all those requests that you would normally make to a content manager system, turns them into a, like a store of data that you can then use and query from graph QL. And the big thing that we were hitting before gas before was. Company was growing.

[00:04:17] And as more customers were using Gatsby cloud, we started realizing that we couldn't scale to really large sites and large sites is like a misnomer. Like you could be, you could be a 50,000 page site and be considered large given the data that you may have. But we're talking like hundreds of thousands of pages.

[00:04:38] And the thing that we kind of realized is not all pages are created equal on your site. Especially the ones from like 20, 15, 20 14, where, you know, no one's looking at that people, those pieces of content, if you're a site with a huge archive of content yeah, you should probably go check Google analytics to see how, you know, how, how many people are actually viewing your pages.

[00:05:02] And the way gets me. And we'll get into this a little bit later, but today Gatsby isn't as smart as it should be in what pages should be rebuilt. For example, we're looking at the gatsbyjs.com page right here, but there are other data dependencies. This pure content. Like if you look at the nav bar, there's a whole bunch of items there.

[00:05:22] And we have this navbar bar on all of our pages, cause that's what a website has, but the problem with Gatsby today and will be changed in the future is. If I change anything about this nav bar, any page, that depends on the nav bar now has a dependency that needs to be invalidated.

[00:05:39] And so now I have a hundred thousand pages with this navbar I have 200,000 pages of this nav bar and I spelled Gastby instead of Gatsby or something, the navbar I made a typo and now I'm paying for. A hundred thousand pages of reload to rebuild. And so we just saw that and that this happens a lot, right?

[00:05:57] This is a very small example, but this happens a lot to our customers and building a hundred thousand pages is not necessarily easy thing to do. There's memory requirements that come in. There is, what kind of machine are you doing this thing on? And so we had to figure out a way to scale Gatsby and do things differently.

[00:06:15] We were traditionally static and now we're trying to be somewhere in between, you can go dynamic or you could go static and it's up to you.

[00:06:23] Incremental Builds

[00:06:23] swyx: So the new rendering options are SSG, DSG and SSR. Is ISR gone?

[00:06:32] Ward Peeters: Well, that's what Next.js has is doing. And I'm like, wait,

[00:06:36] swyx: we never have guessed.

[00:06:38] We had an incremental mode.

[00:06:41] Abhi Aiyer: What do you

[00:06:41] Ward Peeters: call it? Yes. And that's still all statically. So when we do it, we have it in open source where we in V3 we enabled it where we only build HTML what's necessary on cloud. We have a more pumped up version of it where When you get the data change, we only update that page more rapidly than in open source, but still when you change your navbar with what Abhi said, you still have to rebuild everything because all the pages get invalidated.

[00:07:09] So incremental builds works for data updates, but not so much for code changes.

[00:07:16] Cache Invalidation

[00:07:16] swyx: Right. Okay. Well, I guess, how do you solve cache invalidation?

[00:07:26] Ward Peeters: Well, the thing is that because Gatsby owns the data, like the heads of data layer and a source plugins like WordPress, when we source data and to give us a webhook or, we just go to Wordpress and say like, Hey, what has changed?

[00:07:40] Data. I was like, okay, these nodes have changed. Or these pieces, like a poster page has been changed. It gets me knows which node is used where, like, for example, this post is used on this section page. It's used in this article and that's all happening already behind the scenes because graph QL shenanigans.

[00:07:59] And that's how we can build incremental builds. So we know, okay. Only these spaces need to be built. And that's also where DSG comes in because as a user, you don't have to care about cache invalidation anymore. Cause it's using the same engine as you were used to with like incremental builds.

[00:08:15] When you use SSG and I think that's a major benefit of it, where you as a user, don't really have to care about cache control, because it is difficult to manage on a large scale. Like a lot of corporations just say like every 10 minutes we'll remove the cache because it is difficult to get through when change.

[00:08:37] Yeah.

[00:08:39] swyx: That's pretty funny. At Netlify, one of the reasons that we constantly talk about for CDN level caching, like people say like, you know, why don't you just enable CDN level caching and then just have a regular server render. One of Matt Billman points that he always makes is that people always turn it off the moment there's a bug, it's like, oh, schedule, call, and turn it off.

[00:09:02] And then don't turn it back on again.

[00:09:03] Gatsby DSG vs Netlify DPR

[00:09:03] swyx: Okay. So let's, let's talk about like, DSG. That's the fancy new one and DPR, right? So maybe we should, is there. Yeah, there's a graphic. Okay. All right. This is new. So first of all, like what was the inspiration? What's the backstory I'm always interested in how these things come about.

[00:09:21] Abhi Aiyer: I think we were inspired by DPR a lot, you know? But where we saw the benefit of our approach is our data layer, you know, and it took those many steps even before getting to DSG.

[00:09:35] Abandoning Redux for LMDB

[00:09:35] Abhi Aiyer: So it started actually in like Gatsby 3.10. We had to redo Gatsby's node store.

[00:09:42] So traditionally we were using Redux to persist all these the data that we get from content management systems. And we had a particular customer who could not even persist the cache, like a Gatsby cache between builds, because they had so much data that it would OOM when they try to persist the cache. Right.

[00:10:03] So for them, they were running cold builds for every build. Even if you had like a warm cache or you had your pods, you know, we use Kubernetes. So like, if you have your pods up, you're doing like an hour and a half cold build for everything. You could like change the typo and it'd be an hour and a half.

[00:10:19] And so from there we were like, We need to reduce peak memory utilization and Redux is not going to help us there. And so we started looking into alternatives. We looked at SQL Lite, we looked at Reddis and we landed on LMDB, which is, Lightning memory, mapped database manager.

[00:10:39] It's like a file system DB, which is really cool for us because one, it's pretty fast. It allows you to, to have like a query interface, which is good. You can store more data than available RAM. So for a site like this customer who pretty much is blowing up this pod on every warm build. To try to even have a warm build, we could actually store their data now, which then unlocked warm builds for them.

[00:11:05] So an hour and a half, that went to 25 minutes, which is pretty good for them. now we have this thing, now we call it Gatsby DB internally. And so now Gatsby is node store is in LMDB. And the cool thing about LMDB is it's just comprised of a bunch of files. You have a lock file and database files.

[00:11:26] And if you have files, that means you can move files around. They don't have to be in one place, right. They could be in storage, they can be in a serverless function. They could be anywhere you, you really want. Right. And so that was step one was we needed to redo the node store. And we did that and memory utilization from a lot of customers went down. Enough to unlock a simple thing as a warm build.

[00:11:50] Parallel Queries (PQR)

[00:11:50] Abhi Aiyer: So then the second thing that this, these other customers were having was like, wow, it takes so long to query, to run queries. Right. And people have like 25,000, 50,000 queries. And I don't know if they should have those that much, but they do.

[00:12:05] Right. They do have that much. And it's a huge part of the build time. Right. A lot of people complained that. You know, Gatsby builds are sometimes slow for large sites and we agree. That's totally true. And so our next foray into like improvement was this thing called parallel queries. Which would allow Gatsby to run chunks of queries at a given time and what PQR in his pool, a diagram of it, you know, query running does take a huge percentage of your builds.

[00:12:39] But now we can parallelize that across workers in the Gatsby process. But if you were to do this naively with Redux, like a child process can't write to a JavaScript object in the main process. Right. It's hard to maintain state. There's no easy way to communicate between workers to write state and read it.

[00:12:59] And so with LMDB in place, we have workers that can read and write to LMDB, which allows us to run parallel queries. Right. We don't need to do things serially, anymore. So PQR was a huge advancement for us. I think we saw up to like 40% reduction in query running time. And build times went down or we had like a goal, like I think it was like, we'd try to look for at least 20% reduction in build times.

[00:13:27] And I think we hit 26%, so all cool wins, you know?

[00:13:32] Gatsby DSG

[00:13:32] Abhi Aiyer: And so then Ward and I, and the team were all just like thinking like, okay, we have LMDB. We've got PQR. Alright, well really we have a Gatsby data layer that can be accessed from anywhere, right? Cause if you can access it from a worker, you can access it in a serverless function cloud run, you know, on your somewhere, anywhere you spin up your own machine and your own office, if you want it well

[00:13:56] swyx: steady coast.

[00:13:57] How about that? Like an S3

[00:14:00] Abhi Aiyer: bucket, you put it in an S3 bucket, for sure. You know, like you could put those files there and then retrieve them from wherever you want. And so that's when we started thinking like, okay, we have this information now, what can we do to improve the, the life of our users even more.

[00:14:19] And then we started thinking about DPR and like, we saw the approach and we were like, wow, this is exactly what we need, but we have Gatsby's data layer that kind of complicates things, but it's not complicated anymore because we can essentially use the data layer wherever we wants. So I'll let ward kind of go from there on like how DSG came about after these like fundamental pieces.

[00:14:42] Ward Peeters: Yeah. So then we looked at like ISR DPR and like what's the difference in both of them. And then we saw like ISR that's where you have a refresh timeout and an hour with, in the latest next, you can also being an endpoint to they're getting validated cache, but it's all manual work. And there were many complaints about it's an index.

[00:15:02] It's nothing in Gatsby and they complained about stale data, because what Next.js does is you visit the page and then the next time it will update. So I think it's a refresh or something. Yeah.

[00:15:15] swyx: Alright. Alright. We don't have to dig through issues on, on the, on our call, but I just wanted to illustrate the problem.

[00:15:24] Ward Peeters: Yeah.

[00:15:24] Netlify DPR vs Gatsby DSG

[00:15:24] Ward Peeters: And then that's where we took it away and then say, okay, DPR. And then I looked at the spec of DPR, like, okay. Can we use the same name or not? And the problem with DPR was they had Atomic deploys. So every change means blow the whole cache away and do everything new and we were like, what do we have incremental builds from there? We don't want to like invalidate the whole cache. We just want to invalidate the pages that got removed. And there's like a GitHub discussion about it, where I commented as well.

[00:15:55] And it felt like they didn't want to change the name. Yep. There you go.

[00:16:04] swyx: So you said to me, DPR, doesn't need to be opinionated about if the file is part of the atomic deploy. Can you reiterate why?

[00:16:13] Ward Peeters: Yeah, the thing is basically because they mentioned like everyday glory needs to blow the cache away and needs to be fresh.

[00:16:20] And for me, like it shouldn't be in a spec like DPR should just say you built pieces at build-time and you build those pieces at runtime. That's basically what I was trying to say. And then because we have incremental builds, we only want to invalidate like five pages, even if you use SSG or DSG, we still want to say if you only changed five pages for evil dates to cache for five pages, I couldn't get that from the spec.

[00:16:46] I think that's also because Netlify does it their way, which is totally fine, but then that's why we created a new acronym called DPR. And I think it's also probably explains. What we offer as well, a little bit better too, because it's Deferred Static Generation. It's like lazy SSG, something like that, because that's what we do.

[00:17:08] Like you can mark a page as defer and that just means we don't do it at build time, but the first time you hit a request. We rebuild it in like a Lambda, I could use Cloud Run, we build it and then we give the response to a user and then also we save it to disk. So from there on, the second request, it's technically an SSG page.

[00:17:29] We store it like you have the CDN cache, but we also have it inside our bucket. Like, your S3 buckets or whatever you want to call it.

[00:17:37] Abhi Aiyer: Yeah. We're caching responses, but we're also making that file exist as if it existed at build time. And that's a big distinction for us because what that allows us to do in the future would be like, if nothing changed about the data for the given page, then you don't need to DSG again.

[00:17:56] Right. Like if nothing changes for, let's say like there's five builds and build a. Something changed in your data dependencies. So now you have a DSG page and then nothing changed for the next five builds, but a user comes and actually visits that page generates the files. It gets cacheed in our data layer or our files storage layer and on build five because nothing changed.

[00:18:24] You're not DSGing. Right. You're not going to go through this process again. And so that's we think is the big thing about DSG.

[00:18:31] Yeah. And then I think the extra piece of it is because the date, like you can say it it's a benefit or or a negative point of Gatsby, like we source all the data at the build time.

[00:18:41] So even if your APIs go down, even with DSG, you still go to our local database. So debts will never go down. Cause if like your site is down, your database will be down as well, but you, you're not dependent of other API. So let's say GitHub goes down or X go down and you need to get that data. We have it locally in our database, so you're still good to go through, still keep that resilience.

[00:19:06] And the security even that you, you used to have with Gatsby, and I think that's a main benefit of the whole datalayer piece of Gatsby and DSG.

[00:19:17] Yeah.

[00:19:18] swyx: Yeah. Perfect.

[00:19:19] The End of Jamstack

[00:19:19] swyx: So something I always wonder about like, is this basically the last stage of JAMstack like, I feel like we have explored all possible varieties of rendering.

[00:19:30] And this is like the end. This is like, this is it right? Like we have all the options.

[00:19:34] Ward Peeters: And now it's mixing them together. It's the next step having been static and on bits of your thesis, SSR. Uh,

[00:19:43] swyx: okay. I'll put it this way. Do you think that JAMstack at the end of the day after this, maybe like five-year journey of like, Hey, like a WordPress sucks.

[00:19:53] That's everyone moves to static. Right. And then, and then we found like, oh yeah, static. Doesn't scale, big surprise. We were telling you that from the beginning. And now okay. Right. Hybrid. Is that it, like, it was that the Jamstack movement in like a five year period?

[00:20:10] Abhi Aiyer: I think it's a yes or no. Like evolution is like, I think we're, you know, we're all coming full circle and I think in engineering, particularly we do the same thing all the time, every 10 years or something. Right. But where DSG came into play is for use cases that we saw, you know, and our customers still prefer static.

[00:20:31] So I know we're talking about DSG. Like it's like a great thing and it is, but a lot of our customers prefer static and it's really up to their use case. If you're a small site out of a bunch of top of funnel page, any lag in anything, right? Cause DST is not like instant, right? Like you're doing a runtime build essentially.

[00:20:51] Right? So in some cases it could be, you know, it could, it could be a longer response time than what the standards should be. And we have customers that won't DSG anything because they have essentially, most pages are top of funnel or high traffic that they would rather just wait.They don't mind waiting for the performance that they would want.

[00:21:11] But we also have customers that have hundreds of thousands of pages, like there's one customer that has like a company handbook or something where like, you can see every employee. And like, if they like dogs and like, you know what I'm saying? Like, Bio's and stuff. And they have a lot of employees worldwide, and there, they can only like before DSG, they can only build their site once a week.

[00:21:33] Cause it takes like 24 hours to build. What, and now with DSG, they don't really care about someone who no, one's going to view their profile. No offense to that person, but no one's viewing the non CEO's profile. So then how they can, like, you know, and there are other people that are important too. I'm sure, but like now they can actually, you know, make changes to their site.

[00:21:55] You know, we actually had to work with them to make sure that, you know, they can build. I mean, previous to DSG, they can build like, at some cadence that we don't necessarily support, but we help support that. So, so just looking static is still king when it makes sense. For sure.

[00:22:12] Tradeoffs and Performance

[00:22:12] swyx: I feel like it's a bit scary when you tell people like, okay, you're deferring the build.

[00:22:16] And then on the first request, someone's going to build that. It's not going to take that long. Yeah. Right. It's not like it's that bad. I think bottom line is, I think people are very scared whenever you say, like, okay, there's a trade off, but you don't quantify the trade-offs. And then they're like, oh, it's bigger in their mind than it really is.

[00:22:37] Ward Peeters: Yeah, I think a big problem with the plugin ecosystem is that it's difficult to, to quantify like what's slow and what's not slow. For example, generating an MDX page is more time-consuming because it has to like get some dependencies make sure that they have bundled together, then use react to render and then render again because it's how the Gatsby plugin, is built right now that takes more time than a simple React renderToString with something.

[00:23:07] And I think that's the difficult thing to say like, okay, it's some pages will be instant. Some pages might take a second to build or we'll half a second.

[00:23:18] swyx: Yeah. The important thing is that there are not data dependencies that you're waiting on. Right. That's usually the slowest part fetch all the data upfront and then you store it in a LMDB cache.

[00:23:28] And that's written to a serverless function or written to I guess your build process or whatever. And then people can render that whenever which I think is great. Like, it should be fairly fast, like we're talking tens of milliseconds difference between like for first render, right?

[00:23:44] Like something like that. Like I think, I think when you quantify, like, okay, we're talking tens of milliseconds, not hundreds of milliseconds and not thousands of seconds that really helps me with. Put these things in perspective.

[00:23:56] Abhi Aiyer: Yeah. But then, you know, people always find a way to screw it up. So say that like, of

[00:24:01] swyx: course.

[00:24:01] Yeah. But, but you give a realistic benchmark and then you go like, yeah, for these benchmarks, we tested it like a hundred times or something. The median was this, the P 95 was that. That's it like, I mean, people can't really fault you for not accounting for every use case because no one, no one can, but at least you can give a reasonable basis and say like,

[00:24:22] Abhi Aiyer: there's,

[00:24:23] swyx: there's an up, there's an upper bound to you know, how bad, how the, the, the trade-off like, you know, when, whenever you miss channels, I like to quantify it basically.

[00:24:32] Um, that's a good, that's a good idea.

[00:24:34] Image Processing

[00:24:34] Abhi Aiyer: And like, one thing to know for DSG is like, your data may be like available and that's cool that that may not be the long pole, but let's say you have a portfolio site that generates 20 different types of images for every image. Now you're getting into image processing at runtime, you know?

[00:24:54] And so there, there are ways to kind of not do this properly. Right. And or like, for example, let's say your homepage, I love this example. Your homepage has links like to every other page on your site,and it's all DSG, right? So you load the homepage and because Gatsby does prefetch for link tags are doing Gatsby link to other pages.

[00:25:17] We go and prefetch every page on your site. And essentially you're doing your build at runtime. So we're going to try to prevent these cases from happening, but just natively going through DSG everything is not my recommendation. That's for sure.

[00:25:32] Not today. At least not today.

[00:25:35] swyx: so a couple of things on that. So, this Gatsby image point is very interesting. So how does Gatsby image work with DSG?

[00:25:42] Abhi Aiyer: So yeah it works how it does it in Gatsby build. currently today Gatsby uses Gatsby-plugin-sharp and the sharp transformers to take one image, turn it into another.

[00:25:54] And even in Gatsby cloud, before we implemented parallel image processing, images were like the slowest part of the Gatsby build because a lot of time, a lot of memory, et cetera. And so we solved that problem. And so in the DSG runtime, we do image processing there for a particular page.

[00:26:15] So you will have to wait for image processing. If you're image heavy on a DSG page.

[00:26:21] swyx: Which I mean, does that mean that you cannot do a DSG in a serverless function?

[00:26:26] Abhi Aiyer: In a total? We do. We actually do DSG in serverless. And that's totally fine. Like you can do image processing, you know? But like, I would say your mileage may vary given what kind of transformations you have going on, how many images you have, right.

[00:26:42] But like you said, there's, trade-offs right. If the page makes sense for it, you know, we have a bunch of examples that do have images and they work great, you know? But I don't know if I go full on portfolio with like a, you know, like a masonry thing where like, there's like tons of images and they have sub images and you have to go, like, I'll be like a carousel of images and stuff that may not be good for your.

[00:27:06] I don't know, but the choices, the users, that's, what we're trying to get at is like, we're trying to give as many options. We're going to give guidance and like we're having our own opinions, but you, you can choose to listen or not, or, you know, do your own thing and we should try to support you as much as we can.

[00:27:25] Automatic DSG

[00:27:25] swyx: Yeah, you give me some thought about like, having sort of like a browsers list type of API where you can say like, okay, top 100 most visited pages. No, this is not it. You know what I mean? Like, as a handholding for what should be DSG and what should be statically generated you know, plug into my Google analytics, tell me like top hundred pages statically render those, everything else, DSG.

[00:27:48] I'm sure you've thought about it. And I think like maybe four years ago, Gatsby and Guess.js had someone in collaboration, which I assume went nowhere. But let me know if there's.

[00:27:59] Ward Peeters: Uh, okay.

[00:28:02] For now. Yeah, because there is a new way to do it because now greet guests, it stored everything in one file. So we have to like sometimes download a five megabyte Jason file to make guess.js work. Mondays switching around that you could make, get smarter to say like a guess for this route. You only need the bit of the JSON file. But we never implemented it. So,

[00:28:26] Abhi Aiyer: yeah. And we have this, so I'm speaking from the Gatsby cloud perspective, but like you're right, Shawn. Like, if you can hook into Google analytics, you'll get the same thing.

[00:28:36] But if you host with Gatsby cloud, we know what, what routes coming through our hosting layer. We know what routes for your site. Are the most hit, you know, we know the requests per route. I mean, how much bandwidth you're using, like per route. And so we could be smarter and tell people exactly how. How to DSG, right? How should you DSG and get it done that way, for sure.

[00:29:04] swyx: Okay. So like a, to be, to be complete, uh, typical to be

[00:29:08] Abhi Aiyer: complete, you know, we're still in beta forgets before, so I would say like, maybe like after we launched for, for sure, we'll start adding some sugar on.

[00:29:17] swyx: Got it. So first of all I did, so this was my first time trying out Gatsby Cloud. I, I think it was behind like a signup wall, like a private beta in the past. And I never really gave it a spin, but again, you know, the V4 announcement really got me going and And yeah. I mean, I'm pretty impressed.

[00:29:33] Gatsby Cloud vs Netlify

[00:29:33] swyx: So how much of this, you know, the hard question, right? How much of this is a Netlify clone, what are you doing differently?

[00:29:40] Abhi Aiyer: Let's talking about that. How much does like DSG is

[00:29:45] swyx: how much of Gatsby Cloud? Isn't it

[00:29:48] Abhi Aiyer: like? 0%. Ooh, okay. Yeah. Probably 0% of it is a Netlify clone.

[00:29:56] swyx: I do like when you provision it, it gives me like a really good set of options. Uh, let's see, uh, you know, connect CMS guests. Netlify does not have that.

[00:30:07] Abhi Aiyer: Yeah. I mean, I would, yeah. We're far from an elephant clone Mo multiple weeks. We've built our whole system based on the needs of Gatsby. The way our cloud front end and our back ends talk to our customers, Gatsby Sites is a novel way of doing it. We've exposed that in open source and I think Netlify actually did implement something for external jobs or something with Google pub sub I, I saw that, but everything we do in Gatsby cloud is for Gatsby. We have no other framework that we need to maintain nor care about, sorry. Luke's or whatever. Like we don't care about that. On Gatsby cloud, we've optimized our hosting layer with Fastly to be part of the data. And so if Gatsby changes, Gatsby cloud changes, and if we need to get to be framework to change, it will for Gatsby cloud. So, and we use Google cloud, so we're not on AWS.

[00:31:09] I would say we have the similar features though, and that's a valid point to bring out.

[00:31:13] We have, we have functions, right.

[00:31:15] We have domains and we don't have a purchasing domains or anything yet, but you know, we have the whole hosting product and everything like that. Yeah.

[00:31:27] swyx: Is that, is that what you would need for Gatsby Cloud to come out of beta? Like. Domains or like what, what, what are you waiting

[00:31:35] Abhi Aiyer: for essentially? Well, Gatsby cloud isn't in beta.

[00:31:38] It's like a

[00:31:38] Oh Gatsby v4

[00:31:40] swyx: is in beta

[00:31:41] Abhi Aiyer: yeah. V4 it's in beta. Yeah. Sorry. Yeah. Yeah, domain like domain registry and all that stuff is more sugar on top that we'll be probably releasing mid next year. But we're just trying to be I mean, Gatsby cloud, from that perspective, we just want to be at the table with all the other JAMstack providers.

[00:31:59] But our edge is if you want to build a Gatsby site the best way, you know, you have our support team, that'll help you. Right. As a customer of ours, you're like our family. The Gatsby family, you know, we're, we'll help. We help our customers. We have great support and everything we do on the platform is for Gatsby and making Gatsby better.

[00:32:18] So there's like so many things in the framework that we've improved by having Gatsby cloud. Cause we didn't know all the sites that could exist and not do things nicely or have problems or, you know, because of Gatsby cloud that the framework is getting so much better because we have real users feedback and they have a lot of demands and we like to, you know, fulfill them. Yeah.

[00:32:41] swyx: Okay. Actually I should probably clarify this earlier. How much of what we just talked about is Gatsby Cloud-only?

[00:32:48] Abhi Aiyer: Pretty much all of it, DSG, SSR, they're all capable, you know, you can run it locally and stuff. And I know Netlify has a Gatsby plugin as well that will allow you to run DSG and SSR as well.

[00:33:03] For those who are not using those platforms, it's like maybe you're using Amplify or whatever. You're going to have to implement this yourself. I don't recommend it though, because it was a pain in the ass to put it together. But yeah, it should work the best on Gatsby cloud.

[00:33:19] Ward Peeters: So technically all of that we building with v4 is in open source.

[00:33:22] So you could wire it up all yourself, but why bother if you can use, like Gatsby Cloud. Yeah, you don't have to care about it.

[00:33:34] Gatsby vs Next.js

[00:33:34] swyx: That's true. Okay. So, just on the rendering side of things, right? I made this observation that, Gatsby now has SSR, now has serverless rendering. All the different rendering modes, like this looks very similar to next JS.

[00:33:48] Is it possible to basically say like, okay, Gatsby is the data layer and is this the best data layer and most advanced or whatever, because this is basically what Next.js does, right? Like it's a very, very constrained rendering layer. Why can't you, I mean, you know, sunk costs aside. Why can't you be a next JS layer?

[00:34:08] Ward Peeters: Well, technically we could now, because they like implemented everything too, like they have SSG, they have ISR, they have SSR and we could technically move the data layer out of, and use it with next. That could be a possibility, but. We've been, we've come so far and I think do already have built this.

[00:34:31] And then now they're also parity. I think having two separate ones and having different dev experience, and maybe Next.js is winning now and Gatsby will a win in, in two months or vice versa. I think it's just a healthy balance. Like it's and I think it's the same thing as a browser wars, like everyone is going to Chrome or chromium and then there is still like, Firefox and iOS, but how long will they survive?

[00:34:58] And I think just the competition is what you need. And I think that's why a good reason why we keep separate. And also, I don't think that Next.js is for like, merging with Gatsby or like having the like the same.

[00:35:13] swyx: Oh, I think I know Next.js, it be super happy about it, because then they, when they, when the server for reacts you know, role, and then you focus on the data role, right?

[00:35:22] Like, uh, Makes sense to me, obviously I'm brushing over a lot of the plugins actually have a rendering portion as well. So how much can you separate those things

[00:35:33] Abhi Aiyer: if in the next. No, this is possible. I don't, I mean, we're not going to like say that it's happening or anything.

[00:35:41] Gatsby and the Content Mesh

[00:35:41] Abhi Aiyer: Like if we look at Gatsby's like, this is how it's set up.

[00:35:45] It's, it's what we call the content mesh. You have all these different data warehouses that exist. WordPress Drupal, et cetera, can even be a freaking Google Sheets. You know, like whatever, and we assemble this data layer at build time. And in doing DSG and SSR, we build something called the query engine that allows you to query this LMD B store that has like the manifested data in there.

[00:36:13] So. It really opens up the gate for yeah. If you want to use our data layer in a Next.js app, like, I mean, go ahead. Like once we expose this API to our customers then you can essentially have Gatsby data in an iOS app or an Android app react native. Like, it's just an API call at that point. And you know, Gatsby cloud hosts, like a graphical API for you that you can just query your data.

[00:36:38] I don't know if any data scientists would care for that. They could add that into Looker or something. You know, like I remember they want to do it like that stuff would be available and it's almost like a content data lake versus, you know, traditional data lake I guess. It's purely for content and you would have the benefits of Gatsby because we normalize and we create structures and you like, the user can customize a schema, however you want.

[00:37:05] And then now you can use it on multiple platforms, right? It's not an immediate goal for us to do so. It's a logical next step. Yeah. Yeah.

[00:37:15] swyx: Awesome. Awesome. Cool. Yeah, I, I feel like that's a really good and in depth coverage.

[00:37:19] React 18 and Gatsby

[00:37:19] swyx: Maybe let's end off with talking about the future of React 18 and your plans there. First of all, what's happening in react 18. Is it out? Like the plan for the react 18 and published in June? Okay. All right. Let's talk about it. What's what's going on?

[00:37:35] Ward Peeters: So, yeah, so we are working closely with the React team and we also in the working group to figure out like, okay, how can we help the team, make it more stable and give it in user hands.

[00:37:46] So I think from may or something, we have introduced React 18 as part of Gatsby. So you can now install React 18 alpha. And we just moved to the new rendering mode. So the async mode suspense and all those things were. Like what, what we're planning on, at least when you use Gatsby, like we have page queries and we have static queries and there's a big pain point is static queries, cause it's a graph QL query, but you cannot have any variables, which means you're kind of limited to the unit. And then you have to move everything to page queries going to have to know all the content up front and wait the new async rendering bits of React to get into like a useQuery, because you can yield the rendering of React at any time.

[00:38:34] Cause async doesn't mean you have to go like, uh, use Apollo Server to get server data tree or something or other pieces, or you kind of have two have React async mode or React Suspense in SSR and we can all move it to the page components or the components of your reactor. So basically look that you're just recreating an react application and then every async bit like using react-fetch or a useQuery, it all just works.

[00:39:02] I think that's where, where we activate in benefits a lot where it's. It just removes a lot of cruft or that you have to do now. It gets you where you have to be in the Gatsby mindset when you're developing and, and you basically go to a, creating a react app and you have a data layer, but I think React 18 opens so many doors with the new cache APIs. It just becomes way smarter and when you look at it from a performance perspective with the whole concurrent mode where inputs gets priority over rendering, it's just going to be way smoother than what they had so far.

[00:39:39] Abhi Aiyer: And hopefully people stop complaining about lighthouse scores and stuff. That'll be great.

[00:39:45] Custom rendering page fragments with React 18

[00:39:45] Abhi Aiyer: Another cool thing that React 18 kind of unlocked for Gatsby in particular is a concept of fragments. And so we were talking about that nav bar example earlier with the a hundred thousand pages. And we want to leverage react 18 with like custom renderers so that we can essentially create fragments of a page that had beta dependent.

[00:40:07] Because there's no page query or static query anymore. That's just a query. Your navbar component has a query and essentially Gatsby can make that nap bar a navbar fragment and your body has a fragment, or maybe your footer has a fragment. Your sidebar has a fragment. And as data changes incrementally, we only rebuild fragments and our hosting layer, stitches, fragments together. This is an old concept called ESI includes like if everyone did PHP back in the day, like, you know, very familiar with this stuff, like I said, every 10 years, things has come back around and we're going to try to do that. We're going to try to build fragments of pages, stitch them together. So a navbar change doesn't break the bank, you know? But we can only do that once react 18. It's like, you know, fully there. I mean, we could do it now, but like why, when we should just like work off the, the, the work of others.

[00:41:02] swyx: So when you say fragments, are you referring to GraphQL Fragments or, or like

[00:41:06] Abhi Aiyer: Asian fragment might be a, maybe we call it like, you know, today, like an HTML page that has specific.

[00:41:13] You know, I like to call him like the rectangles that we all draw around are our websites. Right. They all have independent data isolation. Right. And so these are like what maybe a Gatsby slice of a page or a fragment or some type of include, you know, like in the templating days. Right. And that's what I kind of mean there.

[00:41:31] So these includes or templates or whatever you want to call them would be independently built. And then independently stitched at the cache layer. And then, you know, the data dependencies don't cross, and now I'm not building a hundred thousand pages because I misspelled Gasby and it should've been, you know,

[00:41:51] swyx: sounds like it happens a lot,

[00:41:54] Abhi Aiyer: but definitely those,

[00:41:56] Ward Peeters: and it looks a lot like donut caching.

[00:41:58] If you're more familiar with that piece, like you have a page where I said parks has a different. Limit and another one. So that's more or less the technical piece out of

[00:42:10] Server Components in Limbo

[00:42:10] swyx: a server components. Anything on any implications on that forgets me?

[00:42:15] Ward Peeters: Not yet. I would say because they're not going to ship it with react 18.

[00:42:19] We've been talking about it, but it's still very fresh or very new, like even the React team hasn't, hasn't worked more on it, so they did their demo, but then it's got like a little bit

[00:42:31] swyx: stagnated. Oh my God.

[00:42:37] Ward Peeters: All the pieces. Like they need to build all the pieces underneath it to make it work.

[00:42:45] swyx: They jumped, they jumped the gun, maybe in announcing I got so excited. I was like, wow. Okay. I can cut my Javascript bundle by 40% and run backend functions in my react component. And then nothing, nothing for 10 months,

[00:43:01] Ward Peeters: because we are super excited about it too. Because when you look at especially marketing sites, like marketing pages or blogs, there's only a small piece of JavaScript that you actually need.

[00:43:13] Like maybe you need a bit for your newsletter button or you like something like that. And why. 200 kilobytes of JavaScript could bring technically only need maybe 10, 20 kilobytes. So I think it's static or with like marketing pages. Uh,

[00:43:33] Smart Servers vs Smart Clients

[00:43:33] Abhi Aiyer: yeah, so the world was server rendered. Then we went client side rendered. Then we went static rendered. Now we're DSG rendered, and then we're going to go back to server run. So, you know, time just keeps spinning. Partially server.

[00:43:47] swyx: I called it smart server versus smart clients is my term for it. So this is the, I think maybe my, my most recent posts, because I have been trying to write more, but then I keep have having real life get in the way.

[00:44:01] But why is traditional, which is server rendered, different from the new server rendered. We have essentially is essentially exactly the same, but there's a thin runtime, which I'll ship the stuff that we send over the wires changes. And we actually doing rendering in the browser, but like partial rendering, maybe I should say.

[00:44:20] And yeah. I dunno. I think, I think this is a very interesting exploration. Phoenix live view is also the other one that, that gets a lot of love for this. And then rails is also adopting Hotwire. So, I don't know where this goes. I mean, I, I it's, it seems like we fully explored the smart client space and the smart server revolution is just kind of get, getting going.

[00:44:41] Ward Peeters: We're going back to Meteor.

[00:44:44] swyx: Back to meteor, but not so opinionated, I think, you know, I was very excited about meteor. Like when I, when I first started as a web dev, I was like, oh yeah. Okay. Everything is in there. I actually mentioned Meteor here because it had the mini Mongo data store, which was I thought it was just such a great experience.

[00:44:59] Did you use.

[00:45:02] Abhi Aiyer: Oh, both my last company, we used meteor for our backend, and then we had to kind of migrate slowly off of it. Cause they were just ahead of their time. You know, now all those concepts. Those are like, those are the concepts of today. Right. And that's the beautiful thing they were

[00:45:19] swyx: just ahead of their time.

[00:45:21] Apollo and Open Source Startup Strategy

[00:45:21] swyx: I mean, you know, what they did was they became Apollo. They were just like, oh no, one's no, one's handling all the hard parts of GraphQL. Well,

[00:45:29] Abhi Aiyer: okay. We'll do it. Yeah, good job of that too,

[00:45:33] swyx: which is by the way, like in terms of just honestly, I'm interested in startups, entrepreneurship, uh, you know, we worked so hard in web dev stuff.

[00:45:41] A lot of this, we never charge a cent for and something I would like to make money on the smart things that we do in tech.

[00:45:47] Taking an under specified spec, which most of the times is intentionally under specified, and then building all the hard parts around it, is a very interesting formula for success.

[00:45:58] So essentially React and under specified framework and Next.js came in and went like, oh, okay, well, we'll build the get initial props that you guys forgot. And great, very successful Gatsby, same thing. And then Apollo and Relay by the way, but, but relay was not a serious company, a company effort.

[00:46:19] I mean, Relay is a serious effort. It's not a startup that was like existentially relying on like, uh unsuccess. Whereas was Apollo was like, okay, GraphQL was under specified. There's a reference JS implementation, but no one's building the production quality standard. We'll do it. And then, and yeah, like it's really interesting. Cause as the spec grows or as adoption of the thing grows, you're you grow with it and, you serve the audience and you also capture a lot of the value and you essentially have Facebook working for you in the sense of like, oh, there's the spec maintainers, you know, whatever, whatever the spec is, they're working for you because every time they contribute to the spec, you.

[00:47:06] TMA: Too Many Acronyms

[00:47:06] Abhi Aiyer: Yeah, maybe that's what the what's going to happen with DPR. Right?

[00:47:10] swyx: The naming socks, too many, three letter acronyms. I'm sure. Like, look like you and I, and everyone in like the WebDev, like Twitter sphere or whatever, we don't mind new things and like understanding the differences in nuances, but anyone who is like just a regular web dev or just like not web dev, but talking to web devs, they think we're crazy.

[00:47:36] This is actually bad. Like it, we look like the nerds, uh, who. Talking about all these minor differences and inventing new acronyms for them. I don't know how to fix it. Jargon is important for specialists to understand in a very short amount of time, the differences between what we referring to. Jargon is important, but we don't do ourselves, our industry a favor when we have all these acronyms and then people just throw them on onto a page or a blogpost or a slide deck.

[00:48:05] And then. People would just go like, okay. Yeah, the JS ecosystem

[00:48:09] Abhi Aiyer: is crazy. And you ended up explaining the same thing all the time. Right? Cause you use some acronym. It was funny, like on the way to Gatsby camp, like we had, like all of our release had all of the releases and gas before had the acronym. Yeah, like PQR parallel query, running DSE, SSR, SSG, man.

[00:48:26] We were like trying to figure it out. How many more acronyms can we fit to, to get like the, the acronym count up, but it's a serious problem for us too, because our, some of our customers have never used Gatsby before they're coming from a WordPress full on WordPress background and our sales team marketing, we all need to be able to convey like, yeah, this is what it really is.

[00:48:45] And this is what it means. And maybe. The acronym sticks after they understand it, but that's a really uphill battle to explain right on the way. So I would love if a community we all got together and like, kind of just understood it. You know, it's kind of like the GraphQL spec have a formal definition for what this is.

[00:49:02] Don't be too heavy handed on approach, let people implement however they want to. And then there's just a concept that has different flavors. Yeah. Oh, it's different

[00:49:14] swyx: flavors. Okay. That'd be interesting.

[00:49:16] Gatsby for Docs

[00:49:16] swyx: Is there anything else that we haven't covered that you wanted to shout out?

[00:49:21] Abhi Aiyer: This is fun. I really enjoyed talking to you too.

[00:49:24] swyx: Yeah, I love, uh, I love catching up. Um, uh, Fun fact, we're actually at my workplace. We use Docusaurus right now for our docs. We're actually considering moving to Gatsby.

[00:49:35] Nice. Not something I thought I would do this year, but we're, we're running into enough limitations to Docusaurus that we're essentially customizing so much that we don't get much benefit anymore. So maybe a good standard docs implementation. It would be interesting for you guys actually, because a lot of the reason that people pick Docusaurus is basically it has docs in the name and it's got a lot of good defaults for docs, right?

[00:50:04] And Gatsby, maybe it doesn't have such a developed theme for docs.

[00:50:07] Ward Peeters: We've mostly pushed people to the Apollo team. Like they have a great, like the whole Apolo site is, or docs site is built with Gatsby and a open source. The building blocks up there. So, or you could start from there and then, oh

[00:50:20] Abhi Aiyer: yeah.

[00:50:23] New Relic is with Gatsby and they're working on something similar too.

[00:50:30] swyx: Awesome. Awesome. Yeah. All right. Cool. Well thanks for those pointers. I'm actually going to go explore them.

[00:50:38] Abhi Aiyer: Yeah. If you need any help. Yeah, we'll do.

[00:50:41] swyx: And there's no reason why we shouldn't move to Gatsby cloud, if that makes sense for us as well. Okay. Okay.

[00:50:47] Ward and Abhi,thanks so much, and this is really great chatting, thanks for reaching out. And, yeah, I hope

[00:50:52] Abhi Aiyer: people would try out Gatsby.

[00:50:54] Thanks for having us.

View Details

  • Lion King Medley: https://www.youtube.com/watch?v=iH66hZIPVjk
  • From Now On: https://www.youtube.com/watch?v=ruCl8X-xWPA
  • https://www.musicalityvocal.com/
  • If you like the Greatest Showman also check out their cover of This Is Me

View Details

2015: https://www.youtube.com/watch?v=HmrDjvv_ENQ
2018: https://www.youtube.com/watch?v=XcqloQezOUg
GitLab IPOed for $15b valuation today.

View Details

Listen to a16z live: https://a16z-live.simplecast.com/episodes/one-on-one-with-a-and-z-11-how-much-rare-knowledge-is-there-4aF0UbP7

  • rarely wrong just early
  • pets.com, diapers.com
  • hadoop -> databricks
  • Nycira -> central control plane - 2b revenue company
  • rare knowledge - what do you believe that nobody else believes
  • 2 kinds - super secret, or in plain sight
  • airbnb - history of hotels
  • new ideas nobody else has
  • take seriously things that nobody else believes
  • history gets rewritten to be both obvious and inevitable
  • bill gates the road ahead

Transcript

[00:00:00] Hey everyone today, I'm sharing a clip from the Andreessen Horowitz podcast from both Marc Andreessen and Ben Horowitz. Which is them talking about rare knowledge basically the secrets that you believe that no one else does as well as how to develop a view of the future which is important obviously for vcs but i think generally important as well

[00:00:19] Marc Andreesen: How much rare knowledge is there in the world in your experience or concretely, how often does it happen that there are less than 10 people you can think of? No. I could do something and you'd be skeptical you can find anybody else that can, and then a huge, no asks. How can I develop a view for the future, which I think is actually a very related question.

[00:00:38] Ben Horowitz: So way more than you would think. There's a lot of very knowledge and, mark and I like experienced this on our job. Every single day. There's just, the world is really dynamic. Now, in fact, it's probably never been more dynamic, I think, by any measure. And so what we see all the time is the old conventional wisdom just ceases to be true.

[00:01:02] And we've seen this here. One of our favorite examples is just. All the dot bombs that everybody made, hysterical fun of during the early two thousands, all the idiotic ridiculous, stupid ideas that people had for the future, which were just so obviously. All eventually worked. And and it was a matter of the underpinnings of the internet and other things changing to the point where those really bad ideas, Pets.com or diapers.com or any of these kinds of things, they all work fantastically later, as world changed. And that all was super rare knowledge because the conventional knowledge was of course, those things are all the stupidest things ever, and you'd have to be some kind of moron to leave your high-paying consulting job to do that.

[00:01:54] But we continually see this and in the firm, we even have kind of a rule. Which is, if you know too much about something you got to back off, because you know what, particularly, if historically what did not work that can be dangerous knowledge in our business because you can miss it the next time when it actually does work.

[00:02:14] And w we just hit all the time on. Favorite investments that I've made was it was common knowledge in Silicon valley that Hadoop had one big data, like architecturally, like that was the thing. It had one open source that had hearts and minds, blah, blah, blah. It was going to be the.

[00:02:30] And I think, probably the best, for sure one of the best investments I ever made was that wasn't true. And so it's just like a small piece of rare investing knowledge, but a big piece of rare knowledge for the entrepreneurs who invented spark. And then, later turned that into Databricks.

[00:02:46] Marc Andreesen: Yeah. Ben, do you remember? So for we invested in a company called Nycira early on in the life of the firm, like nine, 2010. And then do you remember the we shouldn't name him, but we had a meeting with a a I believe the CTO of one of the really big networking companies at the time in our diligence literally said it was

[00:03:01] Ben Horowitz: against the laws of physics.

[00:03:02] It wasn't possible. They had already like steady. At length this very large, important networking company and you could not have a central control plane and the way that the Sierra proposed to do. And of course, now in the Sierra inside, VMware is like a $2 billion a year revenue.

[00:03:21] Marc Andreesen: Yup. Yup. And then of course, a classic essence on the consumer side of course, is that everybody knew right up until 2004, that consumers would never put their real identities online. That was the one thing that would never happen. Never. And then of course Facebook like completely blew that open.

[00:03:32] So the twist that I want, there's a couple of twists that I wanted to put on. This are circuit aspects of this very important question that I want it to get a little deeper into. For those of you who like, think about these things you will have, some of you will have at least read Peter Teal's kind of famous book zero to one, he talks a lot in that book about, what he calls the secret, which is this idea of the were knowledge that other people don't use. And then he has this famous question that he asks he had kind of dinner parties where he asked this question of what, what is the thing that, that nobody else knows. Or he asks a, there's a sort of a related verse and the question is just, what do you believe that nobody else believes?

[00:04:03] And of course what's interesting is those are not necessarily the same thing. And then on top of that there's this question of okay, it's the rare knowledge, something that is actually not known. Like it's actually a piece of information that's like invisible. And so for example, rare knowledge, let's take a hypothetical case, rare knowledge of a chemical.

[00:04:20] That has been invented in a lab and only the people who worked in that lab know that formula exists and only they know what the formula is, right. Or maybe the formula for KFC seasoning might be something that's, a formula it's literally locked

[00:04:34] Ben Horowitz: 11 herbs and spices, but we do not know what they are.

[00:04:38] Marc Andreesen: We do not know which one. So there's literally the rare knowledge is any knowledge, literally like you can't get to it. There's this other kind of rare knowledge which goes to the second version of Peter's question of what do you believe that nobody else believes her fear that people believe, which is like the rare knowledge of something that is actually like a fact that is actually completely like, basically in, in public view.

[00:04:59] It's like a thing that anybody can walk up to or learn about or read about, or read on the internet and tout, or read an academic paper about or whatever. But it's just people just simply don't believe it. Like they just don't buy it. Like they're not having it.

[00:05:11] They just, they, they found some reason to rule it out, by the way, they're often a ridiculing it. And so Ben, the question I always think about on this is. How many of the secrets, right? Or how much of the rare knowledge in the world, how much of it is literally the 11 herbs and spices that you can't go find out versus how much of it is the thing that's there in plain sight that everybody's just making fun of?

[00:05:30] Yeah. The

[00:05:30] Ben Horowitz: plane tech definitely seems much bigger. At least in, in artwork we see many more of the plain sight ones. One of my favorites was Airbnb, which had a kind of thing that was a little bit of a secret formula and that. Just discovered there was a lot more demand for running your mattress.

[00:05:45] As I started out than one would have thought, particularly if there was a big design conference in San Francisco, but the other one that was really in plain sight was what was the history of hotels. And anybody could have known the history of hotels. Like when did hotels start?

[00:06:00] They started a hundred years. But nobody really knew that who knows that nobody knows that. But they studied that after they found that out and I'm like why did hotels come about? Why weren't they around before? And it turned out that, there were before that there were Inns in bed and breakfast.

[00:06:13] But quality would vary a lot and you couldn't really create a brand. There was no national media. There were, there the way there was at the turn of the previous century. And so that, that national media enabled you to create a national brand and and build this kind of common, known quantity, quality nationwide, but of course, Once you knew that you'd go, oh, now we have the internet.

[00:06:37] So we don't need a brand. We can just rate every room, every light, bedroom, every house, every tree house, every everything. So everybody knows the quality of anything that they're staying. And then all of a sudden you've got this amazing idea for a new kind of

[00:06:52] Marc Andreesen: Yeah. And in fact, many of you think about it, like the idea of Airbnb was in the Bible Joseph, and Mary, they stay in the manger, that worked out pretty well for them.

[00:07:01] It's I was thinking back it's every, every little kid, at least in Western culture is here's that story. Cause it's, it's right there with Christmas.

[00:07:06] Ben Horowitz: It's universally known

[00:07:07] Marc Andreesen: in Western and yet it's yeah, no, th whenever we started this idea of people staying sort of houses, which is horrifying so it was like quite, quite literally in plain sight.

[00:07:16] Ben Horowitz: Yeah. Yeah no, for sure. But I think that, that and, that's the, to me, that's the exciting thing, particularly if you're a young person getting into the workforce or what have you there are all kinds of secrets running around everywhere, and then there's this, it's actually one of the great things.

[00:07:32] One of the great things, maybe the only great thing about this kind of mob mentality, cancel culture thing that we have going on. The conventional wisdom is so aggressive now that if you go against it you are likely the only one. And then you've got an amazing invention that can change the world.

[00:07:49] It's, it is a, it's a great time to be an entrepreneur in this.

[00:07:54] Marc Andreesen: Yeah. And then this goes to the second question. Why I paired the questions? Second question was, how can I develop a view for the future? And the way I think about this is there's basically two ways to develop a view for the future, that flow right out of what we just talked about.

[00:08:05] So one is like trying to come up with ideas that nobody else has. So try to come up with a unique viewpoint of like literally new ideas. And of course that's hard. The other is just right. Takes really smart to do that. Yes. Yes. A small number of people can do that. Most of us can't do that.

[00:08:20] The the, but the other way to do it is, quite literally believe things that other people aren't willing to believe, or equivalently take seriously things that other people aren't willing to take. I, And I think that's probably the most underrated approach for people who really want to have an open mind and a view of the future that actually gives them an advantage.

[00:08:35] Ben Horowitz: Yeah. I totally agree with that. And that's true for like even small innovations, like how you organize your company or, how you run a certain kind of program. If you do the opposite of what everybody in the industry is doing, you might come across something that's.

[00:08:48] Marc Andreesen: Yeah. And then, that's the other thing, right?

[00:08:50] The other thing that happens as revisionist history, and we've got to, actually, the next question is about history, but all history is revisionist. All history is revisionists, right? Generally what happens when a new, when I knew it, when a new idea actually wins, right? When a new idea actually takes root and becomes conventional wisdom, sort of history gets rewritten so that everybody knew it was obvious the whole time.

[00:09:09] Yeah. Actually interestingly, both obvious and inevitable, right? And but if you were there at the time where you actually get the true history of it, what you realize is actually that very much, that's not the case. The history just gets written by people who are basically covering from their own mistake.

[00:09:22] Ben Horowitz: One of the most shocking pieces of technology history on that to me is always the internet because everybody like talks about it. Of course it was always going to be the internet. But you recall, like even after Netscape started. And was like pretty far along and got the venture funding and, you had invented the browser and all these things like the conventional wisdom was like, no, it's absolutely not going to be the internet.

[00:09:45] It's going to be information super highway and the Internet's insecure and it's a bunch of, it's an academic network and there's just a bunch of weirdos on it and blah, blah, blah, blah, blah, blah, blah. And now nobody would admit to that. And my favorite part of that is bill gates. When he wrote the road ahead and the first edition, he didn't even mention the internet.

[00:10:01] He wrote a book about the future in 1990. That did not mention the internet, not once. And then he revised it. Of course, then, swap the internet and everywhere where he had information super highway. So the ultimate revisionist, like the literal revisionist history on that one.

[00:10:20] Hey, it's me again. So just to recap, some of the lessons learned Nicholas, I took notes. Um, basically there's a constant theme of in the injuries in the camp that most ideas, most startup ideas are rarely raw, wrong just early so that they raised a few examples. I think they raised four examples. This is pretty good.

[00:10:38] pets.com diapers.com from the first internet rush, uh, basically became. Uh, Legitimate startups. And in the early 2010s and then, uh, Hadoop and Databricks and NYSERDA, which, uh, was Martin Casados startup. Which, uh, they dropped a really interesting stat where they said that it actually makes $2 billion in revenue internally within VMware, which is a huge, huge, huge,

[00:11:05] Um, I, I did not expect that coming out and they, Sarah. They also broke down rare knowledge, which is what do you believe that nobody else believes? And into two kinds, either it's super secret like the KFC formula or it's hidden in plain sight. And that example was linked to Airbnb. If we've studied history of a hotels, you understand that hotels are actually a very recent phenomenon and.

[00:11:27] The history of travel actually shows that Airbnb was probably a good idea. It's just that nobody else took it seriously. So the link that into having new ideas about the future. The two is to do that. One, which is have a genuinely new idea that nobody else has ever had. But to take seriously things that nobody else believes.

[00:11:46] Or take seriously. And I think in order to do that, or in order to study history, And. Generate ideas or develop a process for that. You have to be aware of the narrative fallacy. And that history gets rewritten to be both obvious and inevitable. I particularly remember that I in my household had a copy of bill gates is the road ahead. And yeah, information super highway was plastered all over that thing and no mention of the internet. So I think a very interesting perspective on predicting the future and having novel ideas that are under appreciated.

View Details

Listen to the Ship It! podcast: https://www.listennotes.com/podcasts/ship-it-devops/its-crazy-and-impossible-Q3tD0SVWCh1/ (45 mins in)

Steve Jobs anecdote - $50m fumble https://twitter.com/apartovi/status/1447251334814523392?s=20

View Details

Video: https://youtu.be/Cxaf8E00GMM
Slides: https://docs.google.com/presentation/d/1sJSqNy-t-kVxzrWlqMTp_03nI7Zo8Znr7k0f0C6L9ig/edit?usp=sharing

Timestamps:
[00:00:00] Intro
[00:02:17] Part 1 - Components: Code Organization for Real Apps
[00:04:26] What we learned from React
[00:07:46] Part 2 - Architecture: Choreography vs Orchestration
[00:13:05] Retries and Timeouts
[00:14:37] Part 3 - Time: React vs Temporal
[00:16:34] Elevator Pitch
[00:17:13] Programming Model
[00:18:44] Comparing React and Temporal Principles
[00:19:11] Live Demo: Amazon One Click Button
[00:23:49] Talk Recap
[00:24:16] React and Temporal Full Comparison
[00:24:42] Conclusion: Enablement

Transcript

[00:00:00] Once again, I want to thank you all for tuning in and joining, React New York 2021 without further ado, I'll pass it on to Shawn.

All right, so hi everyone.

Hello, React new York. It is my home town in the U S and I miss everyone back in New York. I am currently based in Seattle, but I'm here to talk about React for the Backend. In 2020 I actually thought that I had given my last React talk because I was all tapped out. I had said everything I wanted to say, and then React New York came by and said, do you want to speak?

And I was like, oh, I really wanted to speak for React New York. So here's my presentation about what I've been working on and what I think the parallels have been for React. And I think there's some generalizable lessons, even if you don't end up using Temporal. So, the inspiration for this talk came from Guillermo Rauch, the creator of Next.js.

And he was the first person to point out that Temporal.io, does to backend and infra what React did to frontend. Temporal engine is quite complex, much like React, but the surface exposed to developers a beautiful render function and I'm a bit upset because he realized there's before me and I have been working on Temporal for a few months now.

So important caveats before I start this talk. What I'm presenting to you is alpha for TypeScript. Temporal is typically a goal or Java based application, but we're developing TypeScript and hopefully launching it soon. And then finally "React for the backend" is an analogy, not a design goal.

The way I treat this is like, it's a, it's basically like crabs. And one of the most entertaining facts that I've ever found is that nature has apparently tried to evolve crabs five independent times. And in fact, there's a word in evolutionary biology for it called Carcinization. And of course, this is really good for a lot of memes. So tired convergent evolution is not uncommon, especially when species have similar selecting pressures in their environments, wired.

Everything is Crab. And perhaps everything is React, because we have similar design space problems. So I'll tell a little bit of the story through three parts there's Components, and we'll tell it through the story of Uber, talk about architecture, we'll talk through the story of YouTube, and Time will tell you through the story of Amazon.

So a lot to cover, I'm going to try to go really fast. Don't worry. I'll share the slides on my Twitter later on. Okay.

[00:02:17] Part 1 - Components: Code Organization for Real Apps

So part one is about components. You see this a lot on YouTube. Probably you're watching now on YouTube or live streaming. And yeah, you know, like three hour live stream and that's it.

Very cool. I think we, we know how to break things down and React has really helped us be more productive by being able to break things down into the components and knowing how to compose them together in a predictable way. But there's a lot of things unanswered in things like this in, in full stack, clones of major well-known apps, which is the hard parts.

What like a typical Uber trip, we'll have all these steps like search pricing match. Pick-up drop-off rating tipping, payment, email, uh, and so on and so forth. And typically the naive way of organizing all this is basically one after the other, right? Like this is search goes to pricing, goes to matching, goes to pick upgoes to dropoff goes to rating goes to tipping goes to payment, goes to email, imagine that these are all managed by separate teams and scaled independently.

Then you realize, like, this is only the happy path. Then you have to throw in a whole bunch of things that can happen along the way. An Uber trip is basically a long running process with humans in the loop and humans are very, very messy by nature. So how would you write an Uber clone? good luck with a lot of data technologies that you would typically reach for just naively, because you will have to discover all these systems and all these use cases and edge cases along the way.

So when people say full stack, they often really mean like this half drawn horse meme. I think this is particularly funny so I take every opportunity I can get to show it, but to be honest, a lot of us front end developers are probably the other way the half-drawn Dragon where we're frontend a very good and in the backend, we'll just like, you know, stick some stuff on Firebase and something.

And in reality, if you look at the backend systems, most companies, especially at scale, go towards some form of very complex micro service, system. I don't have the chart for Uber, but Hail-0 is probably a good comparison. Netflix, Twitter, and It's not really avoidable. If you want to scale a company to any significant size, you probably have to break them up into independent services because you're going to ship your org chart anyway.

[00:04:26] What we learned from React

The thing I realized as a React developer, as a front end developer, is that actually we had a pretty good run in the past seven, eight years of React in terms of the fact that front end developers know how to organize code at least in terms of the component level. So we moved from the jQuery era where everything was just kind of spaghetti all over the place to at least something more organized where event handlers are strongly tied, locally tied with renders, but essentially managed by React's runtime.

So a few key lessons from React that I personally draw [00:05:00] is that you want to have a component and a renderer model. Like, so essentially the user or the developer writes components. And then the react core team writes the render and that handles a lot of the boilerplate that you might typically forget.

And this is everything to do with on mounting or having local states. And it gives you a very nice, non-leaky abstraction that you can write. Second, you can also guarantee work and correctness, which is originally what drew Jordan walk to make something like React because he was working on Facebook messenger and there was a lot of inconsistent state within Facebook manager because of the spaghetti code.

So correctness, meaning that we embrace functional programming to produce a virtual DOM view is a pure function of state. If you look at the old enough React talks, you will see a lot of v = f(d), so view as a pure function of data. And finally the programming model. We like to say that it's just JavaScript.

There's no custom syntax with templating syntax to learn. I think all these three lessons , there are actually a lot more, but all of these three lessons are where I'm going to focus on for this talk. And I think whenever you tackle any programming paradigm, any framework, any design question, you might want to run it through some of these ideas.

So whenever I talk about React principles, I always like to bring up the fact that there's this often overlooked repo called react-basic. And it's actually in the official React organization on GitHub. And this is Sebastian Markbage, who is the tech lead of React. And he wrote down six years ago, his principles on what he thinks makes up React on a fundamental basis? No, JSX just like, what are the principles that we're designing for? We are designing for a simple, pure transformation, abstraction, composition, state, memoization. The words that he uses are very theoretical sometimes, but you feel it every single day when you write React.

So there's a lot of things else apart from that, that reacts has done for front end programming. Apart from deterministic renders, we have useState with a reduction of boiler plate with unmounting, child components in con in the very careful design composition, um, side effects where, you know, we have used effect or use memo.

And actually a lot of people don't know. I don't, I forget my source. I think it's Sophie Alpert, but, one-third of the React code base is actually just normalization of events across browsers. So you don't even have to worry about it. And creating synthetic events for that. They also produce a dev tool and manage a central scheduler and obviously the success of React over the past five, six years has really shown Testament to how great all these decisions have been.

If you want to learn more about the talks that I've done and my perspectives on some of these React principles, I've done three talks. One is at React Rally. The second at JSConf and the third, ,at React Summit. So you can check out my YouTube for more conversations on that.

I don't have time here. Okay.

[00:07:46] Part 2 - Architecture: Choreography vs Orchestration

So that was part one where we talked about Components and the React revolution. So part two, we're going to talk about architecture. So a bit, one level higher than just components. And I'm going to motivate this question with a question of how would you write YouTube. And again, if you look on YouTube for how to write YouTube tutorials, you can get full-stack clones of YouTube, which is pretty impressive, you know, write YouTube in three hours using Firebase. That's very impressive. Unfortunately the hard parts of YouTube also come in. And there are a bunch of Googlers actually who actually went and interviewed YouTube engineers on how YouTube works on the backend. There's a bunch of work that goes on in the background.

So you need to upload your file. You need to analyze for metadata. You need to split it up into chunks. You need to process these chunks in parallel, and then you need to stitch it back. And by the way, processing, you have to produce an array of formats, right? From like, 240 P to like 1400 P or something like that.

And then you have to stitch all these chunks back into the continuous videos that you actually see in stream. You need to notify subscribers, you need to produce automatic captions and you need to produce thumbnails. And that is again, just the happy path. Right. So, what about all these other features? It's. For example, YouTube premiere is a scheduled release of a YouTube video or feeding into the recommendation algorithm. That must be the most craziest batch job in the world. And you need to scale this process, whatever, whatever you design for 30,000 hours of video uploaded every hour.

That's the sheer amount of volume that's going on YouTube today, which is just insane. Like, like any design that you make at scale is going to break in some respect. So I think, I think that's, that's really interesting to consider. And I learned about this actually, and I thought more about this because I interviewed one of our users who is Descript (hi! I'm editing this transcript in Descript rn lol). Descript is a audio transcription platform and their entire business is transcribing audio and then making it easy for you to edit audio. I do it for my podcast every single day and millions of people use it. I think it's really cool.

So their problem was that when a user hits transcribe, it kicks off asynchronous multi-stage and parallelized process that involves reading, encoding audio, chunk splitting. external API calls, merging results that may potentially arrive out of order and then verifying their alignment.

So there's a lot of [00:10:00] nuance here that can get really tricky. And if any part of the process fails, you need to try it again. So, this is typically the kind of architectures that people build up incrementally over time, as they discover all these use cases and then find holes and patch them because it's too late to rewrite something.

There's a lot of decisions that goes into here. And this is normal. This is natural. I think you run into basically the eight fallacies of distributed computing, which has actually discussed or discovered back in 1994 by people at Sun Microsystems. I love these cartoons but it can be a little bit hard to read.

So here's a more organized version of them. At the bare minimum, don't forget distributed computing fallacy number one, which is that the network may or may not be reliable or compute may or may not be reliable. So, what that means in practice is that when you're calling system a, B, C, D E F G you may actually need to introduce hardening layers because at every point and you cross system boundaries, you have a chance of failure and that multiplies exponentially, as you have more and more services tied up in your systems like we saw for the Uber example, like we saw for the YouTube example. You need to add in timeouts and retries. And what that means is that you need to persist the number of times you timed out, when you timed out, what jobs you timed up.

So you need a database every single time, and then you need a scheduler or a timer to say when the next time is going out, I'm going to try this again. And you need to write this for every service. If the ma the maintainer for every service needs to maintain both the code and the infrastructure for this. This is a lot of how I was talking about things when I was exploring the serverless world.

So here's a real life example from the AWS blog where they said that you were using dead letter queues to replay messages when such things as failures occur. This is a fine looking example until you try to scale it. And again it looks like a complete mess, complete track, and it's very hard to keep in your head, and pretty soon when you're explaining this to your CTO you look like the Pepe Silvia meme.

So the solution that I found is really to have a central orchestrator, right? Instead of every single system maintainer writing their own API hardening layer, which is a production requirements, as you find more and more of these bugs, you should centralize it with a centralized team that takes care of the orchestration of all these different services.

And that's in the business, what we call choreography, which is A to B to C versus orchestration, which is a central orchestrator coordinating the dance between AB and C, and then storing both the infrastructure and the code for the scheduler and the database. So there's a really good article on this by Yan Cui in the burningmonk.com so I highly recommend checking it out where he talks about choreography versus orchestration, with real life examples that people use in AWS, but also it's not specific to any cloud. It's a architecture design pattern, which I think fundamentally, if you start off with this, it's really hard to rearchitect to this.

I mean, it's, it's possible because people are doing it, but also it's a conscious, architectural choice that you might not know that you're making if you don't know about it. So, I guess a lot of my message here is to tell you that orchestration is a thing.

[00:13:05] Retries and Timeouts

Also, so you want to declaratively put into your framework retries and timeouts, so for example, this is actually our API. You want to be able to say, all right, here's the default retry policy. Whenever I fire off an activity, an activity is just like an external API call, for example. So when I fire up an activity, I want it to be retried every second. If it fails, I need a backoff coefficient, like exponential backoff.

This is very similar to the TCP protocol so that if the endpoint is failing or getting rate limited, I don't keep retrying, and then building up a DDoS attack on myself, I actually back off and put more and more intervals in between until some maximum interval, let's say a hundred seconds.

And then I give myself a maximum attempt, so I can say like, all right. I don't want any retries. I can just say have a maximum attempt of one. Or let's say, I want a linear back off and not an exponential for whatever reason. And I want to try to a maximum of five times - you want to have this all declarative so that you can tweak this as you understand your system and you scale your system.

Right? So I think this is a really interesting programming model that just puts retries into the code that you write. And that's only possible when you have your centralized orchestrator, no matter what system, not just Temporal.

Okay. So the case that I'm making is really for choreography versus orchestration.

And I, the analogy that I make for front end versus the back end is that it's kind of like vanilla or jQuery versus react. React has a react as the central orchestrator, orchestrating all the components. And I think that's a really interesting architectural analogy that you can make and learn from React.

All right.

[00:14:37] Part 3 - Time

Part three - Time. I'm doing very good on time. I think better than I thought, which means that we'll have time for a live demo, which is really awesome. So let's talk a little bit about Temporal.

[00:14:45] What is Temporal?

What is Temporal? Temporal is the open source platform for orchestrating highly reliable mission-critical applications at scale.

I love talking a little bit about the history, the reason because our CEO started at Amazon as the tech lead for what became Amazon SQS. Our [00:15:00] CTO was at Microsoft and it was the principal architect of the Durable Task Framework, which became a Microsoft's version of Durable Functions, and then finally they joined Uber and worked on Cadence, which is the open-source version of their workflow orchestration platform and Cadence became so popular that they spun out and became Temporal. And since then it's been adopted by a lot of well-known household name companies, especially in the developer world.

There are a lot of people hiring for Temporal developers, which I really like to see because it's not just being used, but also it's creating jobs for people and it's becoming a desirable skillset. And most recently last week we had Netflix presenting about how they used Temporal for their CI/CD.

Temporal has three components or produces three products that are used in sync. The main star is Temporal server, which is comparable to the React runtime that you might see, then there's Devtools, which is the UI that you might want to inspect the state of things.

And then the SDK is, which is what you use to code. So I think all those are really comparable to what we have in React and having been in the React world for while, like, it's really amazing to see the analogies that we have. We have exactly the same thing. For me, the really sort of the seal of approval comes from Mitchell Hashimoto who, created Hashi Corp, saying that without Temporal, we would have spent a significant amount of time rebuilding Temporal, which actually to me is the best form of validation because Mitchell is one of the best developers in distributed systems and he says it's hard and he says it does it well.

All right. Enough social proof you want actual facts? I would just give it straight to you.

[00:16:34] Elevator Pitch

So because your workloads like the YouTube encoding, or like the Uber journey and this technology was developed at Uber i s long running and it ties together multiple services. You want to standardize timeouts and retries and you want to make it easy for every team to have production grade retries and timeouts.

Because this work is so important. You must never drop any work. You must log all progress. In other words, you must use event sourcing.

And then finally, because this work is so complex, you want to use generic programming languages, instead of Domain specific languages. So you want to model a dynamic, asynchronous logic, and then you want to reuse, test, version and migrated it.

So that's the pitch in one screen.

But I'll just break it down for what it means, and then we'll go into a demo.

[00:17:13] Programming Model

So to me, The, the closest analogy to React is the programming model, because React spends a lot of time on API design and in the workflow orchestration world there are a lot of JSON or DAG based domain specific languages.

So you, you write a bunch of JSON or you do boxes and arrows boxes and arrows boxes and arrows, sometimes you've even write XML, which is very interesting as well. What I find with all these is that they're actually really good for manipulating visually. But they get very tricky when you need to do programming language constructs, like variables, functions, loops, branching statements and all the things that we've invented in programming languages over the past few years.

So if you use "just JavaScript" or "just programming languages", you have all the tooling available. You can use all the libraries that are available. You can use all the testing and code version, quality controls available. If you write your own, you have to rebuild all this dev tooling from scratch for yourself.

So that's essentially what this is. Here's an example from one of the big clouds where this is their workflow orchestrator model, where you write Jason and it's really hard. It actually goes off the screen and I couldn't really fit everything on one screen. And with Temporal literal just JavaScript you call an endpoint you use that the result of that end point to call other end points, for example.

It's a very simple example, but in built here is default retry policies that have been worked out. So both of these handle reliability on rails, it's just, we differ in the programming model and the engineering that it takes to maintain one of these SDKs is I'm learning. It's very, very immense. So it's really interesting.

[00:18:44] Comparing React and Temporal Principles

So, again, back to the core principles that we talked about early on from React. React d ecided on using a framework, decided on correctness and decided on a programming model, and Temporal, in a very similar way. The developer writes workflows and the Temporal core team writes the orchestrator, which is Temporal server. In terms of correctness, React insists on functional programming, Temporal insists on event sourcing in deterministic workflows and then programming model, you want "just JavaScript" or just programming languages, not any custom DSL syntax.

[00:19:11] Live Demo: Amazon One Click Button

So the final example that I'm gonna motivate is which is like, I'm, I've been trying to re progressively reduce the complexity of my examples. So we met from Uber, which is like a super long running, a lot of humans in the loop to YouTube, which is not so much humans in the loop.

You upload it once and then everything else takes over from there.

Now I just want to build one feature, which is a one-click buy button in React or in front end. It's actually super easy. It's a button. That's the literal simplest thing you can possibly do. You put an onclick handler. You're done. If you want to do a one-click buy, you do a setTimeout, and then say like, okay, if you want to cancel this within some window, with Amazon is 30 minutes, we can cancel it. But if you want to persist it, imagine if some person clicks, closes the browser and then changes their mind, opens the browser again, and it's gone. You're screwed. You don't have any other way to implement one-click [00:20:00] purchases.

You need to implement timers on the backend to do this. I was watching this old talk from Joel Spolsky where he talks about the engineering for the one-click buy button. And I put it up on my YouTube because this is such an old talk.

And I was afraid to link to the timestamp, but you can check it out as it's just a three minute video where he tells the story about how Amazon moved from shopping cart to one-click buy I mean they still have a shopping cart but it's that important because in online e-commerce actually even up to today the abandonment rate for shopping carts is 70%.

So imagine if you implement this one feature, you improve your sales by I don't what's the inverse of 70%, three times. That's really amazing. So I think it's just fascinating and it's not just about Amazon. It's not about one click buy.

It's about user experience. It's about making things easy and intuitive and that often involves turning synchronous things into asynchronous things and in persisting them so that they persist in the background. So I have a little demo here. I'm going to go really, really fast, but you can check out the code in temporalio/samples-node.

There's the specific path this year but it's basically a Next.js demo where I have a Next.js folder here. This is going to be pretty standard for a lot of React developers. Hopefully you're familiar with Next.js, so you can learn it. It's got some pages and an API routes where I have serverless functions that call and send signals to my workflow functions.

I have also a Temporal folder where I have written my workflows and activities. The activities are just a little logs obviously, cause they don't interact with any backends, but they could. And then the workflow coordinates the states in the background of all of these.

So I can show you the code, but essentially I kick off a one-click buy with a purchase and then I set a timer and promise.race with a five second wait.

So if I receive a cancel signal during that timer then that cancels if not, it goes through and the purchase is confirmed. Obviously I can. And what's fascinating about Temporal is that every single step is persisted in automatically saved. So in other words, I can sleep for 30 days. I can sleep for a year.

I can sleep for five years and it doesn't matter because it's all persisted and wakes up automatically. So the compute the, this serverless function can be. The worker or a Temporal server itself can go down. You can just bring you back up again and it carries on as though nothing happened because of event sourcing.

So, I'm gonna, I'm going to go ahead and run this. I think it's uh, demos I'm always stressed out about live demos. Okay. I mean, I did test it before the talk. It's just that whenever I'm streaming, like it adds an extra latency thing and that goes haywire. So, Let's see if I have this demo available.

All right. So I also want to pull this out, which is the UI layer. These are the my test runs. But I have here at one-click purchase UI, and literally, I, you know, I, I want to implement this without a shopping cart, but I want to be able to cancel within some certain amount of time.

So if I click buy, uh, it clicks, it handles it's. It sends a workflow. And that workflow starts in starts in the background and it's running, right. It's waiting for the timer to proceed. So I'm going to hit the timer, uh, and you can see that a timer started and time of ended, uh, within that five second window that I specified, obviously I should make it longer if I, if I really wanted to show this along the way.

Um, so, uh, this, this is, this is as is purchased, um, and we can, uh, and now we've confirmed it. Um, but if I ever want to click buy, and then I can click the. That also fires off a different workflow, uh, where it sees that it receives the cancel signal from me. Uh, so, so I signaled it to cancel. And that's a very useful model as well.

So this actually shows off a lot of the core principles of Temporal, which is you kick off a workflow, you can set durable timers, you can send it human signals and you can get out data as well with queries. There's a lot of interesting elements behind that, but that's the core demo that I wanted to show off.

So maybe I'll write a YouTube example and then I'll go on to an Uber example and be a billionaire.

[00:23:49] Talk Recap

So ultimately I just want it to recap again, what we covered. We covered components, we covered architecture we covered time, and these are all the three elements I wanted to compare reacts and Temporal, and explain a little bit of how we think about doing the hard parts of making clones of very popular projects.

Why is it so interesting? It's a little bit like the crabs story, you know. Obviously the founders of Temporal are not front end developers. They didn't even know react at all.

[00:24:16] React and Temporal Full Comparison

But they independently evolved a lot of the same principles and this that's, I haven't even gone into like the full comparison.

So we talked a little bit about deterministic functions and local state and composition, but we haven't talked about normalization and how that compares dev tools. Testing is also super interesting thing as well as the central runtime. So there's a lot here, which I think. And fascinated by, and I'm obsessed by applying the lessons from React to things that are not React.

[00:24:42] Conclusion: Enablement

And I think overall, when I asked my CEO, like, what is the core message that we want to deliver is actually about enablements. Like we enable people to do things that they're not formally trained to do because we wrapped it up rapid all in a central runtime or central framework. So, uh, I always loved the Alfred north Whitehead quote that [00:25:00] civilization advances by extending the numberof things that we can do without thinking about it.

So for me, my version of it is that B2B software advances by extending the number of jobs we can perform without formal training. And the message overall here is that Temporal lets backend developers or, just general full stack developers do distributed systems right? So that's it.

I blasted through that. I only took 26 minutes. Really great for me, cause I was worried that it would take 50 and I'm happy to answer any questions you can hit me up on Twitter at Swyx. You can read my long form blog posts about why Temporal and then you can join our mailing list, YouTube or Slack.

Thank you.

Alright, thank you very much things. So I think that was a really, really nice. And you did, uh, went through that quite quickly. Uh, when I see the comments, people love the, like the most right there, because I could fail because I could fail. It's always like that. So, uh, yeah. Um, the nice thank you for the presentation.

With this talk, I think it's actually the last talk of the event and I want to thanks everyone for joining us and thanks to everyone, thanks to all the speakers, of course, for being part of this event, uh, React New York 2021 and the sponsors. Um, I think this would be a good afternoon, I guess, or good night, depending on where we are in the world. Right. Have a good one. Everyone.

View Details

  • Squid Game OST: https://www.youtube.com/watch?v=ADyazK7btX4
  • Trumpet Concerto: https://www.youtube.com/watch?v=oYA2RRJpS6k
  • Blue Danube: https://www.youtube.com/watch?v=KEGdn0OZ22Q
  • https://www.thefocus.news/tv/squid-game-what-is-the-classical-music-played-before-the-game/

View Details

Listen to the Infinite Loops podcast: https://www.infiniteloopspodcast.com/alex-danco-everyones-job-is-world-building-ep53/ (40mins in)

Read the full essay: https://alexdanco.com/2021/01/22/the-michael-scott-theory-of-social-class/

See tweet reactions: https://twitter.com/swyx/status/1424953927426928646

Transcript

[00:00:00] Hey everyone today, I'm about to break one of the core rules of this mixed tape, which is that episode should come in at around 10 minutes. Uh, this is a 25 minute rant from Alex Danco, which is still one of the best essays I've read of the year. He posted it on January 22nd, and I think it's still resonating.

It basically is a theory of social class that is both entertaining and actually strangely true. Just don't think too hard about it because if you do you will realize how true it is.

Maybe this is a good segue into the other thing that I feel like we were theoretically supposed to talk about this podcast episode,

which was the Michael Scott theory of social class, which again is like another example of the power of world-building in this

case, it's the power of

world-building as applied to the phenomenon of middleman.

Right, right. Like, what is middle management? If not world built real, because that's all you've got right. Is this

world you've constructed. So originally a missile, who's

going to fill the forms out. I mean, come on.

It's not, it's not anything who's going to fill the firms out. It's like, who's going to create the meaning.

It's like I forgot who described middle

management as the control rods and a nuclear reactor. It's like, but the point of them is to slow things down so that it doesn't run out of your control and blow up. So,

okay. So I wrote this piece, the Michael Scott theory of social class,

which is basically a re skinning of Venkatesh Rouse article that your base principle, which itself was a re-skinning of Holly White's book, the organization, man.

Oh, so that's the actual source material is the organization, man. Have you read the organization, man? Do you know that book?

I don't have notes on it. So that means I didn't take it seriously. It's so good. It's so

good. It's in the list of

books that I recommend to everybody. So I'm going to have, I'm going to have to read it again.

What's remarkable about the organization, man is

simultaneously how in a literal sense. It did not get the future. Right.

But at a second

order sense, it just nailed the future so hard. They got it. So, so, so right, just at a slightly different abstraction layer than people realize. So the general thesis of the organization, man,

is that all organizations

that survive have stratified into three layers.

You have the bottom layer, the middle layer and the top layer. The bottom layer is the people who do the actual work. This is the majority of people. Their lives are spent doing literal things. So these are line workers, frontline people,

anybody who is

actually producing something. Literally there are the people at the bottom there, the majority of

people at the top, you have the exact.

They actually have a lot in common

with the people at the bottom

in the sense that they have very

literal roles and responsibilities and very real stakes involved. And they see the world very clearly as it is, but the people at the bottom and the people at the top see the world through clear eyes with clear actions and consequences, but there's this group of people in the middle called middle-management that is really, really different than either of those groups.

And their job is to intermediate between

the people at the top and the people at the bottom by basically constructing this reality called middle management that does not literally produce anything nor have any literal

stakes or consequences, but whose job is

effectively to mediate like the control rods in the reactor to say like, look,

the goal here is to create a stable system

that perpetuate.

Regardless of how efficient it is or how complicated it is or anything just like, can you get something to persist? This group of people will always emerge in one form or another. So in the 1950, in the early

fifties, when Holly white wrote this book, this was in the era

of these mega mega conglomerates, like Dow DuPont, us steel, general motors, like this was the field.

Like the current mindset was that. The frontier of progress was mega organizational dynamics. It was scaled to get scaled, to get scaled. This is how everything works. Eventually everything will be run by four corporations because we figured out the science of how management works. And specifically we figured out what middle-management.

We created this whole world

of middle management that has sense of purpose and a sense

of identity. And it was fed through these institutions called business schools and the NBA. And this whole

idea that like middle manager was actually this craft more or less independent of the

industry. It's like, what do you do?

Oh, you're a manager. Oh, like what kind of industry do you manage? It doesn't matter. Like I do manage. Right. That was the thing that you can learn. Do you go to management school and learn management regardless of where you were from? You remember in the office?

I'm just sitting here because I love that movie.

There was one particular episode of the office

where David Wallace, a CFO brings in a new boss for Michael. Who is Idris Elba who comes in as like the professional manager. And Michael's like, where are you from? He's like, oh, steel.[00:05:00]

Um, but anyway, so this is idea. It's like, like as Holly white describes

it, William H. White, he went by Holly white as

he describes it. Right? So the whole book is about this three layer system. And this three

layer construct where you have the people at the bar. Who again are doing all the actual work and have no path to leverage.

And the people at the top

who have all the leverage, but

are very deeply suspicious of everything and are perpetually trying to acquire and keep control over this huge sprawling.

Basically those two sides in order

to not fly apart at a hundred miles an hour, need this mediating influence in the middle called the middle management.

But in order for that to exist, there needs to be a purpose for the middle managers to have. And hence, what you have to do is you have to build a world in which management is.

So, this is where you get this world of

Taylorism and like management as a science,

which sort of expanded and grew and grew and grew into this really self

perpetuating construct where it's like, where, what happened

with middle management is we were able to create a world where management

was a challenge that was considered a worthy challenge that people would go into, put all of their identities into, and then it would perpetuate and perpetuating.

So, if you look at some of the really good books on how to manage, like Andy Grove, like a high output management, things like that is almost like a return w w Hyatt management, the thesis of that book. If you haven't read it is basically like we figured out how to manage production. It's called factory.

Everything can ultimately be understood

in terms of like how production management works in terms of buffer capacity, in terms of like how you set challenges and how you like arrange for like, thinking about like how you manage the output of an organization. The whole thesis here was that this is equally applicable to management and like talent and hiring people.

And like all these supposedly soft skills that didn't work like factories. Andy is like, I actually, like I made Intel, like I've.

But nonetheless middle-management does this construct, which

again, if you fast forward to today, you can just replace with product management in a tech company or any of these other venture capital associates, any of

these positions where you are

not literally in charge of anything, nor are you literally making

anything, your job is to intermediate in some way.

And hence. You live,

this is a very roundabout way to get into the thesis

of the article. You live in a world

that is entirely a construct of your own creation, right? There's nothing

literal in your world. Your world is entirely defined and surrounded

by fairly arbitrary challenges and goals and measuring sticks

that have been

created in a self perpetuating sense and are not the very literal things by which anything is.

One of the two core theses of the Michael Scott

article was that there is a reason

why these worlds, again, always back to world building what makes these worlds perpetuate? What makes Michael Scott's world have purpose and have ongoing perpetuation? That self reinforces is linked.

Have you read

Venkatesh Rao's original article that your face principle, is that

something you're familiar with?

Okay. Yeah. So for audience, if you haven't read

this, go Google that your base principle, your face, like reheat your face from the office and go read that at some point on your set aside a couple hours, it's really been through this series of articles. It gets really esoteric, but like, it's fantastic. So it's going through the office as a theory, the office, the American TV show the office as a

comprehensive

cynical theory of management.

That is again, it's like, it's a re-skinning of the organization, man. It says like, look like you have these three fundamental groups of people in the TV show the office at the bottom. You have group of people called. We're not uncool, but they're economic losers, no path to leverage. Fundamentally their work output is realized holy by someone else.

They are fundamentally paid on cost based pricing, not value-based pricing, et cetera. And this is the majority of the people in the office. They see the world through clear eyes and they cope. This is like Stanley Pam, Darryl. Most of these people they're there at the bottom there, the losers of the office, they occupy most of the positions.

At the top, you have the people who are the sociopaths. They are the people in charge. What they care about is power. And they occupy this other role in the show, which is there the other group of people that sees the world through clear eyes. So in the show, this means David Wallace, the CFO, the authority figure Jan, before she becomes Michael's lover and is in a mental breakdown.

Ryan, I do

need to interject here. I loved that segway for GP. Because she did go from a sociopathic

control freak to yeah. Mass complete this complete master Ryan, the temp, right. Is the most important example of somebody who brilliantly grabs real power and then immediately squanders it. And then finally,

the last sociopath character

is actually the real drama of the show.

By the way, is the, will he, or won't he go over to the dark side? Jim is the real villain of the office. Once you realize this, it actually sort of reshapes a lot of the [00:10:00] shows that Jim is the felon. Jim is actually a complete asshole. He's horrible to Dwight. He's really arrogant. He's kind of mean to everybody.

He doesn't actually treat Pam very well for that. No. So Jim is actually like the secret sociopath where the real drama of the office, as he will hear, won't he explicitly go over to the dark side. Right. But then, so both

of those two groups of

people see the world through clear eyes as it is, but then in the middle you have three characters and fundamentally the office is a show about these three people.

Yeah. Michael Deno.

And Andy, the central drama

of the show by the time the office really, really hits a stride. And season three is when it's established this relationship. It is about Michael Dwight and Andy's search for meaning in a world that is entirely their own construct,

right? It cannot escape because they are compulsively forced to double

down on reaffirming, the

meaningless

meaning that they are creating for themselves.

And each of them expresses this in a different way. Michael it's in the form of

like, it's everything about Michael. Everything about Michael's world is this world of his own creation that he's made in this bubble around him. But same for Dwight and same for Andy all in their different. It sort of shows up in all

of the, sort of the meaningless talking and the jokes that don't make any sense and the constant, please,

for people to pay

attention to them.

Andy's anger management issues.

Dwight's LARPing about like

being a first responder, all of these things, but especially about Michael and his self identity that is

wrapped up in being in. There was this really notable tweet

about there's this

argument that happened on Twitter about whether Michael Scott would know how to use chopsticks.

Does Michael know how to use chopsticks? Yes or no? And the answer

is obviously yes, of course he does. He takes

enormous pride in knowing how to use chopsticks and tells everybody. And like, he probably learned it from watching TV or in his apartment by himself.

Right. She had this cast of three characters, Michael Dwight, and.

And they inhabit this world that they have built for

themselves and that other people happily help them build because it helps everybody fulfill their own respective

purposes. This senior people up top indulgent support Michael's world-building because they need somebody to

oversee the branch and make sure that it stays in more or less the same state as they expect it to be.

Whenever they come down to Scranton from New York, the people doing the actual. Pam Darryl in the warehouse, all the salespeople, everybody need Michael to stay in his state of delusion because it gets him out of their

way. Pam in the show takes

the defacto role of narrator. She's the one who basically narrating to the audience, all of

the things that they do to support

and create and perpetuate this little delusion inside Michael's little world and also.

I remember the point I was getting to, it was around language. The most brilliant part

of Venkatesh Rao's piece is the sub

chapter in the Jabez principle around language and how people talk to each other and the five different coded languages that are used between different groups of people talking to each other.

You have these three. You have the senior sociopath's you have the people at the bottom who do the actual work, both of whom are literal. And then you have the middle managers in the middle who clueless. So

there are five

possible languages that are spoken in the intersection

of these three groups. The first language

that's spoken is something called posture talk.

That is the language that is spoken by the clueless people who are in this world of their own construction. So it's everything spoken by Michael . To anyone, including themselves. It's basically meaningless babbling that has no grounding in reality whatsoever,

but makes sense. Inside this world they've created for themselves.

That is what, how they talk both

internally and projecting

out. Meanwhile, everybody who talks to them speaks the

language called baby. Which basically goes there. They're like, you don't know what you're talking about, but like there it's soothing. It's like, just stay in your little box. Like, don't worry.

Everything's going to be fine. Just please don't screw this up. It's how you talk to kids when they're actually capable of causing danger and you want them to stay. Yes. The other three languages spoken by the way are, um, there's the internal language among all the losers, which is like, you're okay. It's just basically like getting themselves through the day in group self-referencing and self.

You have the internal language of the sociopath, which is called Powertalk, which is all about information gathering, right. And retroactive deniability. And then you have the

rarest language of all, which is straight talk, which is the only

time that language happens. That's not encoded at all, which is the rare instance where the senior execs talk to the line workers, which is unincorporated straight talk like what the fuck happened.

Here you go fix it

by. It's the only time that's straight talk

is the accidental occasions where senior management ends up confronted with frontline [00:15:00] workers because Michael screwed something up in variable, right? That's the only situation in which that happens. So let's look at the office as this little three layer system where you have the Michael Dwight's and Andy's in the middle who live in this world of their own construct, where it is entirely an exercise, both for them.

And for those around them of world. Just to create and perpetuate any kind of purpose that maintains coherence sandwiched between the group of people on the bottom and the top who actually have fairly literal roles and responsibilities.

No, you can take that and actually extrapolate

that onto the American class system, more or less facing.

So you have, again, it's like talking in broad strokes here. It's like you have the people at the bottom who is the majority of people, people who earn income through labor and who there's a ladder that you can climb up from at the bottom. It's like working very, very hard hourly or informal jobs. You work your way up through blue collar jobs at the top of this ladder.

As you work up, you do own property. You own an F-150. You might own a vacation home. You have a nice life. Like you can work your way up to being well off in this group of people, but fundamentally. Fairly literal. And you have not created any paths to leverage for yourself. That's this group of people.

It's the majority of people. It's everybody who doesn't live on the coast basically is in this group of people more or less the coast or core coastal like towns skipping the middle group for a second. The people at the top, who again, are like the elites in power who are sociopath's right. This is just all about, like,

I keep saying sociopath.

I am a highly functioning sociopath.

I'm not sure you're in this group because you're on Twitter. I think you're actually the king of the middle people. We'll get to that in a second. We'll get to that in a second. We'll

get to that.

The kingdom of the Michael Scott's. So you have the people on the top who are like, this is a path that starts out, like the entry point into this path is either being born rich or being a junior.

Either you look into the path or you have to just brutally work your way to the top at either like a white shoe law firm or like investment banking, or now actually starting a startup. Can conceivably get you into this path, although it's still relatively uncommon,

but nonetheless it's like, this is also a group of people that when you're

in the world of real power, you actually do see the world more or less as it is.

And you do see stakes more or less. But in the middle, you have this group of people. This is the Michael Scott group of people, which is the bourgeoisie. This is the upper middle-class who live in the world of whole foods and farmer's market and virtue signal performance saying.

And where everything about your life is the statement about

values you have that are expensive.

Were

you in all likelihood people in this job. And then there are some

exceptions. So like there are some jobs where like economically

speaking would put you in the middle, but socially

are not. Doctors are actually one of these groups. Like doctors do something very, very real, but whose jobs put them in the upper middle-class,

but mostly if you're an upper middle class person, like.

You have some absolutely made up job.

You work

in

digital marketing or you were a product manager or you work actually like many people in law or in various forms of

this, or you work in some form of business development or you work in much

of sales is not in this group. A lot of sales is very, very real and literal, but some sales is very made up.

There's some sales that's very, very much in this world of like upper middle class permissive.

We're again, like in this group, the fundamental feature of this group. So if you were to stratify this group

along the ladder, as you work your way up the entry point to this group, if you were not born. So the main way you get into this group is you're born there.

You're born into upper middle-class parents. And so, hence you are upper middle-class, but you can enter the group by going to. If you're the first in your family to go to college, you can enter this group and you will have quite a culture shock when you do about what people are like in those groups.

But as you work your way up, you don't work your way up this ladder by making more money.

This cultural ladder definitely does not organize by income. It organizes by how interesting you are and how detached from reality. So

like people with, like, if you're pursuing a

PhD, very high status

absolutely could be a totally meaningless and contrive pursuit. Right. It could just be the most nonsensical thing,

but it's very high status to be doing your PhD blue check marks on Twitter.

Same thing. It doesn't mean you owe

money. It doesn't mean you. It doesn't mean it doesn't mean it's like, if there's a particular kind of. The

top of

this ladder,

by the way, the

absolute top of this ladder people I'd say the litmus test is could

you write an op-ed for the New York? Would that make sense?

Again, people at the bottom group don't do this

people in the top group also don't do this because the New York times won't

let them because they're bad. Right? It's like someone like Jon Stewart is probably like the absolute top of this group. There's someone like that, right? Like, um,

just total cultural relevance

and lore

among this particular group of people and bringing this back to the principle thing and the office.

What [00:20:00] fundamentally defines

this group of people of which I absolutely am. One, by the way, like me and everybody in my neighborhood, around me and in my job around me. And like everyone I surround myself with is in this group of people, by the way. So this is a group of people where it's like a Subaru is a higher status car than a capital.

And I'd say that's a good litmus test. If you would never be seen dead riding, driving a Cadillac, but you would drive a Subaru and brag about it. That's me. Like I drive a Subaru Outback. That's my car. That's broken that the mechanic had to come fix. Another one is like, would you be mortified showing off a $10,000 watch, but excitedly brag about $150,000 kitchen rental.

Then you're in. Because again, it's like, you're not showing off how much money you spent, even though you clearly are. It's all about like, here's how interesting and unique I am. Right. And it's all

about like advancing in this group is all about detaching yourself from re. So remember 50 years

ago, what this meant was leaving the reality of the dirty cities and moving out to the detached from reality place of the suburbs.

Now let's the other way around. It's detaching yourself from the reality of chain, restaurant gas, guzzling, suburban car, hell and moving back to walkable neighborhoods. It's all about detachment from reality. And again, it's like, it's not only like this whole idea of like, oh, I'm detaching myself from reality.

This is something

that you brag about. If you are like, oh, like I shop at the local

farmer's market so I can do a hundred mile diet. That is you detaching yourself from reality and telling everybody about it. Yeah. I think it says something about you. It's a challenge that you're doing. It gives you meaning and it gives you purpose.

Or it's like, if you do triathlons,

you know, people who do triathlons gym, like I actually shut the fuck up about triathlons. Oh, well, yeah, it's fine. It's fine. But it's like, at some point it's like people who are really, really into these things. Well, you notice about them as they start to talk weird. They develop these speech patterns that at first are only visible when they're talking

about whatever it is, they find really meaningful, but eventually it just takes over everything.

And the reason why it's not only because they have this internal language that they talk

in, that it's all about like validate my pursuit. Meaning that I've constructed for myself. That's meaningless to everybody else, but it's a beg for acknowledgement

for the meaning that they've created. And you know how people talk back to them.

It's baby talk. It's Uber driver talk. It's like, I'll entertain this conversation, but like, please give me five stars. Like I need it. Please write it. Or

like it's all the advertising of prestige.

You are so smart for watching Fargo. You are so sophisticated for watching house of cards. Like

come on this whole idea of world-building right?

It's like the reason why world building is so important and it is especially important in worlds of plenty

and worlds of material, abundance

and worlds, where everything is basically provided. But what is scarce and valuable is actually

meaning it's challenges that you identify with and your sense of accomplishment upon challenging them.

That is what people really want when their basic needs are taken care of. And it's in fact, what

people are most desperately seeking when you enter this world of upper-middle-class dumb, it becomes entirely about this search for. Not only like ways to find

meeting, but like around with like, what is the way that you are going to detach yourself from reality and create this construct of meeting around yourself, the author who

wrote about this amazingly?

Well, what it

was, it was David Brooks a long time ago. Back when David Brooks could really throw fastballs Bobos in paradise, paradise, paradise, amazing black, an incredible line from Bobos. Is that the highest possible

compliment in this group is to call someone

serious. He's a serious kite boarder, or she's serious about cooking healthy meals.

That is the highest possible compliment. You can give someone because this is the ultimate form of validating their. Which is all we just desperately

want. Right? So you take, so the thesis of my Michael Scott article was that as you

ascend the ladder and the ranks of the upper middle-class more and more of your life becomes the self-defined.

Recursive quest

for meaning in a construct of your own creation that is reinforced by your language progressively becoming posture talk, please validate my pursuits and other people talking back to you in baby talk. They're there. Like everything you do is made up. It'll be okay. Just stay in your little box and don't cause problems, right?

Therefore

reinforcing and

reinforcing itself until eventually you become Michael

Scott. Listen, man, I think you just did a hard close. Yeah.

That's Michael Scott. So

do you have more than 10,000 followers on Twitter? You're Michael Scott, you have an opinion about

what is the right amount of hops in an IPA mascot.

You were Michael Scott.

Do you, if you drive a Subaru and you are overly

concerned with the all wheel drive mechanics between like the new versions versus the old versions for your ability to get to the cross country [00:25:00] ski trails, you're making. I am all these things, by the way, are you pursuing a PhD in anything?

Absolutely. Michael Scott, do you read my newsletter? You're Michael Scott. Um, we are all Michael's.

If you listened to this mix tape, you're absolutely Michael Scott, if you're entertained by it, you're absolutely Michael Scott and from one Michael Scott to the other, I appreciate you.

View Details

Listen to Brett Goldstein's podcast https://www.listennotes.com/podcasts/films-to-be-buried/bill-lawrence-films-to-be-vyfQWE4F5O3/ (20 mins in)

View Details

Listen to/Watch the Tiger Belly podcast: https://www.youtube.com/watch?v=HUNZe_ghZK4

  • https://en.wikipedia.org/wiki/Deal_or_No_Deal_(American_game_show)#Season_one_(2005%E2%80%932006)
  • https://en.wikipedia.org/wiki/Howie_Mandel#Later_work
  • https://en.wikipedia.org/wiki/Steve_Harvey

Transcript

[00:00:00] swyx: This is the story of how, Howie Mandel booked Deal or No Deal, completely turning his career around, even though he originally didn't want the job in the first place.

As a word of caution, there is some swearing, there's a lot of swearing in this story. So you've been warned.

[00:00:13] Bobby Lee: You told me once though, too, is that, um, At first, when dealer knew no deal was presented to you, you didn't really initially jump on

[00:00:20] Howie Mandel: it, jump on it. I said, fuck you to the person. I know I was at 2005. I T I told you this, my career in my mind was over, you know, I had, I had done, uh, St elsewhere and I had done Bobby's world in the nineties, and I did a lot of TV.

And I did a lot of movies in the eighties. And by about 2004, I was getting jobs at comedy clubs, which were maybe twenty-five percent full when I got there. So there was no people in the audience. So the audience has waned in my, in my height. I was playing like 10,000 seats and 84 or 83 and doing the tonight show.

But now. 60 people in the audience. And I was reading for parts for five lines and under, so I bead outside a casting office and then I get this call from my manager, says, you know, NBC wants you to do, uh, a game show and I went, fuck you. And if you remember. Uh, nobody remembers, but if you remember 2004, 2005, at that time, not one comedian ever since Groucho Marx had done a game show, Gracia marks, did you bet your life, which Leno is actually doing right now, but, but no comedian had done that.

And in fact, you know, being the game show host was the punchline. You know, it was kind of a joke. It's just the guy in a suit who reads trivia question. I didn't want to be a game. So I said, fuck you, you know, Career is over and I'd like to leave and leave. No, I'm I, I deal in, uh, I've I've done. Okay. But I like real estate as much as I like show business.

So I was doing real. I said, listen, as for money and business, I can do okay. I just don't need to be constantly humiliated, embarrassed, kicked in the nuts mentally every fucking day. This is a really hard thing. Even when you're doing well, even when you're doing well, because the better you do the harder the rejection feels because you feel like you got that self worthiness and how can he say no?

You know, even up to like two months ago, I've, you know, as you talked about, I produce shows, I've even said to a network, you know, All hosts this one and they have said to me, well, we don't want you. So yeah. You know, which is funny, but it's also, it's a kick in the nuts. So w what I'm saying is I couldn't, I wasn't, I didn't have the success along with the kick of the nuts.

So I just said, listen, I'll make money. I'll do it. I don't need to do this to myself every day. And if I do a game show, that's going to be the nail in the coffin of my career. Wow. You know, game show hosts. That's the last thing I want to do, or I'd be embarrassed in front. Comedy community or anybody in show business.

The last thing he did, he did St. Elsewhere. He did movies. He created shows. And now he's saying, what is the capital of Arizona for six points? Yeah. You know, it wasn't something I thought was an in the cards for me. And, and so I said, no, then they call back a half hour later they go. I just want you to understand that they're going to do this game.

It's not an afternoon game show. They're going to do it in primetime five nights. And no network has ever devoted five hours in one week of prime time television to a game which already exists in most of the world and it's kicking ass. Ah, so I said, I really don't want to do it. He calls me back half hour later and he's.

Will you just talk to the guy? I go, I'll talk to the guy, but I don't even want to, you know, part of the humiliation is me driving and trying to find the place I don't like today. Anyway, uh, he comes in and he goes, let me just show you the game. And I thought I was being pranked. It's this guy, Rob Smith from Endemol. And he brought in, he had a cartoon, he had a cartoon, he had a, um, an art card, like a piece of paper, and he had drawn 26 squares.

He didn't go to Kinko. He didn't spend, it looked like a special needs after school project. Yeah. And, and, and he, he puts these 2016. I'm going to show you something, pick a card and don't show me what it is. And I pick a card and I don't show him what it is, but he's got the, each card had the amount of money on it, like a million and what yeah, he goes now, do you think you got the million?

I go, well, I got the soup and why do I think he goes, watch this open up six other cards and whatever's in those cards is not in York and I didn't really understand. I go. Is there any trivia? Is there any skill. I went home and I told my wife, this is the worst fucking day, an hour an hour. And they kept saying to me, you are perfect for this.

We can't do this without you Howie. We see you as the perfect person for this game, which bothered me more because there's no fucking game. Maybe it's because I had no fucking careers. So a guy with no career doing no games. Perfect. So. I went home and my wife said to me, what did, I said, it's his game.

They opened up cases in that and she goes, do it. And, and, um, she just said flat out do it. Yeah. Well, she said, I don't want you in the house. She said, just do it please. You just gotta, I was going down a really dark wormhole. I was just sitting there horribly and she goes, I don't care what it is. Just do some, you just need to do it.

And, and so she talked me into doing it, which I thought was. Horrible idea, but I listened to her, like you listened to her. They seem to be a little smarter than we are. Um, and, and the thing is that, so I went there and I was devastated, you know, was because they were practicing it and it didn't make any sense to me.

And then I said, oh, and this is fraud. So I called them back on Friday and I said, okay, I'll do it. And they went great. We told you, you're the perfect person for this. You're the guy that can do this. And I said, when do we tape? And he goes Monday and I go Monday, Monday, but what about the models you need 26 months?

We got, yes, you've already cast all the models I go. What about a set built? How fucking far down the list was? I, I called them back. I was terrified that I said, okay. But my wife made me say, okay.

So I called them a couple hours later and I said, can I, I don't know what to do. And I've never done a game show QBO. I live vulnerable and scared, but yes, I was even more heightened vulnerability and fear because we were about to start. And so I said, can I hear some comedy from my friends too? Right?

Maybe we can write maybe if nothing else, if this game is a piece of shit, I'll be, maybe I'll be funny. Like, and I don't know what to do. And you're asking me to do five hours, so let's right. They said, okay. And two, my friends came over and we wrote jokes about cases and things and models and shit like that.

And then I walked out that first day, that Monday I walk out and they said, welcome to deal or no deal. And the crowd is roaring and there's 12 cameras around and all these lanes. And I introduced the very first, uh, contestant, never forget. I did 500 shows. Karen. Wow. Ben, Karen van was the very first contestant and, uh, I met her.

I said, tell me about yourself, Karen and Karen explained to me that she was a single mother and these were her three children sitting in the audience right there. And she's never owned a home and she doesn't have health insurance. She's not from here. So in Iowa, like middle America, And then I realized, oh my God, this person is, is real.

This is real. And this is gonna th for her that's Karen van right there. And this picture makes so much sense to me, keep this picture up because I want to tell you, this is how she decided to dress for our episode. Right? So, and that was Karen van. That's the very first show I've been doing the show for 10 minutes.

And then I realized she's a real person. And I, and I also realized she's never been on television before. So there was like a glaze over her as far as all the cameras and all the lights and all the people. So she really wasn't listening, you know? So the first offer was something like $10,000 and I thought she's done nothing.

And in two minutes I just offered a $10,000 and with no. No deal. And here's a woman, there's a woman that just said she has three children. She doesn't have insurance. She doesn't have, and she's turning to. $10,000. Anyway, the point that I was making here is she said, no deal. And then. First and foremost, and this is what I love about you. You're a human being that's right. First 100. And, and as crazy as you are, you're a nice human being. And what happened to me there? Um, now I'm tooting my own horn.

I'm very nice. No, no, no. But, but the thing was, I, by the way, this is a real person and I don't care about she was making some dumb decisions so that. Changed my cadence. And I didn't want to do jokes anymore because I felt that that was distracting her from making good decisions. And it also informed my cadence of how I did that show.

I talked to her, like I talked to my five-year-old and I said, okay, the offer, listen to me is $60,000. Wow. Wow. Putting $60,000 more than you've made in three. Or do you open up another four cases? Karen listened to me $60,000. Wow. Or no deal, you know, and that I was talking to her, but that became my, my cadence.

And it was just about making her understand how important this was amazing. The co it wasn't amazing cause it didn't work and she ended up leaving, but she ended up leaving that woman look at her, right there. Ended up leaving with $5,000. No, that's great. $5,000 is almost double what I'm getting today for this podcast.

So I did the show and I did none of the jokes and I just played that game with that cadence and I taped five episodes. And I went home so miserable, so depressed because I said for the first time I've done five hours of television and I did fucking nothing because

[00:09:57] Bobby Lee: as a comedian, when you're doing

[00:09:59] Howie Mandel: something, you're not getting laughs.

Well, it wasn't funny. I wasn't doing lie lines like that were given to me from a script. I wasn't, it was the first time I was just Howie and I was just doing nothing. I just. Right, but that's not, you know, I went into this business to be a comedian, to be an actor, to be, to do something entertaining. And I did nothing.

I didn't do anything witty. I didn't do anything funny. And when it was going to air, I got on a plane with my whole family and I made my way. We flew to someplace in the Caribbean where there wasn't TV. And I was in Tortola and I got a call on the morning after it aired. The first time Rob Smith called me and he goes, you're not gonna believe this.

It went through the roof. And I went, what he goes, the ratings are unpressed. I go for what he goes, our show. And I just sat there. I didn't know what to say. Like thank you. I just hung up the phone. I thought something's wrong. The next day it aired the next day, it aired and Rob called me and said, it's even bigger on the second night.

And it was bigger on the third night. And that at the end of the week, 100 million people had watched it on just goosebumps on the network, fucking goosebumps, 100 million people I got on a plane. I came back, I landed in Miami within 30 seconds of landing. The first person. Made eye contact with me when deal or no deal.

And then every other person was doing it all. My goosebumps is bumps, man. It could be a rash. No, I just, yeah, she's coughing. You're breaking out. Honestly. This is giving me goosebumps, bro. So, and, and out of everything I've ever done. Everything from St. Elsewhere to movies, to Bobby's world, to AGBT to whatever I do.

The biggest success I've ever had in my career was the alert, no deal, which gave me the groundwork for everything else. That's how I started my production company. So I started calling you, I renegotiated and I knew rather than more money, I said, put me on the lot. I was on universal for seven years and, and, and I started producing shows and getting shows on the air, but that was the one time.

The one time when I went no fucking way, three times. And, uh, who nobody is more surprised and thrilled than I am.

[00:12:03] Bobby Lee: Now when you were in the Miami airport and you're and people are coming up to, what was your wife like? Astounding.

[00:12:10] Howie Mandel: Yeah. She knew she saw the show and she kept telling me, but I thought it was because she loved me. It was great. She goes, you got to see it. It's great. You're not inside it. I go, what is so great?

I didn't do anything. Tell me one funny thing. She goes, no, no, no. It wasn't funny. It was great. I go, but what did I do? And she goes, she goes, it w it, it, the idea of that humanity and people like either gambling or taking it too far or changing their life forever. That's great. I go, but me talk about me.

Why is that? Why is that it's embarrassing. Anybody could have been, there they go. No, you has the house. That's not true too, but that's the only you could have done that. Well, thank you. It would have been a completely different show if somebody else did it, somebody else did do it before me. They, you know, no, they did in a different country.

No, here, the show went, they did six episodes at ABB. With a British host and then, uh, whoever took over ABC, it wasn't their show. So they never aired it. We took the, they took the ABC show and recast it and did it with the same executive producer. Scott St. John at NBC. But right before I was doing it, they gave me the tapes that they watched at ABC.

And I said, I don't. Do this, I don't, I don't get it. That's incredible. You know, and they did it very differently. But what we did at NBC seemed to take off and do well. And I love, I love the show now, you know, and, and when that show took off, That was when they call Jeff Foxworthy and said, you should do smarter than a fifth grader.

And that's when they called Bob Saget and said, you should do one versus a hundred. And that's when they called Louie Anderson and said, you should do family feud. And that's why Steve Harvey has a career. Every time they're going to do a game show. Now the first calls are always comics. That's amazing.

[00:13:55] swyx: So the story we just heard covers a four-year arc. That was probably a pretty dark period for Howie from 2003 to 2007. Obviously dealer new deal did very well. And in 2010, how he replaced David Hasselhoff in America's got talent. And now he is one of the longest tenured judges on America's got talent and has revived his own superstar. Did.

As for game shows and changing the genre in general, how he credits himself with turning around. The game show genre and injecting comedy and comedians. Uh, most notably now with Steve Harvey and family feud.

View Details

Watch on YouTube: https://www.youtube.com/watch?v=W9qsxhhNUoU

    1. Wake up whenever you want
  • 2. Make sure your house is a complete disaster
    1. Procrastinate
    1. Pretend to be busy
    1. Wait for opportunities
    1. Always say no
    1. Be suspicious of people
  • 8. Never fix the things you dislike about yourself
    1. Focus on things you can’t control
    1. Use fear as motivation
    1. Only do what is comfortable
  • 12. Believe you are special
    1. See life not how it is, but how you wish it to be

Transcript
Here's a quick tutorial

on how to be miserable
for the rest of your life.

Step one, wake up whenever you want to.

Don't wake up at a reasonable hour,

an hour that makes you
feel good about yourself.

Make sure you wake up

when everyone has had a
head start to the day.

You really wanna make sure

you feel like you've missed any chance

to start your day off on the right foot.

And when you get out of bed,

don't make your bed and don't shower.

Just wear whatever you wore
yesterday and head downstairs.

It's important that you start the day off

with little to no self-respect,

feeling as grimy as possible.

Step two, make sure your house

is always a complete disaster.

Your house is filled with many rooms,

each with a specific purpose.

You wanna make sure that
it's extremely difficult

to accomplish those purposes.

The pigsty will also help
subconsciously reinforce the idea

that you're a disorganized person

whose life is not in order.

This is an extremely
important belief to have

when trying to remain miserable.

Step three, procrastinate.

When the thought dawns on you
to do something productive,

like clean your disgusting kitchen,

just ignore that feeling.

After all you just woke up,

and you have so much time later
in the day to get that done.

You wanna get in the habit

of delegating all your life's problems

to the future version of yourself,

who will probably have
a lot more motivation

and energy than you do right now.

Step four, look busy.

After you sit down to do some
work, open up a Word document

to help yourself feel like
you're being productive.

Give your document a nice title

and then immediately open up Reddit,

Instagram, Facebook, and Twitter

just to check if you missed anything.

You see, it doesn't
really matter what you do.

As long as you're sitting on your desk

and that Word document is open,

it'll help trick your conscience

into thinking you're doing work,

but you won't be getting
any further in life.

Step five, wait for opportunities.

Never be proactive with
finding new opportunities

to grow your career or meet new people.

Wait for all of that to
come knocking on your door.

After all, if it's gonna
happen, it's gonna happen.

You'll meet the girl
of your dreams one day

and things will kinda just work out.

You'll probably also land your dream job

if you just wait long enough.

Anyways, the important
thing is to not take action.

Don't try to figure out
the most effective way

to get what you want, just
wait until things work out.

Step six, be default no.

When a friend asks you to go
out for a drink, just say no.

After all, you're super busy these days

and have a lot of work to do.

When your boss gives you the opportunity

to lead a meeting at work,

try to find an excuse to slink out of it.

The key here is to give
everyone the impression

that they should just let
you do your own thing.

Be so good at saying no

that people just stop
asking you to do anything.

Step seven, be suspicious of people.

Never give people the
benefit of the doubt.

Believe that everyone

basically just wants to
take advantage of you,

and because of this, you should be guarded

and put up walls to protect
yourself emotionally.

Assume the smiles people give you are fake

and that their motives are malevolent.

Step eight, never fix the things
you dislike about yourself.

Continue to engage in activities

that make feel subhuman and weak.

Never prove to yourself

that you can overcome
obstacles or better yourself.

Never attempt to transcend your vices

or change your lifestyle for the better.

Subscribe to the idea
that people can't change,

so you shouldn't try.

Step nine, focus on
things you can't control.

As often as possible, get
pissed off at the traffic,

the government, the pandemic.

You really wanna reinforce the idea

that the world is messed up

and there's nothing you can do about it.

Focus on the shortcomings of others,

the failings of your country,
and the state of the economy.

Maintain a constant
external locus of control

over all the events in your life.

This will really help you feel powerless.

And if you're trying to be
miserable, that's perfect.

Step 10, use fear as motivation.

Make the fear of negative consequence

your primary motivator
for everything you do.

Set up deadlines that frighten you

and punish yourself for
failing to meet them.

Use white-knuckle tactics

to force yourself into productivity

and remind yourself constantly

that your entire life could fall apart

if you don't keep your head above water.

Step 11, only do what is comfortable.

Let your comfort zone be the authority

on what you do and don't do.

If it's not comfortable, don't do it.

Avoid discomfort at all costs

and participate only in activities

that are familiar and effortless.

Don't concern yourself with gaining

fresh perspectives or novel experiences.

Stay in your lane. Operate
in your wheelhouse.

Step 12, believe you're special.

Behave like you're entitled to things

on the basis that you're just
different than everyone else.

Assume that the people that
have what you want in life

just don't deserve it as much as you do.

Always regard yourself as talented,

unique, one of a kind.

This will really help you
develop an outsider complex,

which will make it difficult
to open up to other people

or see things from their perspective.

But since you don't wanna do

any of that uncomfortable
stuff anyways, that's perfect.

Step 13, see life not as it is,

but how you wish it to be.

Daydream of a day where things are better,

fantasize about a life where
all your problems are gone.

You wanna make sure you mentally
escape as much as possible

to distract you from the
obstacles in front of you.

Pour your mental energy

not into fixing your problems
or improving yourself,

but into building up this fantasy

to be as detailed as possible.

Reflect daily about what you would buy

if you won the lottery
or became a celebrity.

Constantly compare your
life to this fiction

and become resentful at the juxtaposition.

So if suffering is what you're after

and you crave the daily strife,

then you're in luck because
if you follow this advice,

you'll be miserable for
the rest of your life.

View Details

This podcast involves two live demos, you can catch up on the YouTube verison here: https://youtu.be/T3K_DrgLPXM

Links

  • Builder.io https://www.builder.io/
  • PartyTown https://github.com/BuilderIO/partytown
  • Qwik https://github.com/builderio/qwik
  • https://dev.to/mhevery/a-first-look-at-qwik-the-html-first-framework-af

Timestamps

  • [00:01:53] Misko Intro
  • [00:03:50] Builder.io
  • [00:08:31] PartyTown
  • [00:11:41] Web Workers vs Service Workers vs Atomics
  • [00:15:02] PartyTown Demo
  • [00:21:46] Qwik and Resumable vs Replayable Frameworks
  • [00:25:40] Qwik vs React - the curse of Closures
  • [00:27:32] Qwik Demo
  • [00:42:40] Qwik Compiler Optimizations
  • [00:53:00] Qwik Questions
  • [01:00:05] Qwik vs Islands Architecture
  • [01:02:59] Qwik Event Pooling
  • [01:05:57] Qwik Conclusions
  • [01:13:40] Qwik vs Angular Ivy
  • [01:16:58] TED Talk: Metabolic Health

Transcript

[00:00:00] Misko Hevery: So the thing that I've learned from Angular.js days is make it really palatable, right. And solve a problem that nobody else has. Doing yet another framework in this state of our world would be complete suicide cause like it's just a different syntax for the same thing, right? So you need to be solving a problem that the other ones cannot solve.

[00:00:22] swyx: The following is my conversation with Misko Hevery, former creator of Angular.js, and now CTO of Builder.io and creator of the Qwik framework. I often find that people with this level of seniority and accomplishment become jaded and imagine themselves above getting their hands dirty in code.

[00:00:39] Misko is the furthest you could possibly get, having left Google and immediately starting work on the biggest problem he sees with the state of web development today, which is that most apps or most sites don't get a hundred out of a hundred on their lighthouse scores. We talked about how Builder.io gives users far more flexibility than any other headless CMS and then we go into the two main ways that Misko wants to change web performance forever: offloading third-party scripts with PartyTown, and then creating a resumable framework with Qwik. Finally, we close off with a Ted Talk from Mishko on metabolic health. Overall I'm incredibly inspired by Misko's mission, where he wants to see a world with lighter websites and lighter bodies.

[00:01:23] I hope you enjoy these long form conversations. I'm trying to produce with amazing developers. I don't have a name for it, and I don't know what the plan is. I just know that I really enjoy it. And the feedback has been really great. I'm still figuring out the production process and trying to balance it with my other commitments so any tips are welcome. If you liked this, share it with a friend. If you have requests for other guests, pack them on social media. I'd like to basically make this a space where passionate builders and doers can talk about their craft and where things are going. So here's the interview.

[00:01:53] Misko Intro

[00:01:53] swyx: Basically I try to start cold,

[00:01:55] assuming that people already know who you are. Essentially you and I met at Zadar and, I've heard of you for the longest time. I've heard you on a couple of podcasts, but I haven't been in the Angular world. And now you're no longer in the Angular world.

[00:02:11] Misko Hevery: The child has graduated out of college. It's at a time.

[00:02:15] swyx: My favorite discovery about you actually is that you have non-stop dad jokes. Um, we were walking home from like one of the dinners and that you're just like going, oh, that's amazing.

[00:02:27] Yes. Yeah.

[00:02:28] Misko Hevery: Yes. Um, most people cringe. I find it that it helps break that. It does and you know, the Dad jokes, so they're completely innocent. So you don't have to worry. I also have a good collection of, uh, computer jokes that only computer programmers get.

[00:02:47] swyx: Okay. Hit me with one.

[00:02:48] Misko Hevery: Um, "How do you measure functions?"

[00:02:51] swyx: How do I measure functions? And the boring answer is arity,

[00:02:55] Misko Hevery: and that's a good one! "In Para-Meters." Uh,

[00:03:03] swyx: yeah. So for anyone listening like our entire journey back was like that it just like the whole group just groaning. No, that's really good. Okay. Well, it's really good to connect. I'm interested in what you're doing at Builder. You left Google to be CTO of Builder. I assumed that I knew what it was, from the name, it actually is a headless CMS and we can talk about that because I used to work at Netlify and we used to be very good friends with all the headless CMSes. And then we can talk about Qwik. How's that ?

[00:03:34] Misko Hevery: I can jump into that. Sorry. My voice is a little raspy. I just got over a regular cold, like the regular cold ceilings

[00:03:42] swyx: conference call, right. I dunno, I, I had it for a week and I only just got over it.

[00:03:46] Misko Hevery: It was from the conference. Maybe it wasn't from the other trip I made anyways.

[00:03:50] Builder.io

[00:03:50] Misko Hevery: So let's talk about Builder. So Builder is what we call a headless visual CMS. Uh, I did not know any of that stuff. Would've meant. So I'm going to break it down because I assume that the audience might not know either.

[00:04:01] So CMS means it's a content management system. What it means is that non-developers, uh, like typically a marketing department think like Gap. Gap needs to update .... If you're showing stuff on the screen, you can go to Everlane. Everlane is one of our customers. Okay. And so in Everlane case, the marketing department wants to change the content all the time.

[00:04:22] Right? They want to change the sales, what things are on the top, what product that they want to feature, et cetera. And, um, this is typically done through a content management system. And the way this is typically done is that it's like a glorified spreadsheet where the engineering department makes a content.

[00:04:39] And then it gives essentially key value pairs to the marketing. So the marketing person can change the text, maybe the image, but if the developer didn't think that the marketing person might want to change the color or font size, then there is no hook for it, and the marketing person can't do that.

[00:04:54] Certainly marketing person won't be able to add new columns, decide that this is better shown in three columns versus two column mode or show a button or add additional text. None of that stuff is really possible in traditional content management systems. So, this is where the visual part comes in. So Builder.io is fully visual, right?

[00:05:13] Drag and drop. You can add it, whatever you want in the page. And the last bit is headless, meaning that it's running on the customer's infrastructure and we don't host the website. If you are, if we are hosted CMS, then it's relatively easy to make a drag and drop editor.

[00:05:28] But because we don't host it, it's not on our infrastructure. It's actually quite a head-scratcher. And the way we do this, which I think is pretty cool, is, we have this open source technology called Mitosis, which allows us to give one input to Mitosis and it can produced any output in terms of like, whether you use Angular, React, Vue, Svelte, Solid, it doesn't matter what you use on the backend.

[00:05:50] We will generate a component for you. And because we're generating an actual component, it drops into the customer's backend infrastructure, right. And everything just works there. Server-side rendering works. Everything that, that the customer might have on a backend, it just worked because it's a full-on regular component, whether it's Angular, React, or whatever the company might use.

[00:06:13] So that's the unique bit that nobody knows how to do. And it's also the bit that attracted me to Builder.io and joining them. And the reason for that is because it is really easy for them to create new technology. So one of the things we're going to talk about later is this thing called Qwik.

[00:06:30] What's super easy with Builder.io is that they can easily produce new output. So if you have a customer that already has their content, let's say on react or Angular, and they decided they want to move over to something different, like Qwik, and I will talk about why that might be a reason, it is super easy because with a push of a button, because we generate the content, we can generate the components in a different framework.

[00:06:55] swyx: Got it. It's interesting. Have you seen Tailwind?

[00:06:57] Misko Hevery: So Tailwind is more of a CSS framework with my understanding is correct for

[00:07:01] swyx: building, but they had to build something for doing this essentially like having different outputs, uh, we have one central template format that outputs all these different

[00:07:11] Misko Hevery: things.

[00:07:12] So this is what Mitosis would do. Right. But Mitosis can do this across all of them, not just Vue and React, right? Every single one. Like, I don't even know what the list is, but there's a huge list of possible outputs that uh, Mitosis

[00:07:25] swyx: can do. Yeah. You have, Liquid and JSON.

[00:07:30] Misko Hevery: There's more, I mean, this for ones that you see over here.

[00:07:33] Yeah. You can see pretty much everything's analyst here. We can import from Figma, given some constraints. Cause it's not a one-to-one thing kind of a thing, but we can import from Figma. So the idea is that people can design their site in Figma provided that they follow a certain set of guidelines.

[00:07:49] We can actually import them and to turn it into HTML and then serve it up, whether it's React or whatever. One of the things is that's actually important. For example, for us is Liquid, right? Liquid is a templating system on Shopify. But it's a server side templating system and it cannot be done on the client side.

[00:08:05] So if you pre-render on Liquid, how do you get a component to bind to it on the client? Because you would need to have the same component. Right? One of the things we can do is we can present it on a liquid and then produce an, a equivalent react component on the client and they automatically bind to it on a client.

[00:08:21] Right. So we can do these kinds of tricks which are normally quite difficult.

[00:08:25] swyx: So you went from building one framework to building all the frameworks.

[00:08:29] Misko Hevery: You can think of it that way.

[00:08:31] PartyTown

[00:08:31] Misko Hevery: But my real thing, the real passion is that I want to get all sides to be 100/100. Yeah. Okay. Uh, on mobile, not on this stop, you know, a lot of people claim on desktop that they can do 100 out of a hundred mobile, that's the bar.

[00:08:46] So I want to figure out how to do this. And in order to do that, you really have to get super, super good at rendering these things. And it turns out that if you just make a blank page and blank, white page with nothing on it, and you add a Google tag manager, that alone puts you essentially on the cusp of a hundred, out of a hundred on mobile.

[00:09:08] So that alone, that, that act alone, right, he's kind of uses up all your time that you have for rendering. And so the question becomes like, how do we make this as fast as possible? So you can get a hundred out of a hundred on mobile. And it's very little processing time that you get to have and still get to have a hundred.

[00:09:25] And so we do two things. One is be introducing a new framework called Qwik. little later. But the other thing we're talking about is introducing this thing called PartyTown okay. And I absolutely love PartyTown. So the person behind PartyTown is Adam Bradley, who you might know him from, making the Ionic framework.

[00:09:43] The guy is absolutely genius. And this is a perfect example of the cleverness of it. All right? So you have, something like a Google tag manager that you want to install on your website. And that thing alone is going to eat up all of your CPU time. So you really would like to put it on a WebWorker, but the problem is you can't because the WebWorker doesn't have DOM API.

[00:10:02] It doesn't have a URL bar. It doesn't have just about everything that the Google tag manager wants to do. Right? Google tag manager wants to insert a tracking pixel on your screen. It wants to register a listener to the, to the, uh, URL changes. It wants to set up listeners for your mouse movements, for the clicks, all kinds of stuff.

[00:10:21] So running it on a Web Worker becomes a problem. And so the clever bit of geniuses that Adam came up with is that, well, what you really want is you want to proxy the APIs on the main thread into the web worker thread, and you can proxy them through, you know, we have these, these objects called proxies.

[00:10:39] The problem is that the code on a Web Worker expects everything to be synchronous. And our communication channel between the main thread and the web worker thread is async. And so the question becomes like, well, how do you solve this particular problem? And it turns out there is a solution to this problem.

[00:10:56] And the solution is that you can make a XML HTTP request, which is synchronous, on a Web worker. And then you can intercept that the request using a service worker and then service worker can talk to the main thread. Figure out what exactly did you want to do? So for example, let's say you want to set up a, uh, you want to know the bounding rectangles of some div, the Web Worker thread can make that request, encode that request inside of a XML HTTP request, which goes to the service worker. Service worker calls the main thread, the main thread figures out what the rectangle boxes, and then sends the information back to the web worker thread, which then doesn't notice anything special. As far as it's concerned, it's just executing stuff, synchronously. It's like, you're laughing, right? Because this is hilarious.

[00:11:41] Web Workers vs Service Workers vs Atomics

[00:11:41] swyx: So I'm one of those. Okay. You're, you're a little bit ahead of me now. I'm one of those people I've never used web workers or service workers. Right. Um, can we talk a little about, a little bit about the difference and like, are they supposed to be used like that? Like,

[00:11:54] Misko Hevery: uh, so we did these two because they are supported under the most browsers.

[00:11:59] There's a different way of making synchronous call and that is through something called Atomics, but Atomics is not available on all browsers yet.

[00:12:07] So web worker is basically just another thread that you have in the browser.

[00:12:12] However, that thread doesn't have access to the DOM. So all DOM APIs are kind of gone from there. So you can do a lot of CPU intensive things over there, but, , with limited abilities and this is what PartyTown solves is it proxies all of the API from the main thread into the Web Worker thread. Yeah.

[00:12:32] Now service worker is kind of a safe thing, but the difference is that a service worker can watch HTTP requests go by and it can intercept them. And so think of it as almost like a mini web server in your browser. And so what the service worker does over here is intercepts the request that the web worker makes, because that's the only way we know how to make it blocking call.

[00:12:56] swyx: Uh, this is the one that we use for caching and Create React App and stuff like that.

[00:13:00] Misko Hevery: Yeah. And then, because we can make a blocking call out of a web worker, the service worker who can use the blockiness of it to make an asynchronous call to the main thread and get all the information that you need.

[00:13:12] swyx: that's pretty smart. Is there any relation to, uh, I know that I think either Jason Miller or Surma did a worker library that was supposed to make it easier to integrate, um, are you aware of, I think

[00:13:25] Misko Hevery: all of these worker rivalries are in heart they're asynchronous, right. And that's what prevents us from using it, right.

[00:13:31] Because the code as written assumes full asynchronicity, and that is the bit that's. Different. Right. That's the thing that allows us to take code as is, and just execute it in a, Web Worker. And so by doing that, we can take all of these expensive APIs, whether it's, Google tag manager, Analytics, Service Hub, I think that mispronouncing it, I think, all of these libraries can now go to the main thread and they have zero impact on your Google page speed score. And we actually talked to Chrome and we said like, Hey, we can do this. Do you think this is cheating? Right? Like, do you think that somehow we're just gaming the system and the message was no, no, because this actually makes the experience better for the user, right?

[00:14:17] Like the user will come to the website. And because now the main thread is the thing that is running faster and none of this stuff is blocking. You actually have a better experience for the user. The other thing we can do is we can actually throttle how fast the Web Worker will run because when the Web Worker makes a request back to the main thread to say, like, I want the bounding box, or I'm going to set up a tracking pixel or anything like that, we don't have to process it immediately.

[00:14:43] We can just say, well, process this at the next idle time. And so the end result is that you get a really high priority for the main thread and then the analytics loads when there's nothing else to do. Which is exactly what you want, right? You want these secondary things to load at a low priority and only be done when there's nothing else to do on the main thread.

[00:15:02] PartyTown Demo

[00:15:02] swyx: That's amazing. Okay. All right. We have some demos here if we want to

[00:15:05] Misko Hevery: So if you, let's pick out the simple one, the element, right. And what you see in the console log is this is just a simple test, which performs, uh, synchronous operations. But what you see on the console log is that all of these operations are intercepted by the service worker.

[00:15:22] Right. And we can see what particular API on the web worker is trying to do and what the result is, what the return code is, you know, how do we respond and so on and so forth. And so through this,you can kind of observe what your third party code does. By the way. The nice thing about this is also that, because you can observe, you can see is ECP.

[00:15:43] If you're a third-party code, because we essentially trust them, right. Fully trust this third party code on your website and who knows what this third party code is doing. Right? So with this, you can see it and you can sandbox it and you can, for example, say like, yeah, I know you're trying to read the cookie, but I'm not going to let you, I'm just going to return an empty cookie because I don't think it's your business to do that.

[00:16:04] You know, or any of those things we can do. So you can create a security sandbox around your third party code. That is kind of, as of right now is just implicitly trusted and you can, you have a better control over it.

[00:16:18] swyx: I could filter for it, I'm basically, I need HTTP calls and then I need any cookies.

[00:16:23] Right. So,

[00:16:25] Misko Hevery: yeah. So in this case, there will be nothing because this is just showing off element API, but I think you go to previous page

[00:16:33] swyx: Before we go there. is there anything significant and? It says startup 254 milliseconds?

[00:16:38] Misko Hevery: Yeah. So the thing to understand is that it is slower, right? We are making the Google tag manager slower to start up.

[00:16:46] Right. So it's definitely not going to be as fast as if it was on a main thread, but it's a, trade-off, we're doing intention. To say like, Hey, we want to give the CPU time to a user so that the user has a better experience rather than eagerly try to load analytics at the very, very beginning and then ruining it for the user.

[00:17:04] So while in theory, you could run a react application and the web worker, I wouldn't be recommended because it will be running significantly slower. Okay. Um, because you know, all of these HTP requests, all these calls across the boundary, uh, would slow down. So it is a trade-off.

[00:17:23] swyx: So this is really for the kind of people who are working on, sites that are, have a lot of third-party scripts for,

[00:17:30] Misko Hevery: well, all the sides have third party scripts, right?

[00:17:32] Like any kind of a site will have some kind of third-party whether it's analytics ads or just something that keeps track of what kind of exceptions happen on the client and send them back to the server, right. Standard standard things that people have on a website. And instead of the standard things that are making, preventing you from getting a hundred out of a hundred on your score.

[00:17:52] Right. Okay, amazing. So this is a way of unloading stuff from the main thread Got

[00:17:58] swyx: What's the API? I haven't seen the actual code that, Party Town. Okay. There's a, there's a adapter thingy and then

[00:18:05] Misko Hevery: you stick it. So we, those are just for react components. There is also vanilla. Just go a little over.

[00:18:14] So do

[00:18:16] swyx: you see how we have to prioritize, React above Vanilla?

[00:18:20] Misko Hevery: Even lower? This just shows you how you get the PartyTown going. Oh, here we go. Text to pay. We go right there.

[00:18:25] You're looking at it right there. So notice what. We asked you to take your third party script, which, you know, if you go to Google on an exit, it tells you like, oh, take this script tag and just drop it inside of your head. Right. Or something like that. So what we do is we say like, do the same exact thing, except change the type to text/partytown.

[00:18:43] And that basically tells the browser don't execute it. Instead, PartyTown will come later, read the stuff, ship it over to the web worker and then do it over there.

[00:18:54] swyx: So the only API is you, you just change this, that's it? Yes. Yes.

[00:18:58] Misko Hevery: So you drop a party down script into, uh, into, which is about six kilobytes. And then you go to all of the third-party places and just add, type text/partytown, and that ships them off to the other place.

[00:19:10] swyx: So, um, it feels like Chrome should just build this in like script, script type third party. Right. And then just do it.

[00:19:20] Misko Hevery: Yeah. I mean, we're having chats with them. You never know. Maybe if this shows up to be very useful technique. It might be something that Chrome could consider. Well, certainly we need a better way of making synchronous calls from the web worker thread to the main thread, not from the main ones of the web, right.

[00:19:37] That's clearly a bad idea, but from the web worker, the main, it would be really nice to have a proper way of doing synchronous calls.

[00:19:44] Atomics

[00:19:44] Misko Hevery: Atomics might be the answer. And so it might be just as simple as getting all the browsers to adopt Atomics because the standard already exists.

[00:19:51] swyx: And I see what, what is this thing I've never heard of it?

[00:19:55] Misko Hevery: Atomics is basically a shared memory array buffer between two threads and you can do, atomic operations like locking and incrementing and things of that sort on it. And they can be done in a blocking way. So you can, for example, say, increment this to one and wait until whatever result is three or something like that.

[00:20:14] So then you're giving a chance for the other thread to do its work. I

[00:20:18] swyx: mean, this is like, so I'm writing assembly, like,

[00:20:22] Misko Hevery: It's not assembly it's more, you know, semaphore synchronization.

[00:20:26] swyx: Um, okay. Yeah. I see the, I see the locks and stuff, but this is, I can't just like throw in a third party script here.

[00:20:33] Misko Hevery: No, no, no. This is something that the PartyTown would use to get synchronous messaging across. Right. Because currently it is kind of a hack that we create an XML HTTP request that is blocking that stuff with a service worker. Like this is craziness, right. So Atomics would definitely be a nicer way to do this.

[00:20:51] swyx: I think the goal is definitely very worthwhile that the underlying, how you do it is a bit ugly, but who cares?

[00:20:57] Misko Hevery: Yeah. So the goal is very simple, right? The goal is, for us, we think we can have the best CMS, if we can produce websites that are a hundred out of a hundred on mobile, right?

[00:21:07] That's the goal. And if you look at the current state of the world, and if you go to e-commerce websites, it's pretty dismal. Like everybody gets like 20 something on their scores for their sites, right? Even Amazon that has all the resources to spend, will only get 60 out of a hundred on their score.

[00:21:24] Even Google website themselves gets it only about 70, out of a hundred. Right? So the state of the world is not very good. And I feel like we are in this cold war in a sense that like everybody's website is equally bad, so nobody cares. Right. But I'm hoping that if you can build a couple of websites that are just amazingly fast, then the world's going to be like, well, now I have to care.

[00:21:46] Qwik and Resumable vs Replayable Frameworks

[00:21:46] Misko Hevery: Right? Because now it is different. And so now we're getting into the discussion of Qwik. So what is clicking and why do we need this? So, um, the basic idea behind Qwik, or rather than, let me back up a second of why existing websites are slow.

[00:22:04] And so there's two reasons, right? One is third party scripts, and we just discussed how we can solve this through PartyTown right? I mean, we can move all of their party scripts off.

[00:22:12] However, even if you move all the third party scripts off, your problem is still going to be that, uh, the startup time of your website is going to be pretty slow. And the reason for that is because all websites ship everything twice. First it's a server side rendered HTML, right.

[00:22:30] And the page comes up quickly and then it's static. So we need to register listeners. Well, how do we adjust your listeners? Well, we download the whole site again, this time they came to in a form of TypeScript or JavaScript, and then we execute the whole site again, which is by the way, the server just did that.

[00:22:49] Right? Yup. Yup. And then we know where to put up listeners and, that causes, you know, this is a perfect graphic for it, right. That causes double loading of everything. So we, we download everything once as HTML and then we load everything again, as JavaScript and then the execute the whole thing again.

[00:23:07] So really we're doing everything twice. So what I'm saying is that the current set of framework are replayable, meaning that in order for them to have the bootstrap on the client, they have to replay everything that the server, literally just did, not even a second ago. And so Qwik is different in a sense, because it is resumable.

[00:23:27] The big difference with Qwik is that the Qwik can send HTML across, and that's all. That's all it needs to send across. There's a little tiny bootstrapper, which is about one kilobyte and about one millisecond run, which just sets up a global listener and alert for the system. And no other code needs to be downloaded and it can resume exactly where the server left off.

[00:23:48] So you need to have some formal way of serializing, the state, getting the state to the client, having a way of deserializing the state. More importantly, there's an importance to be able to render components independently from each other, right? And this is a problem with a lot of frameworks, which is - even if you could delay the startup time of a, uh, of an application, the moment you click on something react has to rerender the whole world right now, not rerender, that might be the wrong term, but it has to re execute its diffing algorithm from the root, right. It has to build up the vDOM. It has to reconcile the vDOM, has to do all these things, starting at the root.

[00:24:26] There's no real way to not make it from the root. And so that means that it has to download all the code. And so the big thing about Qwik is, how can we have individual components be woken up individually from each other in any order? Right? I mean, people tend to talk about this in form of micro components or microservices on the client, right?

[00:24:46] This is what we want, but at like the ultimate scale, where every component can act independently from everybody else.

[00:24:54] swyx: Yeah. Yeah. I think, we should talk a little bit about that because basically every single component is its own module and separately downloaded. So you're really using the multiplexing or whatever you call it of HTTP/2, right?

[00:25:05] Like you can parallelize all those downloading. Right. The main joke I made, because I saw this opportunity and I was like, immediately, like, I know this will be the most controversial part, which is essentially. Uh, the way you serialize is you put everything in HTML, right? Like, like that.

[00:25:23] So, so I, I immediately feel that, and it will stir up some controversy, but like also, like, I think the, the interesting, I mean, we should talk a bit about this. Like, obviously this is not handwritten by, by, by people. So people should not be that worried. Um, but also like there are some legitimate concerns, right.

[00:25:40] Qwik vs React - the curse of Closures

[00:25:40] swyx: About how I think basically Dan Abramov was, was also the, the, you, you responded to Dan. Um, so Dan said something like this, okay. So it wasn't a direct response to Qwik but Qwik serializes all state in HTML, and that's something that we considered for React Suspense. And he says, basically the question was, have you considered allowing server components to have serializable state using equivalent?

[00:26:03] it's been proposed somewhere earlier. This doesn't work generally state is in reaction arbitrary. Payloads would get huge essentially, like, "does it scale?" Is the question. Uh, and he said that this was done before and I went and looked it up and he was like, yeah. And it's actually what we used to do for ASP .NET WebForms. Right.

[00:26:18] Misko Hevery: So if you will look at react the way to React does things. And so I want to pull this up on one of the dev, uh, dogs. I actually talk about it and it might be useful to kind of pull it out. Yeah, the one you are on right now, the answer adoptable fine-grained lazy loaded. The point is that if you have a react component, react components take heavily, closures, right? Closure is the bread and butter of react components and they rely on closures everywhere and it's beautiful. I it's absolutely nice. I really like the mental model. However, it doesn't serialize, right?

[00:26:50] You can't take a closure and serialize it into HTML. So what Qwik is trying to do is it's trying to break this up into individual functions. Clearly functions cannot be serialized, but functions can get a URL , a globally known URL, uh, which can load this. So if you scroll a little lower, you will see a, uh, Qwik component , and the difference is, in a Qwik component, we'll have these declaration template, which is which points to a location to where this particular thing can be loaded, if you scroll even further, it talks about how this particular thing can be served up in pieces to the client, if you do this thing. Right. So while it's maybe true that like, oh, it's been tried before and we didn't do it right.

[00:27:32] Qwik Demo

[00:27:32] Misko Hevery: Have people really tried to solve every single one of these problems. Right. And there's a huge myriad of them that Qwik is trying to solve and kind of get over. And so maybe I can show it to you as a demo of what I kind of have a to-do app working. So let's let me, let's talk about this.

[00:27:50] One of the things. So by the way, the screenshot you have on your Twitter account, that is the old version of Qwik, I've been chatting with you and bunch of other people at the conference, I really got inspired by lots of cool things. And this is a kind of a new version I'm working on, which has many of the issues fixed up and improved. So the thing I'm going to show you is standard todo example, right? I mean, you've seen this millions of times before.

[00:28:15] swyx: By the way. I did not know that, uh, I think Addy Osmani made this original to do yes, he did. He did. And it's like the classic example. That was a classic example,

[00:28:24] Misko Hevery: right?

[00:28:27] So remember the goal for us is to serialize everything and send to the client in a form that the client can resume where the silver left off. Right. And then everything can be downloaded in pieces. So there's a lot of things to talk about. So let's start with, with how this works first, and then we can talk about how different pieces actually fit together.

[00:28:46] So, you know, first thing you need to do, is, standard, define your interface for an item and define your interface for Todos, which is the collection of items, which contains , number of items completed in the current filter state, and just a list of items like so far, nothing.

[00:29:02] Now the special thing comes in that when you declaring a object that you want to serialize, you will run it through this special function called Q object. And it's a marker function and does a couple of things to an object. But you're just basically passing all the stuff in and notice the individual items on Q objects as well.

[00:29:20] The reason I did it this way is because I want to serialize individual line items separately, because I know that I'm going to be passing the individual items into separate components individually. Right? So what this basically says to the system is like, there is a top level object. Which is this guy right here and it can have rich state, but remember it has to be JSON serializable.

[00:29:43] Therefore it cannot have cyclical things inside of it. It has to be a tree, but inside of it, it can have other objects and those can form cyclical things. So using the combination of those two, you can actually get cyclical graphs going inside of your application. But individually, each Q objects doesn't have that.

[00:30:02] So that's a bit of a magic. If I scroll over to the actual running application, what you will notice is these Q objects get serialized like right here. So for example, this one has some ID and you notice it says completed zero and the inside of it has individual items. And notice these items are actually IDs to other locations.

[00:30:22] So this ID ending in Zab is actually pointing to this object right here, which has other things. So the whole thing gets serialized. And unlike the demo I showed in Zadar, I have moved all the serialized content at the end, because I don't want to slow down the rendering of the top part. And so if you go, let's go back to our application.

[00:30:41] So if you have Todo app, the Todo app is declared in a slightly more verbose way than the way the one would be declared in React. But if we do it this way, then we can serialize the closures, right? The closures don't have the issue with non serialized. By the way, the regular React way of doing things still works here and you can do that is just, they become permanently bound to their parents.

[00:31:05] They cannot be lazy loaded. So you can think of it as having two mental models here. You can have lightweight components, which are essentially the same as react components, or you could have Q components, which are slightly more heavyweight, but they get the benefit of having the whole thing, be composable and get lazy a little bit so on and so forth.

[00:31:24] So in this particular case, we're saying that there is a Todo app component and the QRL is this magical marker function that tells the system that this content here needs to be lazy. Or rather let me phrase it differently, it says the content here can be lazy loaded. The beauty of Qwik is that it allows you to put a lazy load of boundaries all throughout the system.

[00:31:48] And then an optimization phase later decides whether or not we should take advantage of these lazy loaded motor boundaries, right in normal world, the developer has to put dynamic imports and that imports that asynchronous and a pain in the butt to work with, it's not simple. Right? So instead, what Qwik wants to do is say like, no, let's put dynamic imports everywhere, but do it in a way where the developer doesn't have to worry about it and then let the tooling figure out later whether or not we should actually have a dynamic import at this location or not.

[00:32:18] Yeah. So even though this file, this there's two applications is in a single file in the tooling. We'll be able to break this file up into lots of small files and then decide in which order the things should be shipped to the client in order to get the best experience. You know, if there's a piece of code that never runs in the client will then put it at the bottom of the, of the chunks, right?

[00:32:38] If there's a piece of code that is going to be most likely, you're going to click on it and put it up to the top. So, anyway, so that's kind of a diatribe here with a little bit of an off the rails here, but what this produces is a to-do and it turns the code, right? This QRL function, it says on render, it gets turned into a URL.

[00:32:58] And this is what allows the build system to rearrange the code. And so this URL basically says, if you determine that Todo needs to be re re rendered, uh, then you can go download this piece of code. And that will tell you how do we render the Todo, right.

[00:33:14] You know, you're using a header and we're using main, notice we're binding Todos in there. So it looks like a regular binding, but the system has to do more work. So in this particular case, the main has to see if it has Todos, it has to refer to a object. So notice this, this ID here matches the ID here. And this is basically how the system knows that this component here, because if you look over here, the main and foot are, both of them want to know that you do this right?

[00:33:42] So both of these components need to have the same object. And so, yeah, exactly. So this main here, as well as the footer, they both have a same ID passed in here. And that's how the system knows like, all right, if I wake you up, I have to make sure to provide you with the same exact ID. Now, not only that there is also this particular thing, which is just a copy of it, but, but in this particular.

[00:34:08] What it does is, is the list, all of the objects that could potentially affect the state of this component. And when you go and you modify one of these, state objects, the state, these objects actually keep track of each other and they know which components need to be woken up and affected. So I think there's an example of it somewhere here later, uh, like right here, right in here, it says, Hey, if you, uh, you know, do a key up on the input right here, if I type here over here, something, then the key up runs and then eat, enter runs, you know, add a new item, which is just the function that the function right here, which just pushes an item and new item into the list.

[00:34:54] And it sets my current state to text me. And so the system knows that in this political case, in a header, this input right here, Has its own state right here. So let me refresh this again. Um, this header has its own state one eight, whatever, right? Which if you look over here is right here. It's text blank, right?

[00:35:16] So we find typing here. I'm going to change the state over here. And then if I set the state to blank, then the system knows, oh, that's object 1 8, 7 1, or whatever. I can run a query. I can run document DOM, querySelectorAll. And I can say, give me, uh, all the queue objects, remember how the selector for this start something like this.

[00:35:44] Anyways, there's a way to run a selector that will allow me to whatever, whatever the code is, right? I'll run the selector and this selector will then return this header back to me saying this is the object or rather, this is the component that is, has interests registered into this object, which means.

[00:36:04] Because I've selected this thing. I have to find the Q render message and send the Q render message to download its template and we render the object. And so what this allows you to do is have a completely distributed set of components that can be awoken only when a relative, you know, appropriate data is changed rather than having this world of like, well, the state has changed and I don't know who has a reference to what?

[00:36:30] So the only thing I can do is we learn that the whole page. Well, that's kind of a, it doesn't help you, right? Cause if you run the, the whole page, then there's the whole, the code has to come in here. Right. So that's not helpful. We want to make sure that we only download the code is actually needed. And so you need to have some mechanism by which, you know, like if I change this piece of code, if I change this object, which component needs to be awoken, right.

[00:36:54] And normally like if you have Svelte, Svelte does through subscription, this particular trick, the problem is subscriptions cannot be serialized into the DOM. And so we need a mechanism where the subscription information is actually DOM serializable, right? And this is what the Q object is, or the subscriptions that the individual components have to undo to other things.

[00:37:18] And so the other thing I kinda want to point out is that we can then bind a complex object. Like in this case, it's a complicated state that'd be assigned to reduce yet. It turned into a binding that's serializable into the bottom, right? So if I go back here, see I'm jumping around. So we have our footer.

[00:37:38] If we have our main, the main is declared over here, you know, standard, uh, JSX in here where you, you want to iterate over a bunch of items. There's a host. Okay. So one of the things we need to do is, um, in react, when you have a component, the component is essentially hostless, or I would say it's life component in the sense that it doesn't have a parent, right.

[00:38:02] Uh, and that is wonderful in many, many situations, but sometimes it isn't. The problem we have is that we need to have a component. We need to have a DOM element for each component that can be queried using querySelectorAll so that we can determine if there is a listener on it, or if there is a subscription on a particular object or a single back.

[00:38:24] So we have this concept of a host element, and this is one way in which the Qwik Q component is more heavyweight than the react component. You can still use react components if you want, you just don't get the benefits we talked about. And, and so a host element is, is a way of referring to the, the host element and adding an attribute to it.

[00:38:47] Right. And saying like, oh, I want the host, I'm going to have a classmate. And so if you go into, let's see Maine, uh, right. So it's supposed to be a classmate, right. So it's the component that, that adamant. So normally, uh, the way you do this normally in react is that the main would be a object that the JSX of the re.

[00:39:07] The child react component, right? In this particular case for a variety of reasons, we need to eagerly create this particular thing. So then it's a placeholder for other things to go in. And so we need to do an eagerly and then we need a way of like referring to it. So that's what host is, sorry for the, uh, diatribe anyways, but this is how you create your items, right?

[00:39:31] And notice the way you got your items is you just got it from your prompts and you can iterate over them. Right? You can reiterate and run the map and produce individual items. And for each item you will pass. And the key. So if you look at the item here, it's prompt says like, I am going to get an item in here.

[00:39:50] And my internal state is whether an I am not, I am an editable state. So these are you, basically your props. And this is the components state in here. And, uh, you know, on mound, we create a component states that we're not, we're not an editable state. And then when the rendering runs, uh, it has both the information about the item as well as about whether or not you are currently editing.

[00:40:13] Uh, and if you look at the UL, so here's our, one of our items that got generated, notice that the item that passed in as a ID here, right? So if you go to the script at the bottom and see this one ends in PT six, so we should be able to find, here we go, this is what actually is being passed in to that particular component.

[00:40:34] But notice there's a second object. Not only is there a, um, a PT six objects, there's also the secondary option. That's the state of the components. So if the state of the component, we're basically saying here is like, if this object changes or this object changes, I want to know about it and I need to be.

[00:40:52] So these objects form a graph, right? The presents, the state of your system. And then the Qwik provides a mechanism to serialize all this information into the DOM in such a way that we know which component is to be woken at what time. So if I start typing in one of the things you're going to see is that on the first interaction, this script that will disappear, because what actually happens is that when you interact with the system, it says like "I need to rehydrate myself". Right? And so it goes to the script tag and, uh, reads it. Let me give it back over here, read it leads to the script tag and figures out. You know, these utilizes all these objects because takes this object, puts them inside of this object to build up the graph and then goes back into the DOM tree and say like, okay, so I need to put this one over here.

[00:41:40] I need to put this one over here, this one over here and so on and so forth and puts all these objects back. What are they supposed to be? And now you are, your state is back in a, in these components, but the components aren't present yet. They're not awoken, right? Because none of their, uh, Mount or their render functions actually got called.

[00:41:59] And because the functions didn't get called, uh, the code didn't have to get downloaded. So everything is super lazy. Right. So when I go and I hit a key over here, the state gets de-centralized, but the only piece of code that gets downloaded is right. It is, it is right. This thing right here.

[00:42:18] Nothing else.

[00:42:19] swyx: Can we show that the network actually, ah,

[00:42:22] Misko Hevery: I would love to, but that part is mocked out right now in the old demo, in the demo that I have, that I did for the conference, that one actually had it properly working. But the feedback was that the D as a developer, there was a lot of things I had to do.

[00:42:40] Qwik Compiler Optimizations

[00:42:40] Misko Hevery: And so I wanted to simplify it. So one of the things I did is I figured out a way, or rather I spoke with Adam, uh, the same Adam that did PartyTown. And we figured out how to make it, make the tooling smarter so that the developer doesn't have to do this. So what actually happens is that when you have the QRO over here, what actually happens is you, the, the code automatically gets refactored.

[00:43:06] And you will get a new function with factor like this. The system will put an expert on it. And what gets placed in this location is a string that says something like, you know, ABC. Uh, hash you local, right. Or something like that. Right? So by doing this transformation and that piece of code is not working in this transformation, um, the, uh, the system can then, uh, lazy load, just the spirit physical code, nothing else.

[00:43:39] But in order to do this transformation, we have to make sure that this code here doesn't have any closures. Right? I cannot, it cannot close over something and keep that variable because if it does the whole thing doesn't work. And so the nice thing is that we can still write it in a natural form, but one of the constraints here here is that you can't close over any variables.

[00:44:01] Now there's no variables to close over them. The system is designed in such a way that it doesn't need it. Instead of things like props and state are explicitly passed into you, as well as to the thing of the child, whether they're halo as well. So you don't have a needs to create these kinds of closures, but it is a constraint.

[00:44:19] And this is what allows the optimizer to go in and rearrange your code base in a way where we can then determine what things are used. So, so in this particular case, we can, for example, determined that you're likely to go and interact with the input box, but you are very unlikely to actually call this on render, because this is the kind of the Chrome, the shell of the application, and wants to show them the applications loaded you will never, ever interacted.

[00:44:46] Right? So what you can do is you can take all these imports and you can sort them not alphabetically. You can sort them by the probability of usage. And then once you haven't sorted by the probability of usage, you can tell the optimizer like, okay, take the first N ones so that I have a chunk that's about 20 kilobytes because we think 20 kilobyte chunks.

[00:45:08] And then the system can be like, okay, let me add a whole bunch of them until I have 20 kilobytes. Let me add a nice chunk, then underline about 20 clubs. And I kind of do these chunking all the way on the end. And then the last chunk we'll probably end up with a bunch of stuff that never ever gets loaded.

[00:45:22] Right. But the problem is the current way we design applications. You can't do that. You just can't right. And so we have this mentality of like, we have frameworks that have amazing developer experience, but they set up the overall experience down the path of monolithic code base and any kind of, um, lazy loading that the Builder can add after the fact.

[00:45:50] It's just like kind of a kloogey workaround. Right? And that's the thing that the Qwik solves it says like, no, no, no, let me help you design an application that has still nice developer experience, but let me structure things in a way so that I can later rearrange things, right? Let me keep you on this guide rails of like, make sure you do it in these ways.

[00:46:12] And so everything is in the quickest set up in a way where it keeps you in this guide rails. And the result is, is a piece of code that the optimizer, then the Qwik can rearrange, right? It can go and pull out this function. It can pull out this function. It can pull out all of these functions and turn them into a top level functions that are exportable.

[00:46:31] And it can then, um, tree shake the stuff that's not needed and produce chunks that can then be lazy loaded into your application.

[00:46:41] swyx: Like four or five years ago, I think there was some, uh, I think even at the Chrome dev summit or something like that, there was a effort to use Guess.js to basically use Google analytics, to optimize all this, intelligent pre-loading or loading predictions.

[00:46:58] Um, is that how I think I missed the part about how, like, how you pull in the statistics for, for optimizing.

[00:47:05] Misko Hevery: So the first thing to talk about, I think is important to understand is that unless you can take your application and break it up into lots and lots and lots of chunks, I do that. Yeah. There's nothing to talk about.

[00:47:15] Right? If your application is one big chunk, there's nothing to talk about. You would have to load the chunk end of discussion.

[00:47:21] swyx: Well, so the chunk goes page level, and now you're doing component level, right? So they were, they were saying we split it by page and we can predict the next page. So,

[00:47:30] Misko Hevery: so look at Amazon, right?

[00:47:34] Most of this stuff, you will, I mean, you can click on stuff and there's a menu system up here and let's pick a random component here. How do I, let me just go to something. Oh, come on. Just give me a detail view of something every day. Uh, you know, most things here never have to be rendered. Like, for example, there's a component here.

[00:47:52] This component never, ever changes. Nothing here. We're render nothing. We'll run it there, here. Uh, yes, these are components and I can click on them and they update the UI over here. But if I'm interacting here, why am I downloading the menu system? Right. And so the point is, if you have a page like this, there is huge number of components in here, but most of them either never update, or in my current path of interaction, I just don't need to update them. Right. If I'm using the menu system, then I don't need to download this thing here. And if I'm interacting with my item then I don't need the menu system, and I'm not, unless they put something out to car, do I have to worry about my shopping cart?

[00:48:33] Right? And, and this is the problem is that we currently bundle the whole thing up as one giant monolithic chunk. And yes, there are ways to break this out, but they are not easy. And everybody knows how to do route level break up. But like even on rough level, it's, it's not, it's not fine grain enough.

[00:48:53] Right. And so the magic of Qwik is the magic of writing the code in this particular style. Is that for a typical size application, I can break up the application in literally thousands of chunks. Now that's too much. We've gone way too far. I do. These, these chunks are too small and we don't want that.

[00:49:13] Right. But when I can break things up, it's easy for me to assemble bigger chunks out of it. But the opposite isn't true, right? If I have a big chunk and I want to break it, well, good luck. You know, no amount of tooling is going to do this. As a matter of fact, the best AI system we have, which is right here in our brains.

[00:49:31] Right. Even if you give it to the developer and say, go break this thing up, it's a head-scratcher that takes like weeks of work. Right? And so we are in this upside down world of like build a humongous thing and then have this attitude of like, somehow tooling will solve it. Tooling can solve this problem.

[00:49:52] Right. You have to do it the other way around. You have to design a system which breaks into thousands of little chunks. And then the tooling can say, yeah, but that's too much. It's too fine-grained. And let me glue things together and put them together into bigger chunks because. Through experience. We know that an optimal chunk size is about 20 kilobytes, right?

[00:50:11] And so now the thing you want is to get a list, the order of which the chunks are used, and that's easy, right? If you're running your application, you can just keep statistics on what, how users interact with your application and that's that the sticks can be sent back to the server. And so once you can get back on a server is just a ordered list of the probability by which you're going to need individual chunks.

[00:50:35] And that sort of lists that sorted list is all you need to tell the optimizer, like start at the top of the list, keep adding items until you get to a correct chunk size, they'll start a new job, right. And you keep doing this over and over. Okay. Now the reason I get excited about this, the reason I talk about it is because we completely ignored this problem.

[00:50:57] Right. We, we have these amazing frameworks, whether it's Angular, React, Svelte or whatever that allow you to build these amazing sites. But on the end of the day, we all have horrible page speed scores, because we're not thinking about it from the correct way. And the attitude for the longest time has been, the tooling will solve it later.

[00:51:18] And my argument here is no, the tooling will not solve it later. If you make a mess of this code base, there's nothing that tooling can do. Yeah.

[00:51:27] swyx: Um, there's so many directions. I could take that in. So first of all, uh, the React term for this is a sufficiently smart compiler, which has been in the docs for like four or five years.

[00:51:36] Yeah. That's an exhibit,

[00:51:39] Misko Hevery: but that's my point. Like you cannot make a sufficiently smart compiler

[00:51:43] swyx: so is, I mean, is there a compile step for this because of the QRL section.

[00:51:47] Misko Hevery: So right now it's actually running without compilation whatsoever. So one of the things I want to make sure that it runs both in a compiled and uncompiled state, and that's why it comes up with these bogus things like mock modules, et cetera.

[00:52:01] Uh, and I think if you go to the network stab, it loads the mock module, and it just re-exports it. I can't really show you, but basically all of these things are kind of just in there. So currently this thing runs as a single monolithic application, but the, the way this thing would work is that as I pointed out everything, every place that you see QRL is a hint to the compiler to go and extract this.

[00:52:26] The compiler, literally, we would just think. Ctrl+Shift+R extract here and then gives it a name which will be a header pull on a key up. Right. And then it repeats the same exact thing over here. So Ctrl+Shift+R extract. This is a header onMount. I mistyped it. It's okay. I get it right. And the same thing here, controls have to go Ctrl+Shift+R

[00:53:00] Qwik Questions

[00:53:00] swyx: what if I need to do like conditional loading because the competitor doesn't know which branch I need to go down.

[00:53:09] Misko Hevery: So I'll answer the question in a second, did you want to point out, so notice what ends up here? The header is super, super lightweight. There's nothing in here. Cause these things, these two things will get converted into these URLs, right? Yeah. And because of that, this header is permanently bound to the onRender of the to-do app.

[00:53:28] Right? If you load a to-do app you're also loading the header and of Main and a footer, but the thing we've done over here is we made this super lightweight, and this is what allows the lazy loading to happen.

[00:53:41] Now you're asking what about other components? Uh, easy. I mean, uh, if you want it to conditionally include the header, you know, standard stuff.

[00:53:51] Uh, true. Right now the, the header itself will always be permanently bound into the, on render of the to-do app. Right. However, because we did the trick when we extracted everything out of it had already super, super lightweight. It doesn't contain anything. Right? So the only thing the header really contains if you go in here is the what to do on this URL was the only thing that's in there and also this vendor, right?

[00:54:18] So these two URLs are the only thing that is contained inside of the header by itself. Okay. It's only when we decide to render the header, do we go into the header? And we say, okay, we're doing a rendering. So what's your URL. And we look at this URL right here, we download the code. And so now the rendering pipeline has to be a synchronous.

[00:54:38] We download the code and then we go and execute the content. And we basically fill in the content the better now in the process, we also realize, oh, we also have to download this piece of code. And this is where statistics would come together. And we basically tell us that this URL and this URL always get downloaded together.

[00:54:57] And therefore the optimizer will be smart enough to always put them together in the same file in the same chunk. And, uh, you know, we rented the content. Got it.

[00:55:09] swyx: Okay. So, uh, one small piece of, uh, API feedback slash questions. Uh, yeah, you have, the tag name is optional there. I guess that's a hint to what to store, right.

[00:55:18] Misko Hevery: So right now it says to-do right here. If I have a

[00:55:22] swyx: out,

[00:55:24] Misko Hevery: it becomes, uh, just the div. Um, so the system doesn't care. What the thing is, it means eight element. Um, it could be any element they will do just fine. It's easier to kind of on the eyes if it actually says to do right. So that's the only reason for okay.

[00:55:42] Got it.

[00:55:43] swyx: the bigger piece is okay. It's like a lot of HTTP requests. Every time I basically, like every time I make a request, every time I interact with the app, I essentially need to do a whole new handshake, a whole new network transfer. There's some baseline weight for that.

[00:56:00] Right. Chunking links that helps, um, is there a preload essentially? Is there a less programmatically say like, okay. And by the way, uh, this is important for offline capable apps. So I like, let's say like, I'm going offline. Like it's five things. I know I don't need it right now, but like as an app developer and

[00:56:18] Misko Hevery: I know.

[00:56:19] Yes. So, uh, we can totally do that. Um, we, uh, there is a level worker that will be set up and the web worker will get a list of all the chunks in the woodwork who will try to go and download them and set up the caching for you, uh, in these chunks of time. So that Y when you interact, the only thing that the browser has to do is execute the code now, because these chunks are small, the execution code, if we don't, we're not worried about it, right.

[00:56:46] In the case of like on typical framework, that's replaceable. The problem is that the first time you interact with this thing, you have this huge amount of code to download parts and execute. But this isn't the case here because every interaction really only brings in the code that's strictly necessary for this interaction.

[00:57:04] So again, we go to like Amazon, right? If I hover over here over these things, and it changes the image on the right side, the only code that gets downloaded and executed is the code for this. Now it's already pre downloaded because their web worker would go and pre fetch it for you. So the only thing that the browser has to do is parse the code and execute the code for the on hover, a callback that goes and updates this components URL.

[00:57:27] Right. That's it? No other code needs to be downloaded in a presence. Yep.

[00:57:31] swyx: Got it. anything else that we should cover real Qwik?

[00:57:35] Misko Hevery: I feel like I have talked your ear off and you have been such a good and gracious host. Uh, happy to answer questions. I don't want to overwhelm people, but I am super excited as you can talk.

[00:57:46] I'm super excited about this. I think it's a fundamental shift about how you think about a framework. So like, if you look at all the existing frameworks, they're all arguing about, like, I have a better index, I can do this better or that better and et cetera. Right. But fundamentally they're not the same, like essentially the same buckets they can all do about the same thing Qwik.

[00:58:05] I think it's a whole new ballgame because the Qwik thing is not about like, oh, I can render a component just like, you know, 50 other frameworks can do as well. The thing that Qwik has is I can do it. I can give you microservices for free. I can give you this micro component architecture for free and I can produce a bundling. I am the sufficiently advanced compiler. Okay. Let's put it this way. This thing that you thought you could have and solve for you, doesn't exist unless you have the current guidelines. Right? So the thing with Qwik is that it is the thing that allows you to have a sufficiently smart compiler to give you this amazing times to interactivity, right?

[00:58:48] At the end of the day, is the, there's nothing faster than downloading HTML for your website. I mean, that's the cake, right? Yep. So the reason why Qwik is fast is not because Qwik is clever in the way it runs JavaScript or anything like that. So no Qwik as fast because they don't have to do anything.

[00:59:04] Right. When you, when you come to a Qwik website, there is literally nothing to do, right. We're fast because we don't do anything. And that's

[00:59:13] swyx: your baseline is like a one kilobyte bike loader, right?

[00:59:16] Misko Hevery: One come on loader with all the loader, does it sets up a global list? Right. So let me, let me go back. Sorry, let me share one more thing.

[00:59:22] So here's your input, right? So if you go to a header, here's the input, right? The reason we know how to do something on it is because we serialize this thing called on:keyup, and there is a URL, right? So when this thing is first executed, nothing is done. Like this content shows up and it said we're done.

[00:59:41] And the only reason why we know to do something next is because when I do a key up here, the event, bubbles up all the way to the root, that route, we have this Qwik loader, which registers, uh, the code base, uh, and figures out what to download and what to do next. Right? That's the only reason why the whole thing works.

[01:00:05] Qwik vs Islands Architecture

[01:00:05] swyx: That's amazing. Um, I want to get your commentary on a couple more things that are related to this, which is first of all, the islands architecture, um, w also by Jason Miller, um, have you come across, it, talked to him about it, how Qwikly

[01:00:19] Misko Hevery: I, uh, I bred a bunch of things in this particular space. I don't think I read this specific one.

[01:00:24] I think there's a nice article that the React team has put out in this particular page as well. It is, uh, I think the world has come to the same conclusion, which is that we have these replayable apps and it's a problem and we need to break them up. And so what's happening here is it basically, they're saying like, let's create these islands, that can be lazy loadable and there's all these constraints that automatically come with these islands. Right. And all have to do with, like, how do you share data between them and when do you know when to wake up these islands and so on and so forth. Right. And, this is great. Qwik takes this idea to the absolute extreme, it says like every component is an island.

[01:01:06] What do I have to do in order to make every component island? I need a way of passing complex data into this component in a way that serializable. So there's a whole architecture around, how do you take the data and serialize it into the dominoes that we still, you know, the most obvious version of better, which was the Q objects.

[01:01:21] Right. But there's a lot more that I didn't cover. So all of these things have to be done and solved. We need a way of knowing when individual islands need to be woken. Right. Um, which I'm sure they didn't have even discussing over here because it's a problem that you run into later, right? If I interact with one items, for example, a carousel in this particular thing, how do I know that I have to wake up by a header or the sidebar or any other piece of the UI?

[01:01:45] Like, I need to know this somehow and you can say like, well, that's a developer's problem, but that doesn't actually solve anything. Right. And this is what Qwik is, is good at, is that because it can serialize all these pieces of the DOM. It then knows who is aware of what data. And therefore it knows if a particular data changes do, who do I have to wake up?

[01:02:07] And so this is absolutely a step in the right direction. Qwik is what happens when you take this, let's take it to an absolute extreme. Yeah.

[01:02:16] swyx: So, okay. For those who haven't, um, the other two frameworks that are kind of in this vein, are Elder.js on this, in this Svelte ecosystem, by default only HTML, 0 KB of JS, but then you, you, you call out which islands you want to implement, and then that hydrates into Svelte components.

[01:02:33] Um, so this, this does a bit of that partial hydration.

[01:02:37] Misko Hevery: And again, you have to talk about like, well, how do I know when to do it? And if I wake it up, like how do I set up listeners on it? And then those listeners, how do they know when to wake up other islands? Like all of these things, I kind of glossed over in these particular thing, because you know, people know that we'd have to go this direction, but they don't know what's waiting for them when they go for the.

[01:02:55] swyx: Yeah. Yeah. So just pointing out the alternatives that the other people working on.

[01:02:59] Qwik Event Pooling

[01:02:59] swyx: And then one final question, I think I have, something React has sold people on is that registering event listeners is expensive and that's why we have synthetic events. Is that true? Do you have a view on like synthetic events and whether or not we should have them?

[01:03:18] Misko Hevery: Can you tell me more about it?

[01:03:19] swyx: Okay. So instead of registering independent event on every single component or tag, R eact only will registers one root listener and that's everything bubbled up to that root.

[01:03:32] Misko Hevery: Yeah. That's exactly what Qwik does yet. Okay. Now the thing is, well, when you do that and you have a global listener, now you have a problem, which is like, how do I backreference and figure out which callback to call, right?

[01:03:47] When React needs to somehow walk this tree and figure out where is that actual closure? Like end of the day, I have to call a closure, right? So where is that closure that I need to call to do this? and the problem is these closures are not serializable, right? Whereas in the world of Qwik, we ex we also have synthetic roots and there's, where's my share button.

[01:04:11] swyx: I should mention that synthetic events are primarily for cross-browser compatibility. Um, but there's still the, there's the concept of event pooling in React. And there's still a concept of bubbling.

[01:04:21] Misko Hevery: So let's take this particular thing, right? So what happens is there's a global listener, not to top, you do Keyup, it bubbles up, the global listener catches it, goes back up and says, okay, this is where it originated.

[01:04:33] It looks for on KeyUp event. It finds, it finds a URL. And that URL points to, uh, this, this guy right here, right. This thing has amnesia, right? Like it just kind of woken and it has no idea what's going on. Right. It's it's like call it amnesia. Right. So one of the things that the QRL has to do is to recover the state.

[01:04:54] And this is something that happens back in the back without you thinking about it. Right. So the QRL wakes up and says, okay, I'm these, you have no idea what's going on. Let me go recover this. And let me go try to compute the state, get the props, everything I need to execute this function. Right. Which is why, when you look at this, you see the script that contains the state.

[01:05:14] When I first click on something that's script tag gets consumed, it gets its disappears, right? Because that's when the system woken up with an amnesia and said, oh wait, where's my stuff. Right? And it goes, look for it, finds all the pieces and then determines that this component has this "2kz" object which is right here. And so we've decentralized that and places in the middle of the application and, um, gets them going. So, this is very similar to synthetic events. The difference again, is that we take, uh, we take it to the extreme of saying on the end of the day, this is just function.

[01:05:49] That is somewhere that I can lazy load them to execute, and I have to restore the function state and then let it do its job. Right.

[01:05:57] Qwik Conclusions

[01:05:57] swyx: Cool. Sorry for like the really random, did deep dive, but I feel like these are questions that people have when they compare it with

[01:06:02] Misko Hevery: what they know.

[01:06:02] I think those are excellent questions. And if I can leave one thing is that don't think of this stuff as yet another framework, right. We already have plenty of other frameworks out there and I'm going to argue that they're pretty much. In terms of the capabilities. Uh, this is not trying to be at another framework.

[01:06:21] This is really striving to solve a set of problems that we are faced with every single day. And we don't have good solutions for we, this is really trying to solve this sufficiently advanced compiler, which I believe is not achievable unless, you cooperate and the reason it's not achievable again, it's like, imagine you go to the developer and say, go put me at least a lot of boundary over here, that person will spend weeks, right.

[01:06:48] And refactoring, and maybe where they want to even be able to succeed in this particular location. Right. Because the whole thing needs to be rearranged, right. The compilers cannot possibly be.

[01:06:58] swyx: And I would just observe that you could use React inside of Qwik. You're already using TSX and

[01:07:04] Misko Hevery: you can, one of the goals for me is I don't want to write, I have to be responsible for writing widget library.

[01:07:09] And so I'm thinking super hard, how I can just consume. Widget libraries can I think it's possible. There is, there's a couple of caveats, but yeah,

[01:07:19] swyx: I think that those are closest to Astro, but with a bit more fine grained loading than Astro offers , which is pretty cool. You might want to, you might want to check out, Astro's data loading on the server side of things which could be interesting.

[01:07:31] Lessons from Angular

[01:07:31] swyx: Okay, cool. I want to zoom out a little bit and spend a little bit of time on Angular, and then we'll do your Ted talk. So a lot of the things that I hear about Angular are sort of second party, third party type of stuff.

[01:07:40] What did you learn from the adoption of Angular that you 're bringing over to the adoption or rollout of Qwik?

[01:07:47] Misko Hevery: That's a good question. It's a really good question. I love it. I think Angular was lucky in a sense that it was a framework when there were no other frameworks in the JavaScript ecosystem.

[01:07:57] Right. And so in that sense, it was the first one, you know, what we had before Angular was GWT, yes, which is not a framework, it's a trans compiler. Um, we had jQuery, which is not a framework, but kind of a hacky way of modifying the DOM. And I don't mean this in a negative way. It's just, it's just not a framework.

[01:08:18] Uh, we had, uh, there's Marionette and Backbone, right. Which lists kind of framework-ish, but really only about how to track data. So it was really a subscription for data model rather than actually how to render things up. So, so in that sense, I think, Angular.js defined its own category. And I think this is the reason why it was so successful because there was a need and the world needed this and recognize that it needed it. And so we just went after it. Um, since then there's bunch of other frameworks that came afterwards. All of them have unique ways of improving on this idea, and, you know, React took the idea of functional and went crazy with it.

[01:09:00] And I think it's wonderful, Svelte took the idea of actually true reactive system where you have subscription things and you update only when it's necessary. And I think they did a great job and there's many things in Svelte that I really, really like, like all these frameworks have, have some amazing things in them.

[01:09:14] Uh, but at the end of the day, they're still solving the same problem. Right. They're still in the same space. Uh, and they're solving it in the same way, in a specific way, in the same way. I mean, like we're pretending we have a desktop application and we pretend to be all the code is available for us. And we pretending that we can just like, do whatever we want.

[01:09:33] Right. When in reality, we're not a desktop application, we're a mobile application, but the code isn't available to us, there is a cost to start up all these code. And so, we have a new set of problems that we created and the new sort of problem that we have right now is how to start up the apps quickly. And I was just chatting with, um, somebody from Airbnb, uh, Elliot , he was a good buddy. He actually worked with me on Angular.js. They use back in the day. And he was just saying how they spend man-years trying to rearrange their homepage because it's a react application in such a way to make it startup that fast and what they essentially ended up doing.

[01:10:12] Through a complicated set of hackeries is lazy loading the individual components over time. Right? So the lazy load, the first one first, and then get the other ones going downloaded that are below the fold when you have nothing to do. Right? And so the solution is the same that everybody knows what the solution is.

[01:10:31] Uh, everybody's trying to do the solution, but the current set of frameworks are just fighting it tooth and nail.

[01:10:38] One way that they're fighting tooth and nail is for example, that the rendering pipeline is fully synchronous, right? Uh, in all the frameworks, when you say render, you know, everything that you need to render better, be around otherwise bad things happen.

[01:10:52] Right. And that means that all the code has to be around. And that means that there is no good way to just say no, I just want to render this component. I don't need to render its children and I don't need to render its parent. I just want to run them. The component in isolation and existing frameworks don't know how to.

[01:11:10] The other thing that existing frameworks don't know how to do is again, storing the state. Like how do I store the state in it? So the thing that I've learned from Angular.js days is make it really palatable, right. And solve a problem that nobody else has doing yet. Another framework in this state of our world would be complete suicide cause like it's just a different syntax for the same thing, right?

[01:11:33] So you need to be solving a problem that the other ones cannot solve.

[01:11:38] And I'm actually going to go on a limb and say like, they cannot solve this. There is no way to add these kinds of fine grained, lazy loading to Angular, React, Svelte or any of these other technologies, because doing so would be such significant breaking changes that you would end up with a different framework.

[01:11:54] And the individual communities wouldn't stand for that. So there is no way for React to get these capabilities. There's no way for Angular to get those capabilities and so on and so forth. That's good and bad, right? It is good. Because it creates a, a value that nobody else can provide.

[01:12:11] It is bad because it causes a rebrand. But Hey, this is where a Builder.io comes in because Builder.io has Mitosis, which allows us to consume one format and generate many other formats. And this is why I think something like Builder.io and Qwik makes so much sense, right? Because Builder.io has lots of existing companies, lots of existing content, lots of need for speed.

[01:12:38] Qwik has the answer, but it requires migration, but what Builder.io migration is trivial because while we just generate another output.

[01:12:48] swyx: Got it. Yeah. Well, I feel like I'm basically, we we're missing a term for this, uh, for what you're trying to do. Uh, you keep saying framework, but we don't have a better return than. Um, so I'm thinking like, you know, like app, loader, uh, something light, something, something super light that emphasizes that you're not directly competing with, uh, the other frameworks because you'd use them together.

[01:13:12] Misko Hevery: You know, when I first started Qwik, I actually wanted to use React as the rendering engine. It turns out for many reasons that it's not possible as I pointed out, the fact that React wants to be fully synchronized kind of ruins your day, uh, in this particular department.

[01:13:24] But yeah, I really don't want to make another framework in that sense. Right. And, um, this is why I'm using JSX and as much stuff as possible, which is, you know, how do I do least amount of work and solve the problem is kind of the mantra that I'm after.

[01:13:39] swyx: Yeah, absolutely. Or maybe, I don't know.

[01:13:40] Qwik vs Angular Ivy

[01:13:40] swyx: how does this compare to (Angular) Ivy?

[01:13:42] So know if it's a

[01:13:46] Misko Hevery: hot take. That's a good one. So Ivy was, so if you go even further back, about three years ago at ng-Conf on the keynote, I give a talk that basically describes Qwik, right there. I was just like, we need to do this. We need to do this, this, this, this, this is us. Right. And then nothing happens.

[01:14:03] Like I gave the keys to the kingdom and nobody did anything. I

[01:14:07] swyx: mean, what are you talking about? You're on the team.

[01:14:10] Misko Hevery: Well, I'm in like the community, not thinking of the computer, nothing in nobody in the outside world, be like, that's a good idea. We should do this. And like, let's solve it or let's attack this problem.

[01:14:18] Like nothing happened in the community now, internally Ivy was a stepping stone to give us that capability so that we can do all of these things. And I think Ivy in essence was kind of a success. Uh, the numbers I'm hearing from my friends saying how they're saving ridiculous amounts of CPU, uh, at Google, just because of how more efficient, uh, IVs on compilation and also on a runtime CPU and how much more productive the engineers are because there are turnaround time for the applications are quicker and so on.

[01:14:49] So if all of those measures Ivy was a success, but I had a hope for Ivy that Ivy could be a stepping stone for this lazy loading technology. But now that I fully understand the nuances of it, all, it turns out there's no real way to do it again without introducing such significant break and changes that will be unpalatable to existing customers, right?

[01:15:11] And that is the crux of the problem. Like an, the end of the day, you have to write your code differently. You cannot, uh, nest, you know, 20 closures on top of each other, and then expect a sufficiently smart compiler to detangle that stuff. Not gonna happen. Right. So instead you need to provide guide rails for the developers so that they can appear as if they're nesting 20 closures on top of each other, but they're actually not so that the tooling can come separate all this stuff out, break it all up and do all this magic.

[01:15:44] And on top of that, it has to be done in a way that is resumable rather than replayable right. Because even if you can have a sufficiently complex compiler for React, that separates all of this stuff out, it still wouldn't help you because in order for React to figure out where the listeners are, React has to execute all of this code.

[01:16:05] Right. And so even if you had this, you still wouldn't solve the problem. Yeah.

[01:16:11] swyx: Yeah. Yeah. Cool. Um, well, that's, uh, that's, uh, kind of what we planned, uh, talking web dev wise, I thought that was really cool meeting you, sharing and sharing about, uh, you know, what, you know, I think, you know, your, uh, your enthusiasm is just amazing, honestly, like, uh, if I was, you know, if I meet Angular and I, you know, I spent like 10 years, I don't know, what was it, 10 years?

[01:16:35] Uh, I don't know. Um, you know, I would, I would just be done. I would just be like, Hey guys, that's someone else do this, but you're still in it. You know, you're, you're still, you're still like iterating on feedback that people gave you two weeks ago. And, uh, it's just, it's just amazing to watch. And, uh, so I hope that people are at least inspired to, to, to push the boundaries as much as you do.

[01:16:55] So. Yeah. Yeah. I think that's, that's really cool.

[01:16:58] TED Talk: Metabolic Health

[01:16:58] swyx: Okay. So final question, which I'm trying to implement right now. If you were asked to give a Ted talk about something that you're not well known for, what would it be?

[01:17:07] Misko Hevery: So my friends oftentimes get annoyed because all I talk about, but I don't know about computers.

[01:17:13] There's another topic that I talk about and that is metabolic health. Let's do it. And my friends are annoyed with me because like it's all I'm doing. And I have crazy opinions on this particular topic. Um, anyways, metabolic health is, it has a lot of different names, right. But it is the root cause to obesity, to cancers, to many different things.

[01:17:37] Um, and it is one of those things that people just ignore and don't worry about. Right. Uh, I was just saying how I went to Europe, there's jar to the conference and, you know, everybody was in great shape, et cetera. And then I was getting back to the, on a place. To the U S where only a U S citizens allowed to fly back right now because of the COVID right.

[01:18:01] The whole line was bunch of metabolically, unfit people. It was insane. And I, like, I was, I just spent a week in, you know, in Europe where everybody was fit and beach and

[01:18:15] swyx: everyone's hot,

[01:18:16] Misko Hevery: and then you go back and you go, like, what are we doing wrong here? Uh,

[01:18:22] swyx: and then, well, so what do you mean? Is it different from regular health?

[01:18:26] What does metabolic health?

[01:18:28] Misko Hevery: So, okay, so, um, long time ago, uh, when we know when we were a single cell organisms, uh, there was a symbiotic relationship, formed between the main cell in a symbiotic cell, which became mitochondria. And mitochondria has a separate DNA. It has circular DNA. Like our DNA is like this complicated thing that is rolled up.

[01:18:52] Right. But mitochondria has circular DNA, just like a bacteria does. And so it looks like somewhere along the line, we consumed a bacteria and that bacteria took permanent residence inside of ourselves. And what this particular bacteria is really, really good, good act is, uh, breaking down energy, uh, whether it comes in the form of carbohydrate alcohol.

[01:19:17] That's and there's lots of, lots of different paths. Uh, whatever thing you have that you can get energy at, not the contrary is really good. Um, chewing down on that thing and spitting out this other thing outside called ATP adenosine triphosphate and all of the, uh, cellular or mechanisms, all the enzymes, everything on a body, all the machinery that we have runs on ATP, right?

[01:19:40] So you can think of this as themitochondria is the ATP generator. There is out mitochondria can get sick by feeding it the wrong kind of fat, feeding it too much, alcohol , feeding it too much sugars, fructose, all kinds of other things. And when mitochondria get sick, bad things happen. And, uh, they ended up being everything from high blood pressure to insulin resistance, back to diabetes, to being overweight then, and it all basically goes back down to this crazy amount of.

[01:20:10] swyx: Interesting. So how does that affect your diet? Like, is it, is it mainly diet? Is it, is it some extensive?

[01:20:16] Misko Hevery: So, um, my take on this particular problem is that, uh, anything that will improve insulin resistance is going to be better, right? So if you change your time and your approval, insulin resistance, that's going to be better.

[01:20:27] Uh, certainly exercise improves insulin resistance. So exercise certainly helps. However, as a people are fond of saying is you cannot outrun a bad diet. Like I think diet is like 80% and exercise is 20%. I'm not dismissing exercise by all means. I go to the gym every morning and I wake up and I go to my garage and I lift weights because I think it's important in healthy.

[01:20:50] Right. But if I don't get my diet under control, Any possible game I can get out of weightlifting is going to be destroyed by crappy diet.

[01:20:59] swyx: what rules do you have for dieting or not dieting, but more just general.

[01:21:05] Misko Hevery: Yeah, so I avoid everything, uh, that spikes insulin. So people usually call it the ketogenic diet

[01:21:12] swyx: Hygienic food who,

[01:21:14] Misko Hevery: yeah, so, but I like go to the extreme and I just like avoid everything that could basically, if it has carbs, I don't want it.

[01:21:21] But more importantly than I think than carbs is, uh, is, is seed oils. So seed oils are, I think the, the thing that messes up your mitochondria and once the a hundred is messed up, then a normal load of carbohydrate. The normally amount of fungi, I wouldn't have a problem with becomes a problem.

[01:21:43] Sesame

[01:21:44] swyx: Oil? Yes. So

[01:21:46] Misko Hevery: don't I don't do that.

[01:21:47] That's cruiser corn oil, soybean oil, like all this other stuff. Go on online.

[01:21:51] swyx: How do you cook?? With no oil?

[01:21:53] Misko Hevery: Lard. I eat lots of fat. I'm just don't eat seed oils. Okay. Sorry,

[01:21:59] swyx: you said, you said go online and go here,

[01:22:00] Misko Hevery: go online and Google, how seagulls are manufactured. There's a good one by, you know, how it's made or how it's like one of those things on discovery channel.

[01:22:08] Have you seen those things?

[01:22:10] swyx: I'll look

[01:22:11] Misko Hevery: it up. It has nothing to do with health and anything. It's just really like, they go to random factories and they show you how this is made, how that is made. And so there's one that talks about like how seed oils are meeting. It ends. It's the same process. Because there's like crazy chemicals.

[01:22:25] They have to dissolve it and raise the temperature, lower ed than it stinks so bad. Nobody would drink it. So they have to purify it and bleach it and then it has no color. So they have to add color to it. It's like, what? Like how can this possibly be good for you?

[01:22:40] swyx: It tastes good. That's all I know, but okay.

[01:22:42] All right.

[01:22:43] Misko Hevery: Because we put stuff in it to make a piece good. Cause it's it's flavorless, right? Because we bleach them before then. Originally it was such bad smelling thing that we had to bleach it to get the smells out of it and make it white. And then we have to add food, coloring to it, to make it yellow.

[01:22:58] And then we have to add any kind of flavoring into it so that it actually is palatable. It's like, what are you doing? Like, and the craziest thing is that somehow we convinced ourselves that that's healthy.

[01:23:11] swyx: Yeah. I don't know if we've convinced, like it's just normal. That's all, that's it. It's just, that's how I learned how to cook, you know?

[01:23:17] So

[01:23:18] Misko Hevery: I noticed, so the way I, uh, I noticed this interesting thing, which is that I would, when I was at Google, I would have breakfast in the morning and I would have a bunch of eggs. Cause I love eggs and I would feel miserable after the breakfast. And I will be like, ah, I'm going to slug it. Oz is just, and naturally people are like, oh, it must be the eggs.

[01:23:38] Cause the meat and animal products are bad for you. Right. And then I went to Mexico and I had a whole bunch of eggs on a vacation and I had a whole bunch of eggs. And I was like, fine. I was like nothing wrong with it. And I'm like, what's the difference? It's the same egg. What else is the difference? The difference is in Mexico, they were using lard to cook my eggs on.

[01:23:55] Whereas in Google they use old bread oil. Right. And then I did a whole bunch of experiments at home and I realized, well, my gosh, it's the fricking oil that makes me feel miserable. And then you slowly kind of realize it's just the seed oils that are doing this. And if you read a bunch of literature, it turns out other people have come to the same exact conclusion that seed oils are problem.

[01:24:18] And CTOs are super high in omega six, and it turns out omega six, uh, incorporates itself into the membranes of cells and makes those membranes not flexible, makes them stiff. And that kind of messes up the a hundred and then the conjure has troubles and then it will help. Oh man.

[01:24:33] swyx: Okay. I got it. I gotta change it.

[01:24:36] Misko Hevery: Little poison. You overlay two decades. Jesus.

[01:24:40] swyx: All right. Well, cool. Um, well I think, I think that might actually say some lives today

[01:24:46] Misko Hevery: or people will think I'm crazy.

[01:24:48] swyx: Uh, so I think you're basically for a lighter JavaScript and lighter body, so,

[01:24:55] um, cool. Um, yeah, thanks so much for, uh, for joining me on this, uh, on this chat and I learned so much today. Thanks. Thanks so much

[01:25:04] Misko Hevery: for having me, man. This was so much fun.

View Details

  • Listen to Jenny: https://www.youtube.com/watch?v=XHTxqk_UxHo
  • Listen to Father and Son: https://www.youtube.com/watch?v=4cZAr_WaLcw
  • https://en.wikipedia.org/wiki/Flight_of_the_Conchords

View Details

Watch the TED talk: https://ideas.ted.com/why-you-think-youre-right-even-when-youre-wrong/

Scout Mindset book: https://www.amazon.com/dp/B089CJ6SVS/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

Imagine for a moment you’re a soldier in the heat of battle — perhaps a Roman foot soldier, medieval archer or Zulu warrior. Regardless of your time and place, some things are probably constant. Your adrenaline is elevated, and your actions stem from your deeply ingrained reflexes, reflexes that are rooted in a need to protect yourself and your side and to defeat the enemy.

Now, try to imagine playing a very different role: the scout. The scout’s job is not to attack or defend; it’s to understand. The scout is the one going out, mapping the terrain, identifying potential obstacles. Above all, the scout wants to know what’s really out there as accurately as possible. In an actual army, both the soldier and the scout are essential.

You can also think of the soldier and scout roles as mindsets — metaphors for how all of us process information and ideas in our daily lives. Having good judgment and making good decisions, it turns out, depends largely about which mindset you’re in. To illustrate the two mindsets in action, let’s look at a case from 19th-century France, where an innocuous-looking piece of torn-up paper launched one of the biggest political scandals in history in 1894. Officers in the French general’s staff found it in a wastepaper basket, and when they pieced it back together, they discovered that someone in their ranks had been selling military secrets to Germany. They launched a big investigation, and their suspicions quickly converged on one man: Alfred Dreyfus. He had a sterling record, no past history of wrongdoing, no motive as far as they could tell.

However, Dreyfus was the only Jewish officer at that rank in the army, and unfortunately, at the time the French Army was highly anti-Semitic. The other officers compared Dreyfus’s handwriting to that on the paper and concluded it was a match, even though outside professional handwriting experts were much less confident about the similarity. They searched Dreyfus’ apartment and went through his files, looking for signs of espionage. They didn’t find anything. This just convinced them that not only was Dreyfus was guilty, but he was also sneaky because clearly he had hidden all of the evidence. They looked through his personal history for incriminating details. They talked to his former teachers and learned he had studied foreign languages in school, which demonstrated to them a desire to conspire with foreign governments later in life. His teachers also said that Dreyfus had had a good memory, which was highly suspicious since a spy must remember a lot of things.

The case went to trial, and Dreyfus was found guilty. Afterwards, officials took him out into the public square; they ritualistically tore his insignia from his uniform and broke his sword in two. This was called the Degradation of Dreyfus. He was sentenced to life imprisonment on the aptly named Devil’s Island, this barren rock off the coast of South America. He spent his days there alone, writing letter after letter to the French government begging them to reopen his case so they could discover his innocence. While you might guess that Dreyfus had been set up or intentionally framed by his fellow officers, historians today don’t think that was what happened. As far as they can tell, the officers genuinely believed that the case against Dreyfus was strong.

Other pieces of information are the enemy, and we want to shoot them down.So the question arises: What does it say about the human mind that we can find such paltry evidence to be compelling enough to convict a man? This is a case of what scientists refer to as “motivated reasoning,” a phenomenon in which our unconscious motivations, desires and fears shape the way we interpret information. Some pieces of information feel like our allies — we want them to win; we want to defend them. And other pieces of information are the enemy, and we want to shoot them down. That’s why I call motivated reasoning “soldier mindset.”

While you’ve never persecuted a French-Jewish officer for high treason, you might follow sports or know someone who does. When the referee judges your team has committed a foul, for example, you’re probably highly motivated to find reasons why he’s wrong. But if he judges that the other team committed a foul — that’s a good call. Or, maybe you’ve read an article or a study that examined a controversial policy, like capital punishment. As researchers have demonstrated, if you support capital punishment and the study shows it’s not effective, then you’re highly motivated to point out all the reasons why the study was poorly designed. But if it shows that capital punishment works, it’s a good study. And vice versa: if you don’t support capital punishment, same thing.

Our judgment is strongly influenced, unconsciously, by which side we want to win — and this is ubiquitous. This shapes how we think about our health, our relationships, how we decide how to vote, and what we consider fair or ethical. What’s most scary to me about motivated reasoning or soldier mindset is just how unconscious it is. We can think we’re being objective and fair-minded and still wind up ruining the life of an innocent person like Dreyfus.

Fortunately, for Dreyfus, there was also a man named Colonel Picquart. He was another high-ranking officer in the French Army, and like most people, he assumed Dreyfus was guilty. Also like most of his peers, he was somewhat anti-Semitic. But at a certain point, Picquart began to suspect, “What if we’re all wrong about Dreyfus?” Picquart discovered evidence that the spying for Germany had continued, even after Dreyfus was in prison. He also discovered that another officer in the army had handwriting that perfectly matched the torn-up memo.

It took Picquart ten years to clear Dreyfus’s name, and for part of that time, he himself was put in prison for the crime of disloyalty to the army. Some people feel that Picquart shouldn’t be regarded as a hero, because he was an anti-Semite. I agree that kind of bias is bad. But I believe the fact that Picquart was anti-Semitic makes his actions more admirable, because he had the same reasons to be biased as his fellow officers but his motivation to find and uphold the truth trumped all of that.

To me, Picquart is a poster child for what I call “scout mindset,” the drive not to make one idea win or another lose, but to see what’s there as honestly and accurately as you can even if it’s not pretty, convenient or pleasant. I’ve spent the last few years examining scout mindset and figuring out why some people, at least sometimes, seem able to cut through their own prejudices, biases and motivations and attempt to see the facts and the evidence as objectively as they can. The answer, I’ve found, is emotional.

Scout mindset means seeing what’s there as accurately as you can, even if it’s not pleasant. Just as soldier mindset is rooted in emotional responses, scout mindset is, too — but it’s simply rooted in different emotions. For example, scouts are curious. They’re more likely to say they feel pleasure when they learn new information or solve a puzzle. They’re more likely to feel intrigued when they encounter something that contradicts their expectations.

Scouts also have different values. They’re more likely to say they think it’s virtuous to test their own beliefs, and they’re less likely to say that someone who changes her mind seems weak. And, above all, scouts are grounded, which means their self-worth as a person isn’t tied to how right or wrong they are about any particular topic. For example, they can believe that capital punishment works and if studies come out that show it doesn’t, they can say, “Looks like I might be wrong. Doesn’t mean I’m bad or stupid.” This cluster of traits is what researchers have found — and I’ve found anecdotally — predicts good judgment.

The key takeaway about the traits associated with scout mindset is they have little to do with how smart you are or how much you know. They don’t correlate very closely to IQ at all; they’re about how you feel. I keep coming back to a particular quote from Antoine de Saint-Exupéry, author of The Little Prince. “If you want to build a ship, don’t drum up your men to collect wood and give orders and distribute the work,” he said. “Instead, teach them to yearn for the vast and endless sea.”

In other words, if we really want to improve our judgment as individuals and as societies, what we need most is not more instruction in logic, rhetoric, probability or economics, even though those things are all valuable. What we most need to use those principles well is scout mindset. We need to change the way we feel — to learn how to feel proud instead of ashamed when we notice we might have been wrong about something, or to learn how to feel intrigued instead of defensive when we encounter some information that contradicts our beliefs. So the question you need to consider is: What do you most yearn for — to defend your own beliefs or to see the world as clearly as you possibly can?

View Details

Watch full talk on YouTube: https://www.youtube.com/watch?v=jVkLVRt6c1U

The FYPM app https://www.theverge.com/22684237/fuck-you-pay-me-lindsey-lee-lugrin-decoder-interview

View Details

Watch on Youtube: https://www.youtube.com/watch?v=p6PgHFS48gY

View Details

I was interviewed by Sai of Redpoint based on these blogposts:

  • https://www.swyx.io/community-builder/
  • https://www.swyx.io/measuring-devrel/

The session was covered by Tom Tunguz, whose blog I love (https://tomtunguz.com/shawn-wang-offi...) and the feedback was wonderful!

Full video on YouTube https://www.youtube.com/watch?v=guK1XiLQbH8

Timestamps

  • [00:01:42] What is DevRel?
  • [00:04:59] Where should DevRel report?
  • [00:06:57] Getting Started with Early Stage DevRel
  • [00:12:28] How to Structure DevRel Efforts
  • [00:16:02] When to Hire First DevRel
  • [00:18:23] Community and DevRel
  • [00:25:41] How to Start a Community
  • [00:29:47] Technical Community Builders
  • [00:31:04] Social Media Managers
  • [00:33:14] North Star Metric
  • [00:39:20] Product DevRel
  • [00:40:37] Finding Great DevRels
  • [00:43:47] DevRel for Dev Platforms of non-DevTools companies
  • [00:46:38] DevRel Tooling

Transcript

[00:00:00] Sai Senthilkumar: My name is Sai and I'm at Redpoint investing primarily in B2B software with a focus on developer oriented business. I'm very excited to be chatting with Shawn Wang today about the importance of developer relations for any company selling to developers.

You know, we find that several developer companies we work with today are hiring for diverse leaders and oftentimes it's function gets overlooked early. Or maybe not built out soon enough. So today we'll talk a little bit more about how to structure and measure our world-class Debra organization for any startup and why it's so important for a company's overall health.

So I'm wanting you to be joined today by Shawn, who is the head of developer experience at Temporal. Shawn, do you want to briefly introduce yourself?

[00:00:39] swyx: Yeah. Hi everyone. I am Shawn Swyx online as well. I guess my dev role ex experience starts at Netlify where I was the second DevRel hire. And we grew from about 30 ish people when I joined to about 250.

And. I think something like 300,000 developers to 1.5 million. And then we, and then I left in 2020 to go to Amazon where he spent a year working at amplify and thinking about AWS level or branded Daryl. And we can talk about what it's like to work at. You know, a series B to C stage company.

The rail versus a big company devil. And then I joined Temporal this year in in February to head up developer experience. And we're a series, a company focused on microservice orchestration, which is a bundle of words, but basically we're reinventing asynchronous programming. And if that doesn't hook your interest, I don't know what will, so I'm happy to talk more about that.

[00:01:42] What is DevRel?

[00:01:42] Sai Senthilkumar: Awesome. So is that Shawn is the, is the guy to speak with, in terms of structuring and starting out in Beverly also Shawn, I guess starting with the basics here, you know, many people wrote in asking for clarity around the devil row. So, so in your, in your mind, what is Deborah and the various roles and responsible.

[00:02:04] swyx: In what is dev route and the various rules and responsibilities. Okay. There a very big question. So dev REL I think is essentially for a lot of people is essentially rebranded marketing. Developers. Don't like to be marketed to every time you hire a professional marketer and you get them to talk at developers, their eyes glaze over and they're turned off by your marketing buzzwords and your emphasis benefits over features because you refuse to talk about how things work because marketers don't know how things work.

Cause they're not technical. You hire developer relations before. Developers want to be spoken to by other developers. And they want to be explained on how to use things, why, and not to be handheld too much to do some hand hand-holding, but not to do too much handholding that you restrict their creativity.

Because I think some of the best DevRel programs have often just said, we can't wait to see what you build, which is a very cliched term in Debra. It's actually, it's pretty true. If you talk to the early Twilio, derails, they just held hackathons and they're like weird a communications layer. What can you come up with?

And they are often impressed in a lot of their new products direction comes from the, the stuff that developers want to take their product in. And so Val is very much of a bottom line. Developer first marketing efforts. And I personally segments the growing sub specialties that devel into three set, three segments, which is community content and products.

The reason I add products in there, which is not a very common thing to, to emphasize with Daryl is because developer relations has. Background or backstory as developer evangelism, which is kind of the old Microsoft slash Google name for it, which is essentially you hire professional influencers to travel the world and give talks.

And it's very us to the rest of the world. Like I'm pre. The good word, which is very nice because a good talk and a good useful demo or a good you know, explanation is, is actually a very important, but there's not much of a two-way street. So, it's very, it's very like us coming out to them. And I think now people understand that they, once they're devils.

Their PR company in front of developers. And they talked to them so much that we can actually use that product feedback to feedback into the development of the actual product itself. That's the vision. That's the, that's what a lot of people say that Debra is a two way street developer. Evangelism is a one-way street in practice.

It's more like 99% outbound anyway. And 1% inbound. The reason being that no one has time for your product feedback. Everyone has their own product roadmap. You're not proud of the PM org. You're not part of the engineering org. Who are you that I have to listen to you. So people are still figuring this out, but I think the content and community pieces REL are a bit more developed.

[00:04:59] Where should DevRel report?

[00:04:59] Sai Senthilkumar: Totally. 100% agree. And when you mentioned this in the beginning, but I think it's important to flush out the difference between. Developer advocacy and Deborah and for marketing, I think oftentimes those, those two those two topics get confused with each other. So, so yeah, I, yeah, I think that is that's important for any startup that starting out.

And this is a separate organization,

[00:05:21] swyx: Hopefully, well, so there's there that kind of leads us into a natural segue of where does deferral report to, but you can have that conversation. I'm not sure that it's a solved question yet. I think a lot of people are converging on the consensus that dev roles should report into product.

And I think that's fine, but I'm also, I don't judge people where dev REL reports into marketing. I don't judge people went there for all reports into engineering or, you know, at Netlify we were a separate org. We were separate from products, separate from engineering, separate from marketing. And we reported up to the CEO.

Okay. It matters basically as a founder or, you know, or based on company direction, how important your dead relatives, your liver function is how senior you are a different leader is and also how you measure them because at the, at the end of the day, even if your dev REL team reports into product, but the way you measure.

Is entirely marketing metrics. Like how many hits did you get to a front page? Then they are our marketing team. It walks like marketing talks about marketing, their marketing, even though they technically, you put them in your org chart under the product team. So be very careful about just play playing at like making your devil or you know, part of product, but not actually, because that leads to some interesting tensions between.

What it means to be a representative for your company and how that actually leads to tangible impact for your business. So yeah, I'll leave it at that.

[00:06:57] Getting Started with Early Stage DevRel

[00:06:57] Sai Senthilkumar: And it, even before you get getting into building, you know, Deborah, I guess like what, what are some tips that, you know, any early stage startup or founder that's in that develop that is selling to develop.

What are some tips that they should know when getting started? Yeah, I guess what are some lessons learned from, from your time of

[00:07:13] swyx: peripheral? How early stages are we talking? Let's say series

[00:07:18] Sai Senthilkumar: a, you know, you've just raised some capital, you know, you're scaling to the series B, you're selling to developers, developers, easy.

These are core bread and butter, you know, I guess what are some.

[00:07:27] swyx: I think some amount of focus and regular cadence is important. So, so at, at a point of series, a like you have some form of products like your, you have been around enough that you, that you raise your seed and you, you convince people, okay.

Invest in serious. Say. That's probably where you should start hiring you know, a different team like we hired to, to I, I came on in February and then we hired two DevRels this year and I think that's where you start trying to figure out what the public story is. You want to tell, because you have some core base of early adopters, but you need them to not just you know, not just grow into like, the early majority, which I love to use this model of crossing the chasm.

And I like to say that my personal specialty is helping developer tools cross the chasm, which is a very. Profitable a specialty, if you can actually do that repeatedly. But yeah, so you need to start basically like kind of start building machine of like curious what here's a collateral that we here's the typical story, like our, our one sentence pitch, our five minute pitch, our 10 minute pitch.

So 20 minutes a patient on a one hour pitch and you need to kind of market. Among different sets of audiences and figuring out what kinds of audiences like how to qualify these audiences immediately so that you can go down, you know, between two to three different talk tracks that are usually relevant.

Because the reason I say two to three talk tracks is because I'm not a strong believer that there is one marketing message to rule them all. Because a lot of developers who was companies are horizontal companies and it can be used in multiple different ways. And the things, the words, the. Influencers, the concepts that appeal to different audiences vary based on their own background.

So you need to figure out like what, what the, what that fit is. And then I think for me, like, the most important thing to establish at this early stage is the developer journey. Like what, yes, you probably have as CSA stage, you probably have a working products. You're probably building more features that are going to take you to the next level.

And your products is pretty dense already. And probably a lot of people barely even scratched the surface. That's what everyone says, right? Like it's a little bit depressing as a deputy founder to build a bunch of features. And then like people just use you for like the bare minimum. That's, that's just how it is.

A lot of people don't have time for anything more than the, the core. So first of all, your core value proposition needs to be really good, but second of all, you need to guide them through the rest of your product to see how awesome it is so that it can grow and usage. So that I termed the developer journey.

What should people. Land on your landing page. And then they're like, okay, like my friend said, this is cool. I'm going to come check it out. But I only have five minutes. What are you going to give them in those five minutes? Are you going to dump your entire feature set? Are you going to give them a hello world that is trivial?

That is that they could do in a weekend? Like what is the, what's the wow moment that you're really trying to deliver? And what's the open question that you're trying to leave in their minds. They're not happy with the five minutes and they want more. So I think that's something I think about a lot. And I, I draw a lot of inspiration from game design where it's a progressive review of features.

And you don't give them that much apart from like, do this and then do that. And then, and then go here and then go there. And you have a very strong sense of like what level one level, two level three, it looks like. And so that's the journey throughout through to products for me, it's about what a core, what the core concept is.

You know, doing a hello world or like, you know, deploying the, playing a basic app and then building, and then branching out into maybe like performance or security or deployments monitoring that kind of stuff. But that's for us, you know, and your, your message could be a bit different. Finally, I'll, I'll talk a little bit about specialties within the team.

So , we are very focused on front end developers. So the way that. We'll thought our team was that we had different framework specialists. So I was the react specialist because I'm a well-known speaker in reacts. And we have view, we had angular, we had you know, sort of static site generators specialists for us at Temporal.

We have SDKs in different languages. So we have a Java slash PHB guy, and then we have a gold person and I'm going to be the TypeScript person. And we'll, we'll have Python, ruby.net, whatever. You might want to split it up by, by that because there's a certain audience that each of these developer relations people speak to that maybe they're already known in the conference circuit.

Like it's super easy for me to get into any JavaScript conference. And I think that's, that's a, that's a home ground or unfair advantage that you should play when building out a different team. It's a bit hard to hire like super well known people. So sometimes you need to have an eye for trajectory rather than.

You know why rather than you know, where they are today because they Def Netlify definitely took a bet on me very early on when I was getting started my speaking career and it paid off for them. But sometimes it doesn't work out and sometimes you have developers where we kind of are not that productive, but I think that's where a really good dev manager can come in.

And up-level your individual contributors.

[00:12:28] How to Structure DevRel Efforts

[00:12:28] swyx: So. Yeah,

[00:12:30] Sai Senthilkumar: no, that's a great point. And I think you know, we'll get, we'll get into this later when we, when we discussed how to actually measure the ethicacy of if you done an organization, but you, you have a great way of thinking about it. You know, I think in the seminar we said something to the extent of there are four pillars of developer relations.

And I think that is that's a company like Hashi Corp, where they have. You know, there, there are much later stage that they're not a series a or series B startup. And I think they bring it into education, community events and audience, but you know, that's just not realistic for a series a or series B startup.

That's just starting out. And I think you just have a great framework for this by just asking what kind of Deborah are you? I think you get, as you mentioned, you have those three emerging subspecialties and Beverly the community focused upon think focusing product focus. Just asking that very basic question in the beginning.

I think we'll go along with.

[00:13:18] swyx: I think so, too. So, I mean, since we're on zoom, can I screen share the visual? Just so we so that, so the audience members can actually see what we're talking about. So, what size talking about is this four pillars thing from the previous session with Adam Hashi Corp.

And I mean, you know, there are a series what F or E company. And I w yeah, I would love to have an education team, you know, especially former teachers. A really good every time I see a former, you know, someone who actually has done teaching in like a public school setting or something crossover into developer education, they're amazing at it.

A formal events team. Amazing, fantastic. You know, but I, you know, I think these require fairly large, large budgets and have a very long PR cycle. Whereas I think maybe a lot of earlier stage companies are more focused on community advocacy and audience, right. So my, the way I break it down is a little bit simpler.

I and for the record, like I, I had seen this before, but like I just kinda made up, meet this up based on the people that I know. So like I have. Certain archetypes in my end, when I look at these things and that's kind of how I view it, right? Like at the end of the day, all everyone wants this monthly active developers.

That's not screw around. Like that is the source of truth for where Deborah is going to feeds into the, the rest of the value equation for a startup. There are certain specialties for people. Like some people are not that great at content. You know, they, they, they don't produce like, especially inspiring blog posts or talks or anything, but look, they're charismatic as hell.

You know, they, they, they just know everyone who's anyone. So their community devils, you know, whereas some people are just like thought leaders. They're just, you know, they just get chunk out like amazing and visually appealing and just like fantastic stuff. But then maybe, you know, and, and so maybe it should be applied.

And then others, like they can, they're, they're sort of more quiet, but they are very inside. The understand the core user insight that like people, you know, when they aggregated a lot of feedback from people, they can really sort of channel that into a very strong sense of product feedback. So I liked this and I liked that for me, the most impactful time as a dev REL on.

Was on product launches. So really focusing on making a launch successful by being the first beta user internally within the company RV products and just being brutally honest, like if you cannot pay someone to be brutally honest at you, then you don't have an intellectually honest culture. And then, but then also like making the demos and making the the collateral and the, the storytelling that will make your launch successful and a really good launch.

You can't really emphasize it enough to, to really help you. So I'll, I'll leave it there. I don't want to like spam people with, with too much, but I can, I can talk a bit about intern about each of these specialties and we'll get

[00:16:02] Sai Senthilkumar: him.

[00:16:02] When to Hire First DevRel

[00:16:02] Sai Senthilkumar: We'll get more into that when we, when we get into measuring measuring the ethicacy.

You know, you mentioned you know, after series a maybe even after your seed, but it seems that there isn't a black and white answer in terms of, at what stage in a company's growth earnings, should it consider building a debt relative? But it, it, it seems that you know, it may where it may be different from company to company, but generally it's when you, you're starting, you have a product out in market and you're starting to get developers to start paying for it.

[00:16:30] swyx: Was there a question in there? I mean, I agree,

[00:16:33] Sai Senthilkumar: I guess for Temporal, when did, when did they hire you? And then when did you know, when did they start thinking about it? Was it after this year?

[00:16:42] swyx: Yeah. Yeah, exactly. Right after series a, they they started reaching out to me and I, I said, no, at first. And then I said, yes.

So that's the short history. Cause like I just joined Amazon and I was like, I was very, very ready to rest, invest for four years essentially. But like, you know, I think when you, when a rocket ship comes along and something that. Fundamentally feel at your core has been missing all this? Well, I think we should take the totally.

[00:17:10] Sai Senthilkumar: And you were getting into this earlier before, but the question of who should that role report up there? It, I mean, ultimately it touches multiple facets of the business, product marketing, customer success. So I guess there isn't a black and white answer there as well.

[00:17:24] swyx: There's no black and white, but I think most people agree on products.

They just don't. You know, it's one thing to like, all right, move some people around on your org chart and just say, okay, you're under products now. And then job done. Right. But then your metrics haven't changed. You. Okay. Ours are all marketing. So what does it mean to belong in products, but then you measure them like, That you just, you're just treating them like a marketing team.

And they're a very expensive affiliate marketing team for a lot of people. That's how it is like at you know, at, you know, Phil in previous company, we counted our Google UTM tag attribution, right? Like, oh, I drove 10,000 visits to our blog this month. And you can pay for that way, cheaper, elsewhere.

You can pay for inorganic surge. You can pay for like, you know, there has to be something else that your devils are giving you because otherwise they're just very, very expensive affiliations.

[00:18:23] Community and DevRel

[00:18:23] Sai Senthilkumar: Yeah, that's a great way of putting it. Awesome. You know, I, I want to make sure we hit on community, the importance of community here, a strong developer relations or John UI communities on the side.

You also have a community at Temporal, I guess. Why, why invest in community, you know, in the first place you have a great post here, but I, you know, the audience would love

[00:18:41] swyx: to hear. So I guess someone will share it. The post. So I'll give, I'll give my community credentials for people who don't know. So I got started in the New York tech scene where I was very much, in-person just getting to know everybody at every single meetup.

And then I moved online where I was the moderator for the R slash react to a subreddit. And we grew that subreddit from 20,000, 30,000 people to 220,000 people before I left. And then I started small society from scratch. And now that was about. A year and a half ago, and now we're at about 11,000 people.

And then I wrote a book where I run a paid community for the book. That's about 2000 people. And then for Temporal, I run the community events, forums and stuff like that. And when I say I run, I mean, with a lot of help from actual other people who actually know way more than me. So, I've just like kind of the coordinator it's, it's pretty funny.

Cause like at Temporal. One of the least technical people there. It's just very unusual position for me anyway. So that's my community backgrounds. And obviously I, I have a lot of friends in the community manager space Rosie, Sherry, or the orbit, love people comScore and yeah, Mac written from from, from all these, all these community funders.

Like it's a very hot topic right now. Okay. Why community? Basically it's the. It's the, it's your users that are identifying with your company and a lot of community forums, a lot of company, community forums, like glorified support channels, right? Like, it's just, Hey you know, you don't like answering questions on stack overflow.

All right. I'll come to your custom discourse deployments and ask questions to you, but it's basically stack overflow. And what you really want is your users talking to each other, what you really want is your users hiring each other where you really want is your users building on top of you because they believe that you're, you're here to stay and they expect that their association with you will outlast their current employment.

The problem with this is good luck fitting any of this in an OKR that is measured quarterly because community is a relationship based. Long-term goal rather than a short term transaction. But I mean, I think people are understanding that at least for developer tools, that's the strength of the community is very important for crossing the chasm.

And I think a lot of people realize that when they cross the castle. Early adopters don't need community. They just need the tool to work. They just need to, like, they don't even need like that great of a docs. They don't need like a functioning, a vibrant job market for that technology. They just need to understand that the tool works and they can use it to solve problems that they have.

But once you get into the mass market, the majority, then people start deciding on like, Hey, I picked a. The TensorFlow community, because that community is really great at helping beginners. And it's got, it's got plugins and resources for everything that I could possibly want, that those are not core to the technology, but there are a lot of the reasons why people pick technologies, which is there, there's a strong community.

And I think to invest in that is a very, very long-term game, but it's a moat as well because everything else about your technology can be cloned or out competed, but a community is very, very hard to.

Yeah,

[00:21:50] Sai Senthilkumar: and I think you, you have a great point there. That community is, is a feature that cannot be copied and it itself is a moat for you and helps you gain these network economies.

I think you elegantly structure that in your, in your post.

[00:22:03] swyx: There is a, there's a VC out there. I'm, I'm really, I'm really sad that I'm blanking on her name because she wrote a really great book. I refer to her in my own blog posts on technical community builders. So, so please go check her out, but I'll give you the thesis of the blog post, which is previously.

Traditionally community. It was like the community manager at now. The five was kind of like Lewis on the totem pole. You know what I mean? Like, they would be going through the forums and seeing like, okay, like this person asked the question three days ago, it hasn't been answered. Please can anyone in the company help answer this question?

That is such a pathetic, like, I mean, you know, they were great, but like that, that just shows that the company. Value community, right? It went when, when that is, that kind of behavior is, is around. But then also the community experience or someone's interaction with a company is very fragmented. Like on the forums, I'll be interacting with the support team.

In, in, in conferences, I'll be interacting with the dev team in webinars. I'd be interacting with the marketing team in sales conversations. I'll be interacting with. It's very disparate thing and there's no sort of central. I guess CRM to manage like the interactions, but also I think more, more, more, more to the point who in the C-suite or who in the VP suite is responsible for community and who's managing that journey through, you know, through your company.

I think as I think. The community goes from periphery to core. Then a lot of things start deriving their insights from community. Like instead of having community be the afterthought of like, Hey, we launched this product from that's now go support it in the community forums, like actually go engage community users in the forums and help to drive product insights.

Or, you know, or beta test with like a super user community where there's just some, which is a topic I really like as well. Like the, the idea that every, every company, like I'm, I'm a part of a few super-user programs like GitHub stars Stripe community experts. I am blanking on some of the others, but we're looking into establishing our own as well, because it was very, very helpful for basically not just like recognizing some experts within the community, but also giving them preferential access.

As a ways to say thank you. And, and I think, I think it's just a very, it's a win-win proposition all around for your most engaged users. Yeah.

[00:24:26] Sai Senthilkumar: And Shawn, you're wearing multiple hats control your community, fellow Corps experience this, this community eventually become a separate role within, within Deborah.

Let's say you get to that stage on that.

[00:24:38] swyx: I haven't seen it personally myself. But yeah, I've, I've seen some companies basically have a head of community or VP of community or chief chief community officer is also a title that I've seen thrown around. But it takes time, you know, it takes it takes the right person to lead that.

And so I don't have a. Either way of like when the right time is, cause I haven't been through that myself. But I would love to see it. I would love someone at the highest level to say I represent the user and, and not, and this is very, by the way, this is very true for open source dev tools. I represent the.

Who never pays us a single cent, but contributes so much in tangible value in terms of code in terms of content and sort of like just buzz around the tool. And sometimes that, that person is just not represented in meetings, you know, that, that free user. So, yeah. I love, I love for that to happen right now.

A lot of that falls on their roles laps and that's a, that's a job that we need to just formally recognize that we do. And I think that's. Yeah. Awesome.

[00:25:41] How to Start a Community

[00:25:41] Sai Senthilkumar: So the, the $1 million question here, I guess, what are your recommendations for kick-starting a community, especially you guys have done a great job, you know, and you just pay in a year or so.

Like what

[00:25:54] swyx: are some recommended. So, first of all, I don't think we've, I think we can do better. Let's just leave it at that. I, you know, I'm sorry that it's just never happy. And I want to acknowledge so many in the Q and a James light. Yes. I think that's Lisa. She I haven't personally connected with her, but I have, I think, I think her posts for like drawing, like sort of community led growth, I think is a, is a very core insight that I think a lot of founders should have a good think about if not actually implement.

So. So recommendations, you said, right? Two things, like, I think obviously there's, there's this, there's this standard stuff, like have a slack, have a discord by the way, slack versus discord. If you're open source and maybe sort of more Indy go discord, if you're more enterprise Eagle slack, that's just how it is.

I don't love slack either, but that's just how it is. And then So the two recommendations are this like one. Events are underrated for community. So you saw how into Hashi court, four pillar thing events where different team and community. But I think at a smaller stage, those are the same thing.

People need gathering points, and this is about the temperature of. Your community as well. You need to manage your temperature. It's not always hot, but there's hot and cold and you need to make sure that the hot wet hot moments are really good. And when I'm not kidding around when I talk about temperature, so, for the sort of communication, immediate theorists in the room, you should refer to Marshall McLuhan who talks about hot media and cold media.

And I think it's very, very true that there, there are a lot of community and. Forums which are cold. And then there is some community community engagement methods that are hot and you probably want a variation of these things. So slack, so slack is one of those interesting ways in which a cold can sort of upgrade to a warm, but a hot you know, event would be a, would be a meetup, right?

Like a conference. And that's something that I think really helps. Netlify kicked it up, kick it off. Like we launched the conference where we weren't sure if we could sell up, sell up the seats. But we did. And then, you know, we went from one conference a year, it's a three conferences a year and that just really helps kick it off because once people have shown up and they start talking to each other and they have no choice, but they're kind of, they, they're kind of committed to like being in a room with you.

One to two days and like sitting through a bunch of vendor presentations it's such a really powerful thing. And, and, oh, by the way, getting your users onstage to talk about how proud they are of using your product. Amazing. Right? So events are super under four, and you want to, if you want to get good at community and get good at events, because then people have a reason to, to come show up and join you.

But also there there's a bunch of people who are just. Participate. So you need to be decent at a cold outreach as well. What is cold or what is you know, basically building an issue, distribution channel it's basically the stuff that you, you imagine like a mailing list like a Twitter presence, like a YouTube presence.

I think those are the main channels that I focus on. And obviously blog posts that, that drive. The second part, which I really like to talk about community, which is underrated, I think is content content is the minimum viable community in the sense that all right, you know, you have your products and it's kind of like it exists and people can use it, but really good blog posts would drive people from hacker news straight onto your community.

And they want to talk about your blog posts and give them a place to talk about it. Right. So, that's kind of how I drive my own. Writing community. That's how I think if you look at like basically the playbooks of the independent creators out there, they're writers for. Or there a YouTuber service, and then you have a community attached to them and the community aggregates around their writing or a content, but then they spread out from there.

But at least it's a reason to show up that is not about asking for support. And once, once they see a place to promote themselves or actually, you know, get into related conversations that are about what you stand for, rather than just about using you then you have. Vibrant like a self-sustaining community where people just show up because they know that's where they're going to get good feedback or responses.

[00:29:47] Technical Community Builders

[00:29:47] Sai Senthilkumar: Yeah, that's awesome. And I guess the point here, in terms of finding someone to drive your community, you have a great post you're on, on that technical community builder would love to just double click there and what you mean by that

[00:30:04] swyx: finding content, right. I mean, you know, at a bare minimum, just curation is really nice.

So if you think about like the big newsletters in the tech industry, like software lead weekly you know, pointer there, there's a bunch of these like basically aggregation blog posts, but curated by someone fairly knowledgeable. And that can be enough. Like you don't have to write the content, you can just aggregate it and that's, that's still a form of content creation.

So maybe someone to start there is, is good enough because writing original content that that's a hit after hit is, is a fairly tall ask. Like I write a blog post a week and I only get one hit a year. That's how bad it is. Right? Like that's how bad I am. But, but also like, that's just how brutal the content industry is.

And at the end, at the end of the day, like what all you're trying to do is provide a space for people to come to, to connect with other professionals who are solving the same. That's right. Like, Yeah, we

[00:31:00] Sai Senthilkumar: had a question come in here. I'm going to weave it in because it's relevant to the community section.

It goes.

[00:31:04] Social Media Managers

[00:31:04] Sai Senthilkumar: What, what if you have a great team of devs and Deborah ELLs, but they don't necessarily want to run social for the company. So the company developer handle is run by an actual social team that doesn't necessarily have the developer chops. And so any, any tips for the not dev teams per se, the social teams running dev communities, or should you just, you know, maybe look otherwise elsewhere and get a technical community builder?

[00:31:31] swyx: Oh, okay. Social. I think it's okay. So, by the way, for those who don't know, like the post for my, my block wasn't think community building was actually making a case for why your community managers should be technical rather than non-technical obviously that's a. More expensive, higher, but I think it does pay off because people, it really helps when developers understand that the person they're sitting across from actually gets what they're trying to do and can connect them with the resources or the people that they need to get stuff done, or, you know, just have mutual shared interest in.

But social media, if you have a social professional, a professional social person I haven't worked with those. I'll be honest. So I don't know what it's like. I mean, I know I'm, I'm friends with Rob or gala boob as he, as he's known on Reddit and Twitter. And he's a professional social media guy, and he's funny as hell.

And people follow him for that. If that's the brand that you're building more power to you, but sometimes that's not the brand of your building. And. And you need to make a conscious choice of like, is this, is this like, yeah, you're getting a lot of internet points for your social media person's output, but is there anything relevant to what you're trying to build as a business?

And if it's not, you gotta cut it. If it is then great. So I, I don't want to say like, so, I'm, I'm an investor in a company called Swyx. And they're amazing at me marketing but that's just the founders who love developer memes. It's not a separate social team. So I, I, haven't worked with a separate social team to, to understand how to work best with them to, to really give you a good feedback there.

[00:32:55] Sai Senthilkumar: Super base is great. I love that. I love it reads as well. I guess. Okay. So let's say you have a couple of folks in your Deborah or, you know, you're starting to build a community you're, you're driving that forward. The question that we, that that was most asked, you know, before the seminar is just measuring your devil efforts and then your, you already flopped that slide,

[00:33:14] North Star Metric

[00:33:14] Sai Senthilkumar: Shawn, and you, you shared your north star metric, but now people continue to talk about how hard it is to measure Deborah also, you know, would love to hammer.

The point of just why, you know, monthly active developers is, should be your north star metric. We would love and will.

[00:33:28] swyx: It's it's, it's the one that keeps you honest, right? Because your usage at the end of the day, and there's, you know, you couldn't men measure monthly active deployments or monthly active cluster.

And by the way, if you're hosting platforms this is a very relevant question. If someone deploys on you and just hosts on you and, but never touches, never logs in. But you know, they're, they're still getting value from your site. They're still paying you is that a monthly active developer? Right.

But the definition of monthly active developer is up for grabs as well. What most people who I talk to who are in the hosting business agree on is that if they're not developing their sites then they're not active. So, so be more brutally honest with yourself. Like, are you delivering enough features or are you getting the kind of developers who are growing usage and if they are, they should be constantly in your dashboard kind of tweaking stuff.

Like it's kind of like in how, in how consumer apps, like, you know, the people want. To build a recurring habit of coming back to you at least once a week, if not daily. And for developers that small, probably like at least monthly, if not weekly. So there should be some kind of recurring behavior, but monthly active developers, basically, you want to land within more and more different logos, and then you want to expand within those different logos and monthly active offers is like the one metric that kind of covers that, right?

So you're not, you don't just want to do evangelism, but then you also want that. W make sure that people don't turn off and you also want to make sure that people are growing within within the, within the companies that they landed. So, I think that kind of covers all of it, you know? It's especially hard, especially for open source because developers are very touchy about telemetry.

Yeah. As long as the contract is clear and you're, you were steadfastly just only measuring activity and not identity. I think people are fine with that. Okay. So, the one thing, one thing I will say as well, is that like, that, that is obviously the, the point where you know, sales can take over and, and start looking for leads and, and, and all that.

So that most directly translates to money. The reason I do not. Stare at like, I don't know what my med is on a month to month or even a quarterly to quality basis. I just, I just need to know if it's like up. So it's just like up, it's fine. Like I will have good bites. I'll have bad months. Some of it will be driven by product launches.

Just by the seasonality or whatever. It's very hard to control. It's a lagging indicator. And so you need to compliment it with a leading indicator. In fact, a bunch of leading indicators, and that's the way I set it up. Right. You have one lagging indicator, that's the source of truth. And then a bunch of leading indicators that should correlate in the long run with the lagging indicator.

So the leading indicators depend on your. You're a devil efforts ranging from community activity to your contents, you know, views and your, your distribution channel growth, like emails, subscribers, subscriptions, and YouTube, and all that. So your product metrics on bunch days and and NPS scores.

Well, and I, and I guess

[00:36:22] Sai Senthilkumar: the point of what are some metrics that you shouldn't necessarily care about as much the vanity metrics, the bad metrics per se.

[00:36:30] swyx: Yeah, I have a, I think I might get in trouble for saying some of this cause officially I'll get up. Stars is one of our cars for as many for Temporal, but I don't like it.

It's it's so it looks so sad to beg for a star. Like people should want to start you anyway. And then when people start you, they don't, they're not using you at all. They're just starting you cause they're throwing you a bone. So it's just so meaningless that. Basically the only time get off stars convert into real value is when someone is just completely naive about how this works.

And they're just like, wow, it's 20,000 stars. It looks amazing. And, and also there's also like the trending page, right? Like if you get on there, some people do discover projects through the trending page and get up. What else have I said, oh, I have. At conferences to scan badges we're going to cube con and like you have to pay for like the device thingy to like scan a badge for customers.

I don't think those ever work. First of all, it's like cheapens the interaction between you and them. They're just like, okay, I'm just a business card or to you. And then second of all falling up is super hard and very leaky. And those aren't good leads, you know, maybe the leads a week, maybe I'm weak, you know, And if we can, we can do all Glinka Glengarry Glen Ross there, but.

I, I don't, I don't think, I don't think the transactional interaction of like, let me scan into a database on my first interaction with you works very well. So I'll just, I'll just put it as my 2 cents. I, I did at one time and I have a permanently negative impression of it. What else did I say?

Oh, GitHub Google analytics, UTM tag. Yeah. So that one, that one I have been measured by as well. And I mean, yeah, I, I, the, the problem with that one is that it, it biases you towards writing a superficial Papa fund, like super top of funnel that may not have content that may not actually have anything to do with the business itself.

Like as long as it's funny, as long as it's controversial, as long as it's It buys you spices, you twist the wrong thing, like in the worst ways of like how it, how the Twitter algorithm or the Facebook algorithm biases you towards clickbait. And then finally NPS I don't love MPS, even though I did mention NPS just now.

I know, I understand that it's an industry standard and understand that you know, everyone understands that it's a flood metric, but it's so flawed and particularly developers. Implement NPS. Like I've been on the side where I've been asked to implement an APSI. Everyone knows how this works, and everybody knows that you don't care.

You throw out the seven, you count the eight nines and tens and you, you know, so like what are you really measuring? What insights are you really getting? Like, I much rather have narrative insight rather than an arm's length. Like, am I doing, you know, approval rating essentially, of, of my, of my job, because I don't think that actually gives me much actionable insight apart from things that trending up or down, which I already have with my reactive.

[00:39:20] Product DevRel

[00:39:20] swyx: Yeah, did, this

is

[00:39:22] Sai Senthilkumar: a question that came in by the way, next it's relevant from an average conversation, but let's say you're never out several reports up to product. What are, what are some good metrics there that you should, that you should care about?

[00:39:33] swyx: Okay. Yeah. So this is this is the thing I haven't personally figured out that much.

So what, what I wrote is. If I that makes sense for running devel, which is coming community content, and then product is like a third wheel. Product is one of the things that we're still figuring it out. How do you think products should be measured?

[00:40:00] Sai Senthilkumar: I think.

[00:40:03] swyx: So there's a lot of philosophy of what product is, which varies from company to company. And that's an unsolved question. And then there's the philosophy of metrics, how you think you should measure the thing. And then we're, we're doing so many bad shots here then, then you're like, how should reporting into product should, should be measured, right?

Like this is like three tiers down of unexamined core beliefs that you, that we haven't really figured out yet. So, that's why I keep it to tangible. Related to the activities that we're doing feeding into the, the one lagging metrics, which keeps us honest because we can monetize it.

[00:40:37] Sai Senthilkumar: Awesome.

[00:40:37] Finding Great DevRels

[00:40:37] Sai Senthilkumar: You know, I, and I know we only have 10 minutes left here. I do want to touch on the last point, which is just hiring you know, Temporal, they locked out on, on finding you what were some other folks like you, you know, if you were, you were just starting to hire folks for your devil organization, where would you say.

[00:40:54] swyx: Yeah, this is a tough one. So yeah. By the way, I get maybe three calls a week from founders asking about how to hire differs DevRel which is like, it's so amazing to me cause I, I kind of lucked into the job and then, you know, I randomly now have a reputation for it, but it's so amazing to me that this is something that's in demand because like, it seems like a fun job that everyone should want.

What I usually say is true. Think of the ideal user that you have, that you would most like to clone and hire that person? Because what a devil is essentially going to end up doing is cloning themselves by everything that they do in their community and the, every content that they write. They're essentially going to put out signals that, Hey, this is a place that I believe in.

And if you're like me, you should join me. And that's obviously, you know, had its problems with diversity, but it was a little we'll, we'll sort of leave that as a separate topic. It's hard because when I say. Typically you're the users that you would most like to clone is also your most ideal customer.

So you don't want to poach your Deno from your customer? Sometimes oftentimes that ends up happening anyway, because usually the customer, you know, the person is a champion at the customer they implemented successfully and they're off to the races and then customer. The person probably believes in your company more than they believe in the company that they work at.

So they leave to join you. That's how this all happened for us. And for offers there for hire. So yeah, I mean, that's very natural and very organic and if it happens great for you if you have, if you're struggling to get that, and I completely understand, one thing I like to say actually is maybe you don't like, especially if you're like pre series a.

So I talked to a lot of like seed stage founders, cause I'm an angel investor. If you're pre series a like. You may want to make sure that at least your founder you know, your CEO CTO can be effective. . If you can't do it, why you, what do you expect that? So you can hire someone else who, who, who can do as good a job or better like yesterday, because they could probably do a better job if they're like an experienced speaker, expensed their phone or whatever.

But if you can not be a PR, if you personally, as the founder, as, as like someone in the C suite, Can I do a good job of evangelizing for your company, then you haven't figured it out. You'd, haven't figured out like the, the core message to pass on to your detriment, to, to execute on. So make sure that you you've, you've done the job first because you're also part of the default team as a founder, like it or not.

Right. You're the most credible one too. And the one with the most power to fix anything that comes up. So, maybe don't like, if you're struggling to hire your first role, maybe don't hire like someone who's already an established level who comes from a different community, because if you try that and expect them to transfer their audience to you, like NPM installed.

It may not work because they don't come from that same mindset. They don't have, they haven't experienced the same problems as you. I much rather take an existing engineer who you know, has some skill that at writing posts and stuff and, and train them up because I think that their roles are more made than bored.

And that's, that's kind of, I.

[00:43:47] DevRel for Dev Platforms of non-DevTools companies

[00:43:47] Sai Senthilkumar: Awesome. Well, Shawn, I know we have like another five or six minutes. I want to hit on some questions that came in through the audience. There, there was a good one here about how deck row is different when the product is not specifically for developers like Salesforce, HubSpot, or where it's enterprise stats, but you still want a developer community using the APX.

How, how is demo different there? How would you think.

[00:44:12] swyx: I haven't worked on that stuff. So please, please take this with a grain of salt. I've seen Spotify DevRels at work, which is fun. Did you know Spotify has their roads? And yeah, I, I understand that. Sometimes you just have a developer that notion has a devil.

Yeah, there, there, sometimes it's not the core thrust, but you're still in developer community. I think that this one is more straightforward in the sense that like, Hey, come build a business on top of us, right? Like here are the existing users, here's the monetization. Hopefully there is monetization.

Usually a lot of platforms develop a preference when they launched. They don't have any money to division figured out, which is super annoying. That's what happened to the Alexa by the way. A ton of crap because they never figured out monetization. And and yeah, I mean, basically sell it as a way to.

An audience that a captive audience that is behind a walled garden that they could not reach otherwise. And here are all the APIs. Here's how seriously we support it. You know, you don't want to be Twitter where you deprecate APS every so often so that no one believes in you anymore. And you know, you want to host hackathons.

You want to, you want to show examples of early success. You want to show, you want to give your developers. An idea of what is most demanded by your community of of your non-technical users. And then, you know, you want to show the re the revenue potential. Honestly, I think Shopify does an amazing job at this, right?

You don't, you don't think of, I mean, I think more Shopify has like a dev focused company, but actually they're not like they're selling it. They're selling. It basically rails e-commerce rails to non-technical e-commerce users and the developers come along for the ride and build out the Shopify ecosystem.

Right. That's a very successful dev ecosystem because Shopify has monetization figured out. So people gravitate to where the money is, which is why, you know, all right, let's apply this to the very app that we're sitting in right now. Zoom launched a dev community with no monetization, right? There's a whole, there's a bunch of plugins.

Maybe you can use them. No one, no one has any idea. What they are you know, that's, that's not going to be that successful, even though zoom has a massive, like billions of users, audience it's hard to build a company on top of it, like slack launch the fund Companies when there are certain sizes, they launched like a creator fund or like a startup funds.

So the cave come build on top of us, we'll fund you. And like, you know, we'll turn you into like a legit startup. I don't think there's, there's been like maybe one successful slack based startup, but that's it, you know? So yeah, you gotta really figure out monetization built into the. Yeah, totally.

[00:46:38] DevRel Tooling

[00:46:38] Sai Senthilkumar: Another good question that came through with some of the tool recommendations here technology that devil's stack, I we've actually been following a company called orbit.love that I believe you're familiar with as well.

And you know, we're, we're calling it almost a deck as a Debra L CRM that effectively acts as the operating system that rolls in from agents and any other good ones or is orbit the one like, yeah. Well, what were your tool stack be if you were to recommend that.

[00:47:03] swyx: So it's funny. Cause basically I knew Josh before he started, orbit. And so I'm reasonably friendly with them and recently actually sat them down for like an hour and just. Just like unloaded on them on like, all the ways that I don't think their product is good enough. So it's, it's so fun because like, when you have to actually use the thing versus like show a pretty dashboard, like it's, it's a world of difference.

So orbits orbits at the pretty dashboard stage right now they need to basically become the definitive source of how every Silicon valley company measures their developer community. They're not there yet because they present with too many numbers. Okay. So, common room is the other one.

Have you seen it? Have you seen anybody?

[00:47:41] Sai Senthilkumar: That's

[00:47:41] swyx: a good one. They seem neck and neck. I think common room has has more focus on the integrations aspects. Whereas orbit is maybe more on just general open-source community. I'm not sure. I mean, in the common room seems to have very good enterprise sales for whatever reason.

It's super weird. I don't, I don't understand it, but yeah, both of these things are okay or good. Like, I don't think they're amazing because they haven't changed my life as a dev community person. Yeah, that's kind of what it's kind of where I leave it, you know, and I don't, I don't have a formal system, I think for, for sure other people are going to have a formalized CRM.

We run ours in notion. It's, it's manually attracts not automatically integrated. I would love for it to be automatically integrated, but also it's not going to materially change my life because I know who my most active users are. I know, you know, I know, I know who is like, you know, super active and I know who's falling off, like, I don't need a machine to tell me that yet.

When I may be you know, a much bigger company, maybe like C stage S a CVC probably I'll want to have that so that I can at least have a shared understanding of reality with my team. But right now, you know, there's three of us. It's fine. You guys are doing

[00:48:49] Sai Senthilkumar: an awesome job and, and, you know, we're, we're big fans of what you're building over there and the community you're building over there.

I think we're coming up on time, Sean. Unfortunately, I I'm gonna, I'm gonna kick it off. It's obvious.

[00:49:01] Travis Bryant: Shawn we've been running these COVID office hour sessions for since we all went into lockdown and I think this was the most engaged audience. We've had of any one of these. And it was the first time we had in the Q and a, a request for how to reach out to you directly.

So what's the best way to to connect with.

[00:49:19] swyx: Oh, sure. You can find me on Twitter at Swyx. I'll drop it in the chat and you can find my sites where I have like a newsletter and more blog posts, all the blog posts you could possibly want. And Swyx.

[00:49:31] Travis Bryant: Yeah, great. And what we'll be doing in the recap of this, along with the recording, number of you asked for that, and we'll be publishing that in our recap blog post, as well as we'll just make it an index of all of Shawn's blog posts so that you have an easy way to pop to those are the ones that he referenced as well as the the graphic that he put up there.

View Details

  • Metal Hawks - For Whom the Bell Tolls https://www.youtube.com/watch?v=RrYWgGHJpXU
  • Adam Ezegelian - Demons https://www.youtube.com/watch?v=gGdyafdVktw
  • Adam Ezegelian - Sweet Child of Mine https://www.youtube.com/watch?v=KK1W_THw2d4
  • AMHBand - Sweet Child of Mine https://www.youtube.com/watch?v=g4eo6LS9lto
  • Jack Black Duet (Kickapoo) https://www.youtube.com/watch?v=GZTmhVbPr6c
  • AMH - Backwards https://www.youtube.com/watch?v=GZTmhVbPr6c

View Details

Listen to MFM: https://www.listennotes.com/podcasts/my-first-million/197-with-dharmesh-shah-DzipvNkQ17y/

  • https://website.grader.com/
  • More on website grader: https://blog.hubspot.com/marketing/website-grader
  • https://www.growthbot.org/
  • More ideas on Engineering as Marketing

View Details

Listen to the Nathan Barry show: https://nathanbarry.com/030-sam-parr-growing-2m-subscribers-selling-newsletter/ 50mins in

Sam Parr's $800k email: https://twitter.com/theSamParr/status/1332018614367645697?s=20
https://twitter.com/theSamParr/status/1331759376433115140?s=20
300k views: https://twitter.com/theSamParr/status/1332024062919503875?s=20
3k subscribers - max 1% conversion rate

Transcript

[00:00:00] swyx: Today, we're talking about email from two of its biggest practitioners, Nathan Barry from convert kit and Sam Parr from the hustle and sandbar par recently sends a email that converted into $800,000 worth of sales in one day. And this is.

[00:00:19] Sam Parr: You want to know something funny that, that tactic of emailing the wrong link and then emailing them again to let people know that you've created.

[00:00:27] Always gets more sales.

[00:00:29] Nathan Barry: Oh, it does. Okay. You should tell everyone about your black Friday

[00:00:33] Sam Parr: promotion. Okay. So I've done this twice. Most people don't know I did this twice. I actually did this in 2014. When we first started, when we only had about 40,000 subscribers. So back then in 14, what I did or 15? Well, no, when did we launch?

[00:00:46] No, we lost at 16, so I didn't tell him 60. I'll tell you what I did black Friday. And I'll tell you what I did now or back then. So back then I, we accidentally sent, like, it was, the day was Thursday morning. We accidentally sent the previous Wednesday's email on Thursday. And so people got like the same one over and then we immediately send a reply and it was a screenshot of my slack, where it was me slacking to our writers saying.

[00:01:13] You really screwed up, you know, this right. And then being like, oh my God, I can't believe I did that. It's like, and she's saying like, well, what do I do? And I'm saying, you better fix this or you're out of here. And she was being like, well, you got to give me some suggestions. I go, I don't know, just take a screenshot of this and put it in the email.

[00:01:29] And if it gets a lot of opens, you're gonna keep your job. If it doesn't you're outta here. And we just screenshot of that and put it in the email and it got the highest open rate. Uh, some people didn't get the joke and they got mad at me, but I was whatever. Um, but the other day we made like $800,000 in one day.

[00:01:47] And what we did was, um, this, this is like what I'm saying, like you, you convert kit creates the Lego pieces and, and it's fun for us to manipulate it, to create cool stuff. We, um, made an email, which is actually really hard to make an email look like a Gmail email. Um, It's like not intuitive. And you've got to like, kind of do weird stuff, but we made an email look like a Gmail email and we made it look exactly like I was having a conversation with the team and I sent them an email.

[00:02:17] It said art, everyone are big black Friday sale. It's totally ready. Can you guys please make sure all the links work? Um, this is going to go live and it's actually like our biggest discount ever. I'm kind of think that we're giving too big of a discount, but, uh, whatever, I guess we'll see what happens.

[00:02:33] Just, uh, let me know if it works and then we'll, and we'll hit send tomorrow morning and then they reply. And so that email was sent to a million plus people or something like. And we made it look like it was, it was an accident. You know, I accidentally sent it to our whole list as opposed to our company.

[00:02:51] Right. And we got so much traction so much. There was tens of thousands of people on the website buying. And I got literally 10,000 emails and we send it from Sam at the hustle, my personal email. I got so many subscribers people saying, including my friends like Nathan, um, or, uh, Andrew Wilkinson, like smart techie, entrepreneurial friends.

[00:03:13] They called me and they go, yeah, they go, dude, you just sent this out to your whole list. This was not meant for, this was you were not meaning to send this to me. And my reply was like, oh no, really? And, uh, it just crushed it. Yeah. It was like the biggest sales day ever. I think we, I think we stole that idea by the way.

[00:03:32] I I'll give credit. I think it was Chubbies who I stole it or Brooklyn and we stole it from someone, but it was really effective. Yeah.

[00:03:39] Nathan Barry: That's amazing. I just love the idea that someone receiving that email. That like, there's another email address of like entire list@:.com or whatever, they've you send to that?

[00:03:49] It, like, I love that someone thinks that's a mistake that could act

[00:03:53] Sam Parr: the people at HubSpot emailed me. This was during our due diligence and they're like, Hey, like they called me or texted me. They're like, I don't think this meant to go to everyone. And I was like, oh my God. I know it was a joke. It was a hit, it was a huge hit.

[00:04:07] It was great. That's amazing. I'd

[00:04:10] Nathan Barry: love to talk to just for a few minutes about monetization and, and any of that since you have this split between sponsored revenue and, and the paid revenue and all that, um, maybe share some of the numbers behind trends, at least at the highest level that you can. And then, um, I'm curious why, why you keep those two models.

[00:04:30] Sam Parr: So, um, we were, we were probably going to do 20 million in revenue in 2021. Trends has over 15,000 subs. How many of those

[00:04:41] Nathan Barry: were from, uh, black Friday in particular? I

[00:04:44] Sam Parr: don't remember exactly. But that day or that like campaign drove, like he got a thousand, uh, probably 3000 customers.

[00:04:54] That's amazing. Yeah, because 3000 times 300 is nine. Yeah. We, we drove. Yeah, we drove about $800,000 in sales that day. So whatever that divided by, I think it was 200. It was the price, whatever that divided by 200 is how many we got. So what's like,

[00:05:11] Nathan Barry: what's the breakdown between, um, sponsorship revenue and, you know, the trends revenue as a percentage of

[00:05:19] Sam Parr: the company.

[00:05:20] By the time we sold advertising it was over a million a month in sales. Wow. Um, and trends was going to be close to eight figures this year. Um, but we counted our revenue a little bit odd. Like we want it to have like cash in the bank, like 20 to 22 million in 2021.

[00:05:42] Okay. I think advertising could have been about 14, 15.

[00:05:47] Nathan Barry: The majority is still at is advertising, but trends.

[00:05:51] Sam Parr: Uh, kick-ass business. Yeah, because the renewal rates so freaking high. Yeah. Like our renewal it's really high. And I think we're, we undercharged where we're not going to raise the price anymore, but the reason why I'm not sure what 21 would have been is because we had tested raising, like tripling the price and conversion rates for the same.

[00:06:07] Yeah. What do you think

[00:06:08] Nathan Barry: about like everyone going with paid newsletters now? You know, so, so it created, let's say you're at 25,000 subscribers or 20,000 of shares.

[00:06:15] Sam Parr: I think they're making the wrong mistakes. I think there's the sub stack is cool, but I think it's helping people make bad mistakes. Um, I'll give a few examples.

[00:06:26] The first, the first example is pricing. Most people charge way too little. Um, if you're creating a B2C thing, then I understand why you would want to charge like $5 a month. But if you actually want to make a living at this and provide value, You got to charge more money. Like, um, most traders typically are bad at this.

[00:06:46] They think that certain information should be free, but it's like, man, how are you gonna make a living? If you, if you're charging $4 a month, like that's really, really hard. So like charge way more. So I think people need to charge a lot more money. Um, yeah. Or I would say, uh, yeah, more yeah, 50 bucks a month.

[00:07:07] Sure. Like I would say. The difference between a person buying 99 a year and 2 99 a year. I bet you, those rates would be the same and you just made three X more money. Um, and then the difference between 2 99 and 4 99, also probably isn't like that big. So I think you should charge more in not only is charging more good for you as a creator because you get more money and you can, you can put more of into the business, but also people tend to like that stuff.

[00:07:38] If they paid money for it, they usually appreciate it more. You know, it's like if you worked really hard to buy a car, versus if the car was given to you, you're going to treat one of those differently than the other. So I think people tend to treat higher end stuff nicer. So I think you should charge now.

[00:07:50] I don't think this isn't like blanket advice for everyone, but I think a lot of people could use that. The second thing is I would actually do annual billing only, not monthly bill. Um, so if you could pull off doing annual only put it as like, you know, 25 bucks a month, but charge it as 2 99 a year. Um, because once you, yeah, I just think that's the better move and you actually would probably have a far more educated opinion on this, but from content, that's what I've seen.

[00:08:18] Well, the,

[00:08:19] Nathan Barry: um, I mean, I agree with that because we've seen content on membership sites or sorry, turn on membership sites or content. Being quite a bit higher than software in general, especially when people are implementing it poorly. And so then what happens is, you know, you're just playing this churn game.

[00:08:36] And especially when you have high churn on a $9, $15 a month products, it's really raw possible. And so I exactly what you're saying of going for a year upfront now, it's interesting. A lot of people go like buy a year for a discount and you're saying like, just don't even offer a monthly.

[00:08:56] Sam Parr: Yeah. Oh, well, if you're going to awfully offer a monthly price, make it like crazy expensive.

[00:09:01] So it puts an acre. So it makes the annual a no-brainer so like 50 bucks a month

[00:09:06] Nathan Barry: and or $250 a year. So it's like double or

[00:09:10] Sam Parr: yeah, only pretty much. The whole goal though, is to get. Right. And we have never done monthly. And the reason why is I went and talked to the information. I talked to the athletic, I talked to the New York times.

[00:09:23] I talked to the Motley fool. I talked to like all these companies and, and pretty much across the board, they were like, we only drive people to animal. And I was like, all right, well, I'm not, I'm going to have a monthly, we're just going to get rid of it entirely. Yeah. I'm like, why, why even do that? Then let's just cut.

[00:09:36] Cut that. Um, the third thing I would say is. Have a long form sales page as your homepage. A lot of people will think that they're the New York times and that they can just make their homepage or the page that they drive all the traffic to make it like a, um, like give a lot, give away a lot of stuff for free and just hope someone will convert, um, that, that will work if you're the New York times and everyone knows to trust you and to get to know you and they know exactly what they're getting themselves into.

[00:10:02] I think if you're like not them, then you should probably have a pretty hardcore. Um, like sales page and I don't mind, my opinion is not to do freemium. Do you have to pay money to get it? Um, you could do like a one, like we do a $1 trial, which is interesting. Um, but, uh, I would say like, make your homepage a sales page.

[00:10:24] Like if you go to convert or a sub sub sub stack pages, it's just like a one-liner that. Like doesn't sell the product. Right? So I think you need like a sales page kind of like your book authority, like you had a sales page

[00:10:41] Nathan Barry: with authority was take the best that I could learn from direct response copywriting, and then bring in design from the startup world and try to merge those two things.

[00:10:50] Cause like the design startup world, they would be like, no, here's the buy button. You don't need any connection. And the direct response world would be like, it doesn't have to look pretty, but it's going to be 10 pages long convincing you everything about it. Can we just, can we just combine these two things?

[00:11:06] Sam Parr: That's exactly what I do. I totally agree with that premise. I, 100% agree with you and as exactly what I do. And, um, I completely agree with that.

[00:11:14] swyx: So to recap, the math for those paying attention, the $20ish million hustle business is broken down into $14 million in advertising. So that. Bit over 1 million a month in sales and then seven to $8 million a year in subscription revenue for trends, which is about 15,000 paying subscribers.

[00:11:34] I think the actual number is probably higher than that, because if you back out the unit costs, the, that doesn't match up with the list price of what the subscription of revenue is. And he says that he had 3000 subscribers on. Mistake black Friday day, and that drove 800,000 in sales. So that's roughly $260 per subscription.

[00:11:56] Again, that's a bit of a weird number because I know that I jumped on that sale and I only paid $99. So there's a little bit of funkiness going on with the math. He's not being precise. It doesn't matter. I think the tactics are solid.

View Details

Listen to TWiST: https://thisweekinstartups.com/ask-an-angel-plus-antonio-garcia-martinez-vs-apple-with-zach-coelius-e1215/

Listen to my previous episode on Angel Investing Math: https://www.listennotes.com/podcasts/the-swyx-mixtape/why-angel-investing-is-dumb-v6oYXBeO4wS/

View Details

Listen to the full Deep Questions podcast: https://www.listennotes.com/podcasts/deep-questions-with-cal-newport-cal-newport-t94EC0dyxsL/ (clip is from 40ish mins in)

Notes

  • YouTube CPM $2.50, Audio CPM $25, yet Audio gets paid for non-listened downloads
  • Low end YouTube podcast audience 37k, high end 400k views per episode
  • Audio makes way more for something half that audience
  • Audio targets 25-45yo professionals
  • Bigger shows like Marc Maron have lower CPM, $9
  • Science and education show: $35-40 CPM
  • Chillax show: $15 CPM
  • 10,000 fans * 4 ads a week * 25 CPM each ad = $1,000 a week, $4k a month
  • 50,000 fans => $20k a month
  • Sales cut - 15-30%

Transcript

[00:00:00] swyx: Hey everyone today, I'm featuring a conversation between Cal Newport and Jordan harbinger. Both of whom are top podcasters talking about the economics of podcasting. So there are very few people who are as qualified to talk about it because the actual Lee have numbers and they make their living.

[00:00:19] swyx: Partially at least on podcasting. There's two angles I'm interested in here. The first is of course just how people make money and what kind of money people make from podcasting. And second of all, I've been very interested in YouTube podcast versus audio podcasts. And Jordan goes a little bit brutally into why YouTube is just not that popular for podcasting.

[00:00:38] YouTube vs Audio CPMs

[00:00:38] Cal Newport: I think a little economics for my listeners will be useful to try to understand actual money amounts so that they can understand right now where the industry is before we go to where it could go in the future. So it might, if I'm correct. And I hope so because I'm doing some of this. Um, so our core number here to think about is four, uh, adds a CPM.

[00:01:01] So cost per mil, meaning thousand, um, which is how many, how many dollars. Per a thousand people that are going to hear an ad, right? So is this, I think this is, this is the cord number, right? When trying to understand how to putting aside other types of revenue, but just for passive advertisers, this is the cord number.

[00:01:21] Jordan Harbinger: Okay. It is, although I will nitpick one thing you mentioned, it's the cost per mil cost per thousand people who will hear an ad with podcasting it's actually download or even stream it doesn't mean listen. And there's a difference here for people who aren't super familiar with it. You probably have podcasts on your phone that you've downloaded, but you've never listened to, if you've got the Jordan harbinger show queued up on your phone, and there's an episode that you didn't think was interesting, but you still download it and you plan to delete it later.

[00:01:48] I still got paid for every ad that is in there, you know, that fraction of a cent or whatever it is from you. So thank you for that. Um, That's important, an important distinction, because if you're a YouTuber, you don't get paid for somebody thinking about playing your video, right. You only get paid. If somebody hits play, they don't necessarily have to see the ad either they can quit halfway through and it counts as a play, but usually there's some sort of dynamic insertion that only inserts when you're playing yada, yada.

[00:02:14] But what this means is it's important for the CPM, because what it means is the CPM for a podcast ad that is actually listened to is something like. Nine X or 10 X, the actual amount that you're getting paid per thousand downloads. So if, if I'm looking at it, there's some new technology that does this and they say, okay, we're only gonna pay you for the amount of people we think heard the ad.

[00:02:43] And, but your CPM is 250. Yeah. Whereas if I sell an ad wholesale and I, and you pay for downloaded or streamed or listened to my CPMs, like 25 bucks. So it makes the pricing different, but it also shit, it sheds light on how valuable a viewer of a YouTube video is versus a listener of a podcast, because if you're a viewer of a YouTube video and you're getting three bucks CPM, and I'm getting, let's say 250, let's say you're getting two 50, $2 and 50 cents for a view of a video just to keep them.

[00:03:15] I, my listeners are worth a hundred times more than your viewers, which means that a thousand people listening to a podcast is worth like a hundred thousand people watching a YouTube video. Now that is not actually true, but that's how the math works

[00:03:29] out.

[00:03:29] Cal Newport: Yeah. And what's interesting about it is, and this might have to do with the ad form because if you have.

[00:03:36] Full U-turn version of your podcast. A lot of ad agencies are going to, um, count those views of the YouTube, like a download. So, so in other words, there's something about the host delivering the ad, I guess that, whereas the value is. If you listen to it, you're watching the host and the host is delivering an ad on a YouTube video.

[00:03:58] And that's much more valuable, I suppose, than a banner pops up. Totally huts. It cuts to one of those skip, skip and five, uh, right. Like

[00:04:05] Jordan Harbinger: Alexis ad in the middle of your favorite podcast. Exactly. Those are with way less and, and you're right. The host read is where the value is now. Again, slight nitpick just for the sake of being accurate here.

[00:04:16] Um, if you have a, a YouTube based podcast where most of your views are YouTube, Yeah, you will generally get a lower CPM than somebody who's mostly get audio. Like if you look at my YouTube channel for the Jordan harbinger show, I've got like, I don't know, fricking 37,000 subscribers. Like no one is subscribed to my YouTube channel and no one's watching very few people are watching.

[00:04:36] But my youth, my audio only impressions are obviously far higher and those ads are worth thousands of dollars each. Whereas I know a lot of people that have the inverse proportion where their audio downloads are sort of few, but their YouTube impressions are very high. Like 400,000 people are playing each video.

[00:04:55] They're making far less money. Then somebody who has a podcast, an audio podcast show that's half the

[00:05:01] Cal Newport: size. Yeah. Fair enough. So, so, and I've seen that before. Yeah. If you, if you have a big audio podcast, it's almost like the, the, the advertisers or the intermediate agency is saying, okay, if you have some extra listens or views of the show on YouTube, you can throw those into the count, but it's almost like you're being thrown a bone a little bit, but if you're a primarily.

[00:05:21] Be that way that if it's you doing the read on YouTube, it shouldn't matter. But, um, I don't know if that's about a prejudice against who's watching YouTube or I think it is.

[00:05:30] Jordan Harbinger: I think I hypothesize YouTube is a younger audience and also an older audience. And what I mean by that is I think. There's a higher concentration of, let's say 25 to 45 professionals that are employed listening to podcasts. And there is everyone is watching YouTube, but there's, that means there's also like 60 five-year-olds that are bored at home.

[00:05:50] And don't know how to like, use your promo code to go and buy that CD. And there's also a bunch of 14 year olds that would love to go buy that cereal, but they don't have a credit card and they don't have any money and they don't have any income. And that makes up a huge number of plays. And there's also a bunch of people from Argentina that can't buy your cereal because they don't ship there.

[00:06:08] Whereas podcasts it's like 25 to 55 age. Most of them are employed. They're all in the U S and Canada. So the sponsors are willing to, it's just so much more targeted for.

[00:06:20] Cal Newport: And there, and it's, it's more of an old fashioned advertiser relationship or they care about audiences again, sample of one. But my ad agency really has no problem selling out my ad slots.

[00:06:30] And I think in park they're like, okay, cow, this is probably a bunch of 32 year olds, you know, in the tech sector with disposable income without families yet, like, yes, we will, we will pay all the dollars because they will, they will go buy they'll go buy whatever, but, okay. So let's, let's do the economics.

[00:06:45] So you mentioned just. Number, if we're just talking about the CPM per download, you said $25.

[00:06:52] Jordan Harbinger: That's kind of market rate. Yeah. Like a show that is. Quote unquote, smarter, like a smarter audience might get a higher, we'll get a higher CPM depending on how it converts. So industry-wide CPM. It's probably like 25 bucks.

[00:07:09] Whatever a huge shows have lower CPMs, cause it's harder for an advertiser to stomach the buy at. They don't want to pay $10,000 for an ad or $13,000 for an ad on mark Marin, because it's just too much to test. They might want to spend like nine, so they get a deal and the CPM is lower, but also a show in the science or education category.

[00:07:29] Like. That's going to be maybe even like a 35 or $40 CPM, whereas a show that's about two dudes drinking beers in their garage and talking about sports from one specific town that might be more like a $15 CPM, just because of who the audience is and how it converts for the product that's being sold.

[00:07:49] Cal Newport: So let's do.

[00:07:50] Let's do some math here. Well, let's start with Kevin Cal Kevin Kelly's 10,000 true fans as being what you need to be a middle-class artist. So if we do that math, let's say you're doing a one-hour show a week. You're fitting four ads into it. So you're getting a a hundred dollars CPM, total per show. And if you had 10,000 true fans that downloaded your show, that's a thousand dollars a week.

[00:08:17] $4,000 a month. So is this seem reasonable so far as a starting point? That, and that's a fair size crowd, right? But if you have like 10,000 true fans, we're, we're the category of legitimate side hustle, but not.

[00:08:31] Jordan Harbinger: Right. Yeah. Unless you live in a really cheap area, like you've managed to do that digital nomad thing.

[00:08:36] And you're like living in ho Chi Minh, city, Vietnam, you know, $4,000 a month, not bad. Right. You're probably not even buying a house. You're renting someplace. You're living. You're probably doing all right at that point. So then if you're

[00:08:49] Cal Newport: sold out. Yeah. So, so, okay. Now, now when we think about good, like middle-class upper middle-class creative career.

[00:08:55] So if $10,000, uh, we're talking about 10,000 pounds, Let's jump up to now, let's jump up to 50,000. So you, each episode can 50,000. Now, now you're, you're getting pass the top 1%, but, but I think something that's completely reasonable for a creative that has an audience or has, you know, it's not, it's not.

[00:09:15] Crazy number. I think it's a crazy number and you can correct me if I'm wrong here. If you're just coming out of nowhere, but let's say you are actually a well-established talented, creative individual. That has a good, what you're doing is a good match for podcasting, uh, because I'm interested in that class.

[00:09:30] So it's to create a middle-class, so was talented creatives, but not superstars. Um, so now if we're talking a a hundred dollars CPM per episode, but we're getting 40,000 or let's say 50,000, 50,000 downloads. Okay. Now if I'm, if I'm doing this math right. And I am using a calculator, so that gets you to $20,000.

[00:09:52] Jordan Harbinger: Right. And I want to explain to people, cause you said a hundred dollars CPM. They're like, I thought it was 25. There's four ads episode one hour CPMs together, just so people can follow the math. The other thing is the other asterisk by this that always makes you, and I am sure cry every month is we're not taking that money home.

[00:10:09] Like there's a sales team that has to take their bite. And a lot of those companies networks, whoever's doing the sales they're taking between 15 and 30%.

[00:10:21] Cal Newport: So let's, let's do that. So I'm going to bring this down and take off 30. Let's take off 30% here because look, you're, you're focused on the art. You don't want to be doing the ads.

[00:10:30] All right. 14,000, $14,000 a month. Uh, this is, uh, this is a good living for an artist like your, your community right

[00:10:38] Jordan Harbinger: there.

[00:10:40] swyx: Could I make $14,000 a month? Podcasting? I think maybe it's possible. It would take a lot of effort and it would be a full-time job, but. It's possible. Should I do it?

View Details

A wideranging convo with Sunil covering the future of React, the Third Age of JavaScript, and the Meta of online discourse.

Watch on YouTube: https://www.youtube.com/watch?v=H3h1WICelqs
Follow Sunil: https://twitter.com/threepointone

Chapters:

  • [00:01:40] React and Temporal, Declarative vs Imperative
    • My Temporal Explainer: https://twitter.com/swyx/status/1417165270641045505
    • https://www.solidjs.com/
  • [00:12:57] State Charts and Lucylang
    • https://lucylang.org/
    • XState and Stately https://stately.ai/viz
  • [00:17:08] The Future of React
  • [00:25:03] React Streaming Server Rendering vs SSR/JAMstack/DSG/DPR/ISR
    • ReactDOMServer.renderToNodeStream()
    • Sunil's Slides: https://www.icloud.com/keynote/0MyOJkDIOVfFit76PqJFLvPVg#react-advanced
    • https://react-lazy.coolcomputerclub.com/
  • [00:33:13] Next.js and the Open Source Commons
  • [00:38:46] The Third Age of JavaScript
    • Third Age of JS
    • Benedict Evans (not Sinofsky) on Word Processors: https://www.ben-evans.com/benedictevans/2020/12/21/google-bundling-and-kill-zones
  • [00:45:16] ESbuild vs SWC vs Bun
    • Bun (Jarred Sumner) https://twitter.com/jarredsumner/status/1390084458724741121
  • [00:50:46] Let Non-X Do X: Figma vs Canva, Webflow vs Wix/Squarespace
    • Canva vs Figma valuations https://twitter.com/swyx/status/1438102616156917767
  • [00:52:42] JavaScript Twitter and Notion's 9mb Marketing Site
    • Notion 9mb JS Site Tweet
    • mrmrs' Components.ai
  • [01:06:33] React Server Components and Shopify Hydrogen/Oxygen
    • https://twitter.com/swyx/status/1410103013885108229
  • [01:09:18] Categorical Imperatives of Web Platforms: Cloudflare vs AWS, MongoDB vs Auth0, Gatsby vs Netlify
    • https://auth0.com/blog/introducing-auth0-actions/
  • [01:18:34] Wrap-up

Transcript

[00:01:40] React and Temporal, Declarative vs Imperative

[00:01:40] swyx: Okay. So the first topic we want to talk about is React and Temporal, right?

[00:01:43] Sunil Pai: I feel Temporal is introducing a shift into the workflow ecosystem, which is very similar to the one that React introduced to the JavaScript framework system.

[00:01:54] swyx: That's the hope. I don't know if like my explanation of Temporal has reached everybody or has reached you. There are three core opinions, right? The first is that whenever you cross system boundaries, when you call it external API. So when you call internal microservices, there's a chance of failure and that multiplies, the more complex the system gets.

[00:02:11] So you need a central orchestrator that holds all the retry states and logic, as well as timers And it tracks all the events and is able to resume from it from failure.

[00:02:21] Second opinion that you should have is you should do event sourcing rather than try to just write your business logic and then instrument with observability logs after the fact you should have your logs as the source of truth. And if it's not in the log, it did not happen.

[00:02:34] And then the final piece is the workflows as code, which is the one that you're focusing on, which is the programming model, in the sense that like all the other competitive workflow engines, like, Amazon step functions, Apache airflow, Dagster, like there's a bunch in this category.

[00:02:48] They're all sort of JSON and YML DSLs, and the bind that you find yourself in is that basically you're reinventing a general purpose programming language inside of these JSON and YML DSLs because you find a need for loops, branching, variables functions, all the basic stuff. And, people find that like at the end of the day, all this tooling is available, you just have to make it run in inside of a general purpose programming language. So that's what Temporal offers.

[00:03:12] But it's very interesting because it kind of straddles the imperative versus declarative debate, right?

[00:03:17] React, people view as declarative. And I think it's mostly declarative, like there's imperative escape hatches, and because it's declarative, people can have a single sort of render model of their entire app for the entire tree. And I think it makes sense to them.

[00:03:32] And you're saying that that's better, right? That's better than the imperative predecessor of like jQuery and randomly hooking up stuff and not having things tied up together. You sounded like you want it to

[00:03:42] Sunil Pai: interrupt. So it's actually two things. One is the jQuery had an imperative API, and then they went way too hard into the declarative side with templating languages and then started reinventing stuff there.

[00:03:54] So really react was like, no, you need access to an imperative language to create, you need a fully featured programming language to generate description trees like Dom trees or in this case, a workflow graphs.

[00:04:10] swyx: Got it. So it's kind of like a halfway solution, maybe, maybe anyway. So the problem with us is that we're trying to say that imperative is better than declarative, for the purposes of expressing general purpose business logic, which is an interesting sell for me because in all other respects, I'm very used to arguing to declarative is better.

[00:04:33] Then there's also an idea that people should build declarative layers on top of us. And I, it's just a very interesting, like back and forth between declarative and imperative that I don't know where I really stands apart from like, wherever we are is never good enough. So we need to add another layer to solve the current problems

[00:04:51] Sunil Pai: there.

[00:04:51] So there's a phrase for it and I forget what it's called the mechanism. It says that, uh, the system that allows you to execute stuff should not be the same system that prevents you from doing bad things. So there's a core, which is basically a fully featured API. And then you put guard rails around like the experiences.

[00:05:12] For example, as an example, this is like adding TypeScript on top of JavaScript, let's say, unlike reason ML, let's say like, OCAML or a lot of very strongly type a language where if your code doesn't compile, you can't really run the code in TypeScript. There are times when you're like, you know what?

[00:05:29] I need an escape hatch to actually like, do something like really funky here, X, Y, and Z, that that's not even well expressed in either the type system or sometimes even the language itself. You need to like hack it. And like, you might even email a couple of things. Uh, and in react, this was, I think when react came.

[00:05:47] It wasn't just that it was a, oh, like there's JSX. It was very much, uh, okay. Uh, I have a lot of existing code, so I can add, React to one part of it and then hook onto the DOM, it renders and then have like this whole jQuery widget that I would like render onto the thing. Uh, so it gave you this whole incremental part to adopting the system, but then like after a point, like react consumes all of it.

[00:06:11] And the fuck up with react is if you go too hard into react, doing stuff like animations is like impossible, which is why like we are at least a year or two away from a good animation API in React, or while you use, Framer or whatever Framer has become right now. Like frame of

[00:06:27] swyx: motion. No. Um,

[00:06:31] Sunil Pai: Yeah, but he's working.

[00:06:32] I think Matt is now working on like a new, new thing. That's got a really funky name. Like, it sounds like a robot or something. All right. But it was curious to me that React's biggest deal was that, Hey, like, They talk about it being declarative, but a whole lot of things you wrote were like in regular-ass JavaScript, you would say on click and get an event and start doing things

[00:06:53] swyx: beautiful.

[00:06:54] It's a perfect blend.

[00:06:56] Sunil Pai: Right. And you would suffer with this in. So there was the jQuery prototype phase, which was like directly imperative. And then they went hard in the other direction with type templating languages, like Jade and dust. And, uh, there were a number of popular ones at the time. And that's when like even Angular 1 became super popular because they're like, here's the whole kit and caboodle full whole framework.

[00:07:18] And then React came and said, oh, well just the view. But that's because they didn't want to release like really yet. And they were like, yeah, this is all you need and the whole ecosystem. But anyway, so in temporal temporal for me is particularly interesting for that because it is now clearly making that.

[00:07:35] I hate the phrase, but it's a good one. The paradigm shift of like how you start thinking about these systems and you just write some fucking code and then like you start adding on bits and guardrails for the things you want to do, which is on for the few hours I spent going through the docs and failing to get it running on my laptop.

[00:07:53] That's my understanding of it. Feel free to correct me.

[00:07:56] swyx: Okay. Yeah. And I think you're right, actually, I'll try this messaging on you because, it's something that we're consciously designing for. In fact, I have a, one of my API proposals was, reacts like API for tempo. And so essentially what we enable you to do is bundle up each individual service or job into a component that we happen to call workflow.

[00:08:21] And my struggle here is that I currently tie component to workflow because what is the component like? It's, it's something that's self-contained that is a deterministic. Like it has a strict rule of execution from top to bottom, right. It just does the same thing every single time, uh, where we differ and why I struggle with this is because we put all the side effects into things that we call activities.

[00:08:44] That's where all the non-deterministic stuff goes. And that one gets retried, basically at Temporal's will and essentially Temporal is serving as the central runtime or framework that has knowledge of all these workflows and activities. And can re-render them based on its internal rules, I retries timeouts, uh, heartbeats, all that good stuff. So I struggled with things like, which is the component and which is the hook or the effect.

[00:09:08] And then there's other concepts. So, uh, we have ways to send signals into individual workflows, right? That's a very important property of the system that you can send data in while it's running and you can get data out while it's running. I'm not sure that's reflected in React at all. So maybe I'm stretching the analogy too much,

[00:09:24] Sunil Pai: Solid, had an answer for that the word signal. So like solid JS. This is by Ryan Carniato the Marco folks, signals are a first-class concept in the framework. Again, I haven't dived into it in detail in a while, but it feels like an important thing. And I always wondered why React actually didn't have it because props are something that you just like pass.

[00:09:46] Right. And it's just a value, like if you like plot it on a graph, for example, it's, let's say if you had to have like a graph of binary values, it would be either zero or like one, and that would be the shape of the graph, but signals are something that can be like something that happens and yeah, just pops up and goes down, like pressing a key on the keyboard.

[00:10:06] And that's actually not so easy to define in a, in a react like system, like, uh, which is why it's kind of hard to build like audio processing graphs with like React or JSX. Um, I don't have like a good answer. I'd probably have to like hack on Temporal a little more, but the idea of like signals as a channel, through which you can like send information and having it as a first class part of the system is something that's not represented well in well, in React at least.

[00:10:33] Yeah. Well,

[00:10:34] swyx: isn't that in an action? For reducers

[00:10:38] Sunil Pai: and event effectively. Yes. Like it's basically one of those actions.

[00:10:42] swyx: The problem is that everything just ties right into the component tree instead of just having the component B and sort of isolated unit that can function independently.

[00:10:50] Sunil Pai: That's the other thing, which is a workflow engine isn't a directed acyclic graph. In fact, it could have cycles, it could have cycles and it could have a number of other things, which is the

[00:11:00] swyx: beautiful thing, by the way.

[00:11:02] For us coding, a subscription platform literally is charged Stripe sleeps 30 days, charged Stripe again, and then infinite loop until you cancel and then you break out of the loop.

[00:11:13] That's it.

[00:11:13] Sunil Pai: That's awesome by the way. So I was actually thinking that someone's going to implement not someone's going to implement, uh, someone's going to use Redux saga on top of Temporal, that's what I was thinking, because then you will have generators that define like long running processes that are just talking to each other.

[00:11:30] I think that would be good. CloudFlare also loved Temporal, by the way, like we were talking about it, like for awhile, they're like, oh, this is like fundamentally a new thing. And as you can imagine, some engineers were like, well, why isn't this running on workers? I'm like, I don't know why isn't it running on workers?

[00:11:43] Like maybe we should get it there.

[00:11:45] swyx: It is fairly heavy duty right now. We're trying to reduce that to a single binary, which could maybe run a workers. I'm not sure about the memory requirements that you guys have. It could, it's just not a priority for us based on our existing users.

[00:12:00] Sunil Pai: Um, I was just, I was saying what they're saying.

[00:12:04] They want everything to run on workers and I'm like, dude, it's just like one small, weird isolated like condo.

[00:12:10] swyx: Ironically we also using V8 isolates for our TypeScript runtime. And that's just to make sure that people don't do non-deterministic stuff. So we did mock out everything, which is also pretty cool because whenever you use a library with, like setTimeout inside of that library, that persists to us as well.

[00:12:25] So we set the durable timer. Your system can go down and we, we bring it back up and you're using our timer, not the JavaScript runtime timer, which is like just awesome. There's a trade off to that, which is, things don't work when you import them, like you would in a normal, Node.js project.

[00:12:39] So most of, because you have to inject them into the environment of the V8 Isolate, you can't just randomly import stuff that as freely as you would in a normal node environment. So dependency injection and becomes a topic for us.

[00:12:57] State Charts and Lucylang

[00:12:57] swyx: Um, yeah. We actually clashed a little bit with David Khourshid because David is on this warpath of like everything in a state machine, right. Everything in the time-tested 40 year old JSON format that describes state machines. And we actually thought we were going to be competitive with him for a while because for him, the thing about writing imperative code is that it's prone to bugs, right? Like you can not really see the full, possibly the full span of like all the possible states that you're exposing, but in a state machine everything's explicit so he was butting heads with our founder for awhile.

[00:13:31] But I think recently he decided that he is better at building on top of us than trying to compete with us on the reliability front. So that's, that's kind of an interesting evolution that has happened over the past year on this topic of declarative versus imperative.

[00:13:44] I'm still like coming to terms with it. Like I'm not fully okay with it yet, but, it clearly is more expressive and that's something I am Very in favor of, and I have genuinely looked at like the workflow solution from Google, the workflow solution from Amazon, and they are literally have you write the abstract syntax tree by hand in JSON and that's just absolutely no way that that's going to work. So I'm pretty down with the imperative approach for now.

[00:14:09] Sunil Pai: Well, that's, I figured at some point you will run XState on it and extent should work fairly well. I think contemporary, I don't see why it would. I think that that would actually,

[00:14:19] swyx: Honestly, I'm not really sure what he's going to charge for. He's pushing the idea of state machines and making it more of a commonly accepted thing.

[00:14:26] Sunil Pai: Well, his pitch isn't even state machines. It's very specifically state charts and I love state charts. I even bought the book by the way, the Ian Horrocks $700. So when I got it on Amazon, it was $180. I was like, cheap. Let's do it. I got really lucky at the time. It, it fluctuates like mad by the way that that value, well, you should expense it now is what it is.

[00:14:46] Um, but, uh, what struck me about the thing? Here's what I tried. I really liked it. And I took a course, a couple of steps back and I was trying to understand, well, why isn't it like a success? Why don't people get into it? And the truth is that this falls not just into the intersection of this is the intersection of like computers and humans in the sense that sure.

[00:15:07] There are things that can be correct, but there are things that can be expressible as well. Like I don't even know what code I want to write when I'm sitting down to write it. I love to like discover it while I'm writing it and really. All the syntax that we have created and abstractions, we have created around programming languages have been purely to express these things and have let's call it implicit state machines, even though that implies that it's bad.

[00:15:32] Um, so for example, if you look at state charts, there's no real good way to compose two state charts together. You have to like manually start wiring them together. And like, there's, you know, like you've got in react, you say, oh, combo, if you have two components to put it together, you put like a little, uh, function around it.

[00:15:49] And now it's two components in one component. So it's important not just to have a good unit of computation, but to have it like be composable with each other so that you can gather it and then make this whole nesting doll react, Dom tree of things. And I think. Until there's an actual language that supports that has state charts as a first class primitive, much like Lucy, I think that's what Matthew Phillips built.

[00:16:15] He wrote a, he wrote an actual language that compares to state charts called Lucy Lang. That was very cool by the way. Like, I really like it. Uh, well, and it's fairly young, so it's too early to say whether people like love it or not. And other than, but people like you and me who look at something like, wow, this is awesome.

[00:16:33] Let's all use it. No, like to take a while to grow. But I think that's the state charts has a bit of dissonance with the languages that it's written in right now, because it's not a first-class thing. I mean, it's adjacent object with keys and. Okay. Like we can do better maybe. Uh, but I would not bet against David and the people he's hiring.

[00:16:53] Like he's hurting some smart people, you know, they're all like pretty intelligent. So I'm curious to see how that plays out.

[00:17:00] swyx: I'm just glad that we're not competing. Uh, so that's, that's something that, that, that resolved itself without any intervention from me, which is very good.

[00:17:08] The Future of React

[00:17:08] swyx: Well, let's have this conversation since it's related, should React to be more of a DSL,

[00:17:14] you know, this conversation that happened over this week, so I'll pull it up.

[00:17:20] Sunil Pai: Uh, wait, so I've, I'm seeing, is this the whole Svelte versus React thing that's been happening over the last two, three days?

[00:17:25] swyx: Yes. So basically it's saying React is already so far down almost like its own language.

[00:17:30] They should just embrace it more. And instead of using linting to catch rule violations, just make a DSL, people are gonna use it. It's fine. And just like build things in so that it's impossible to make these errors that, that people commonly make.

[00:17:47] Sunil Pai: So this is Mike Sherov, uh, he was smoking about it.

[00:17:51] He mentioned how it shouldn't be a lint rule. And since we already have customs, insects and GSX, he should introduce a couple of other things. So as you can imagine, the react team has thought about this a lot. So the big problem with this all boils down to that fucking dependency area on use effect, by the way, that's the one that trips, everything else is fine.

[00:18:09] Like you stayed all that is like fine. You can get. This is

[00:18:13] swyx: what it was. Yeah. People want like state something memos and things like, you know, just build the reactor primitives into the language.

[00:18:22] Sunil Pai: So yeah, I think this, this actually, isn't a bad idea and I think that was the whole deal with hooks. Whereas what's the phrase that they use in the docks.

[00:18:30] A sufficiently advanced compiler might comply with these things at some point, and you're like, oh wow, great job. On pushing that responsibility onto the community, React team, well done.

[00:18:41] swyx: My joke is like it's the react teams equivalent of a assume, a frictionless spherical cow from physics.

[00:18:48] Sunil Pai: Exactly.

[00:18:48] That's a perfectly spherical code.

[00:18:54] swyx: It will exist.

[00:18:57] Sunil Pai: And it's just the five of them or six of six of them hacking on this. And they have to make sure they don't break like facebook.com whenever they're working on these things. Imagine it's taken this long for Concurrent to show up and Concurrent is nice by the way. And we can talk about the server rendering API.

[00:19:14] Okay. Uh, so react right now is, uh, yeah, that's the one like that. It shouldn't just be an intruder, but, uh, inside the inside Facebook only, well, not everybody can see it, but it's an in an internal, uh, uh, Facebook Wiki page, which is a list of potential F projects. You know, how the react team has fiber, whatever the hell.

[00:19:47] Right? So there's a list of these projects that, or when we do this, uh, project F F I forget what the one for, uh, uh, animation that's called, is it called flat? Flat was the dumb one. And so there are lists of them and there are about 15, 20. I'm pretty sure my India has done. So Hey, so, uh, there's a list of them.

[00:20:09] And if you look at them and you start assigning values in terms of work, oh, this is about six months of work. This is about, uh, another six months of work. It strikes you that there's a roadmap for about five to 10 years. At least if not more than that, I mean, look at how long it took to get like this. Of course this was very more foundational.

[00:20:26] Those could probably happen a little quicker when it comes, which means the react team is like solely aware of what's missing in react right now. And to an extent that they can talk about it because if they do it becomes like a whole thing and like don't really engage in that conversation. They don't, I, I, and I don't blame them for it.

[00:20:44] It's very hard to have this discourse without somebody coming in and saying, well, have you considered CSS transitions? I like that. Yes, we have. We have, we have considered CSS a lot. Uh, so, uh, so. There are all these projects like a sufficiently advanced compiler that compiles down to hooks. There's the animation API.

[00:21:04] There's a welcome current, et cetera. This whole data fetching thing has been going on for years. And now it's finally starting to come to light, thankfully with collaboration, with the relay team and effectively all of the core when they built out facebook.com and, and that is the length that those are the time periods that Sebastian looks at and says, yeah, this is how we can execute on this because it can be prioritized.

[00:21:33] It has to be prioritized by either Facebook wanting it or making Facebook wanted. So for example, the pitch was, Hey, let's rewrite facebook.com the desktop version because they haven't, it's a film mishmash of like hundreds of react routes on one page. It should be a single react route that does this thing.

[00:21:52] Now that we have gotten management to agree to a rewrite, let us now attach it to the concurrent mode thing. And that was also part of it, which is in the older version, there was a lot of CPU fighting that used to happen between routes, which is why the whole work for the share dealers started and took like two years to like fix effectively.

[00:22:08] They're doing cooperative, multitasking VM in JavaScript, which sure. When you're a Facebook, I guess you've got to like do these things. Uh, and how does that all,

[00:22:18] swyx: was that ever offloaded to the browsers, by the way? Like I know there was an effort to split it out of react.

[00:22:24] Sunil Pai: So I think last, I checked they were talking to Chrome literally every week.

[00:22:29] Uh, but I think it's also been down to, uh, well, what Chrome wants to prioritize at the time. I think it is still going ahead again. It's the sort of work that takes years, so it's not going ahead. Nice and slowly, uh, which is why. Which is why it's architected inside react for the same reason as like it's attached to global and then read off the global.

[00:22:52] I think it's also why you can't have two versions of React on the same page. There's the whole hooks thing. But also if you have two versions of React, and they'll just start fighting with each other on the scheduler, because the scheduler would yield to one than to the other than to the other one.

[00:23:08] And there would be no like central thing that controls what is on the scheduling pipeline. That's from the last, again, this conversation is at least two years, or maybe they fixed that, but that's the goal of the dealer. There has to be one scheduler for the thread that everybody comes on to, and like tries to pull stuff, uh, with it.

[00:23:26] I think it will become a browser API. It's just a question of like, when, like, yeah, I mean, the shared dealer in react itself has undergone so much change over the last three years. Uh, so maybe we should be glad that it isn't in the browser yet, because like, it's changed so much. It's coming there. It's I mean, the fact that they're releasing in November is a big deal.

[00:23:45] swyx: You said there's so many projects that you want to ship, and the way to ship it in Facebook is to either convince them that this feature itself is worth it, or you tie it together with something else, like the Facebook, I think it's called FB5 rewrite.

[00:24:00] Sunil Pai: Oh yeah. I think it's good for them. Like it worked because the Facebook, facebook.com is now more performant. Like it actually works well and they don't have CPU fighting. The fact that Facebook itself is becoming slightly irrelevant in the world is a whole other conversation.

[00:24:17] swyx: Well, you know, I still use my billions, so, uh, it's it's, it improves the experience for them.

[00:24:23] Sunil Pai: I'm only being snarky.

[00:24:25] swyx: Uh, but I, you know, hopefully hopefully you're like, you know, there's other properties like Instagram and WhatsApp and what is, uh, which hopefully it will apply there. And then obviously like there there's the VR efforts as well. Absolutely. Yeah.

[00:24:39] Sunil Pai: And that is the future. In fact, uh, several components also happened because they suddenly realized what they could do for how the deal with server components and server-side streaming rendering was never about an SSR story, or even a CEO.

[00:24:54] Facebook doesn't give a fuck about SEO, right. It was about finally they figured out how to use concurrent mode to have a better UX altogether.

[00:25:03] React Streaming Server Rendering vs SSR/JAMstack/DSG/DPR/ISR

[00:25:03] Sunil Pai: So, okay. I should probably just keep Server components aside for right now.

[00:25:06] And I'll just talk about the new streaming rendering API. Okay.

[00:25:09] Okay. So I know there's like about three styles of rendering.

[00:25:14] I say legacy, but legacy is such a dirty word. I don't mean it in the form that it's old it's in fact,

[00:25:20] swyx: traditionally, like, sorry.

[00:25:24] Sunil Pai: Uh, heritage Facebook would say heritage, it's a heritage style rendering, um, which is the, Hey, you use something like a rails or spring or some, it could be node as well. And you spit out a bunch of HTML and then you progressively enhance it with sprinkling JavaScript, pick your metaphor there like three or four metaphors that you could use.

[00:25:44] Uh, uh, web components actually falls square into this, where it just comes to life only on the browser and then like make stuff interactive. Uh, then there's the whole client fully client side rendered one. So this is create react app or, well, a number of like smaller players then there's server side rendered.

[00:26:04] And so as I rendered is actually like, it's not just next year. It's also your Gatsby. I feel like pretty much every, uh, react framework now has some kind of service side rendering story. Okay. So the next slide goes into what types of server-side rendering things happen.

[00:26:20] swyx: there are a lot of subdivisions within here, right?

[00:26:22] Like, uh, Gatsby is up here trying to reinvent like D S R D P R or something like that, which is like deferred,

[00:26:29] Sunil Pai: static,

[00:26:32] swyx: DSG, deferred static generation. That's the one. My former employer, Netlify also DPR, and is all, these is all like variations of this stuff with,

[00:26:41] Sunil Pai: like, it's a question of where you put the cache is what it is.

[00:26:46] It's a TLA three letter acronym to decide where you put the caching in.

[00:26:49] Yeah, so there's the whole JAMstack and that's like the whole Netlify story, but also CloudFlare pages, or even GitHub pages.

[00:26:56] There's no real runtime server rendering. You just generate a bunch of static assets and you Chuck it and it just works. Then there's fully dynamic, which would be next JS without any caching. Right? Like every request gets server-side rendered then like a bundle loads on top of it. And, um, like suddenly makes it alive, like sort of like it hydrates it.

[00:27:16] And then after that it's effectively a fully clients rendered application then there's okay. So I just said ISR, but like you said, there are like three or four after this as well. There's this whole DSP. Yeah. Oh wait. So the new streaming API is actually fundamentally new because. I don't know if people even know this, but react already has a streaming rendering API.

[00:27:37] It's called a render to node stream. I think that's the API for it. And the reason that that exists is so that, uh, only for a performance thing on the server where otherwise synchronous renders would block like other requests. And it would make like if for a server that was very, uh, uh, there was heavily trafficked.

[00:27:57] It would become like really slow. So at least with the streaming API, yeah. That's the one learner to notice the stream, at least with this one, it wouldn't clash and you could interleave requests from there happening, but it didn't solve like anything else, like nothing, you couldn't actually do anything asynchronous on it, which is kind of that fucking sucks because like, it looks like it's an asynchronous API, but you can't do anything asynchronous through it.

[00:28:18] It's the only thing that, okay, so vendor to readable stream is cool because I can, even if you go to the very last slide last bit, once. You know what this is, where the very first link open it up. Like it says react, lazy.cool computer club. So this is the demo that they have that exists with this new API.

[00:28:36] This is what they link to. So if you refresh it a couple of times and I'll show you something that happens here, so you see the little spinner that shows up there and then the content loads. Yep. So, um, you know what, maybe I can share my screen because I want to show like a couple of things. Uh,

[00:28:53] swyx: yeah. I'll fill in some context, like I knew that the renderToNodeStream API was not good enough, basically because everyone who is doing SSR was doing like a double pass render just to get the data in. Um, and I noticed a very big sticking point for Airbnb so much that they were almost like forking react to something like that to,

[00:29:11] Sunil Pai: they invented a caching API.

[00:29:13] They did like a whole bunch of things. Okay. So if you have a look here, you'll see that there's a little bit of spinner and then the content comes in. But now what I'm going to do is I'm going to show you the actual HTML. So let's just go to prettier and just pretty far this, for that, we can see the content and I'll show you something that's very like fundament.

[00:29:32] That's the playground playground paste, big HTML. All right. So are you looking at this HTML it's rendering rendering by the way, this, these are special comments that mark suspense boundaries. It's very cool. If you come down here, you'll see a dev, which is the spinner. So this is the spinner that you see when you refresh the page.

[00:29:52] So this is. And then the rest of like then, like the, like the bits that are below that close and the HTML closes, but content still start stream is streaming in at that point. So like, this is the actual, like devs that are coming in with the content. And then a script tag gets injected that says, Hey, this thing that just came in, shove it into where the spinner was.

[00:30:13] This template

[00:30:14] swyx: tag is so small. I would, I would have imagined it was much bigger.

[00:30:18] Sunil Pai: It's not. So by the way, at this point, the react has not loaded. This is happening without react. This is just a little DOM, much like swelled ha uh, just a little operation that does it. So you, you, you get this content. And, uh, so, so that's the first feature which is that suspense.

[00:30:35] It not only works out of the box, but fallbacks and replacing or fallbacks with actual content also happened. Um, I want to pull this outside of this main window to show you something. Um, so you can see the content load in, but keep an eye on the loading spinner. Okay. Just to prove a point. So the content loads in, oh man.

[00:30:56] Oh, is it cash just that way? Uh, the content loads in, but the spinner is still going on. That's because there's an artificial delay for the react bundle to show, to show up. That's the point of this demo, which is to show that it can do async. Now you can imagine that it's not just one part of the page.

[00:31:13] There could be multiple suspense boundaries here, some with something heavy, something with something asynchronous and they're potentially streaming in effectively in parallel in the, like after the HTML tag closes and they load nicely the, the other cool feature, which is a feature, every framework should steal is if you do a second refresh and here, I think if the, if you do a second refresh and at this point, the react bundle, the JavaScript bundle is cached.

[00:31:42] So it loads before the react, the server. Finish the streaming. So at that point, the react says, fuck you, I don't care about the streaming bit anymore. I'm taking over, it's now a client set up like just automatically out of the box, because now that would be faster. So it basically raises the client and suicide.

[00:31:58] So suspends working out of the box itself is like a big deal first. So people will start using it like with react dot lazy, but then with data fetching and a bunch of slate styling solutions, which they're also working on. Um, but this is the new server entering API. The reason I was talking about this, I keep losing context about these things.

[00:32:19] I should stop sharing, I guess. Um, the absolute best feature of this of course is the reason why is something that comes out of Facebook, which is it works with existing applications and you can incrementally add it. So the first thing you will do is you'll take your render to string that one line somewhere in your code base, which says rendered to.

[00:32:39] And you'll replace it with vendor to notable readable string. I mean,

[00:32:43] swyx: either way 99% of users have never used render to string. Right. That's what next year is for.

[00:32:51] Sunil Pai: Well, that's the, that's all my God. That's part of a whole other conversation, right?

[00:32:54] swyx: This is rendered a string as a service.

[00:32:59] Sunil Pai: The moment you update next, year's your version of next year? So work on yes.

[00:33:04] swyx: Which is good, which is good. Right? Because, uh, people won't even know and they will just benefit, but it's, it's a little bit bad. Okay.

[00:33:13] Next.js and the Open Source Commons

[00:33:13] swyx: And this is a little bit of my criticism, which is that your blessing, a meta framework, at the expense of all the others, right? Like which admittedly have not been as successful, but, uh, basically reacts Chrome, picked a winner and it was next year.

[00:33:27] Sunil Pai: I've been thinking about this so much. Oh, look, it let's get into them at our conversation now. So let's standard disclaimers. I think Guillermo is a mench.

[00:33:35] I think the people who work there are incredible. There are some people I'm close to. I'm so happy for them. I know people on the Chrome team who work with these folks. I love them as well. Nicole for me is, uh, is a hero. Uh, and of course the React team at all my buddies, I love them. Okay. That being said, the React team is six people and they don't have the time to build the meta framework and Guillermo, uh the one thing he's incredible at is he's great at building relationships.

[00:34:03] He's just amazing at that. Like he, uh, in a very genuine way, like this, there's nothing like ulterior about it. Next JS is open-source and runs on any node runtime and it's designed to do so. There's nothing about it. That's become special on Vercel. Because of that the React team felt, feel like, okay, fine.

[00:34:20] We can have a primitive and meta frameworks will solve it. And let's just make sure it works with next two years, because so many other people who are just reach out to them and say, Hey, this new API is showing up. Uh, this is not just with next.js. It's a similar thing is with like react testing library.

[00:34:34] When the new activity I showed up, right. I made the PRS to react testing library. I was like, what you should do is have every function and react testing library be wrapped in back act. So nobody really has to like use the API by hand. I just, it's now it's the D and it's a very good testing framework, the Chrome team.

[00:34:53] And this is my, I'm not saying this, like, it's a bad thing. I think they did the right thing. The Chrome team realized that if they provide performance enhancements to next years directly, they can have so much impact on the internet because so much of the react tool is running on next year. So fixing how the images are loaded in next year certainly makes the internet faster.

[00:35:15] Yeah. And maybe that's what we should do also like for the accessibility, just ship acts in, uh, all the acts rules in development mode, either in like react Dom directly, or at least the next years. Oh yeah. The sweatshop, the axles. Yeah.

[00:35:33] swyx: Oh, they're enabled by default. And, uh, your, your app one compile, uh, actually I think it would warn you won't fail by a worn.

[00:35:40] Sunil Pai: Okay. So you should be making the swag folks should be making way more noise about that. That is such an incredible draw for accessibility.

[00:35:48] swyx: The thing is like, uh, if you encourage, if you think that your, your problems are solved by X, then you're taking a very sort of paint by numbers approach to accessibility.

[00:35:57] Right. Which is actually kind of against the spirits of, of, uh, what people really want, which is, um, real audits with like tap through everything. Like the stuff that machines could catch is so little,

[00:36:08] Sunil Pai: I agree. The whole point of actual SIS to make sure that all the low hanging fruit is done by default.

[00:36:15] It's like TypeScript, like I guess, which is a TypeScript. Doesn't solve all your bugs, but the stupid undefined is not a function once it does. Yeah, exactly. Make sure that your images have. Just by default, like we can have stronger conversations about tab order once you make sure all your images have all tags.

[00:36:35] swyx: Uh, okay. Anyway, so, so yeah. So first of all, yeah, I agree with you on the, on this Chrome. And, uh, I think this is opensource winning, right? Like, uh, there's a, there's a commons. Vercel built the most successful react framework, Nate. They went the investor really hard at it. They had the right abstraction level, you know, not too much, not too little, just the right one.

[00:36:55] Uh, and now everyone is finding them as like the Schelling point, which is a word I'm coming to use a lot, uh, because you know, that is the most impact that you reach. Uh, so no hate on any of them. It's just like it happens that a venture backed startup benefits from all of this.

[00:37:11] Sunil Pai: Can you imagine how hard it makes my job?

[00:37:13] We don't run, not on CloudFlare workers, which means Next.js doesn't run on it. It's annoying.

[00:37:19] swyx: Oh, is there any attempt to make it run?

[00:37:22] Sunil Pai: There are a couple of ways where we can get it to work, but it like, it's a lot of polyfill and, uh, we'll get that. Like, I expect it to be fixed within the next three to six months, but out of the box, it doesn't run on it.

[00:37:35] And for me in my head, it doesn't, it's not even about CloudFlare workers. I'm like, oh shit. That's what makes Bezos like even richer because everyone's got, has, if you want to use Nadia using AWS or Lambda. And that just means more folks are using AWS. I'm just like, okay, I guess. Sure. I know you work there as well, but it's just very annoying to me where I'm like, shit.

[00:37:56] What's even more interesting is that node is now moving to implementing web standard APIs inside of it. So they already have the streams implementations. They will have fetch fetch will be a node API. Like it will be implemented based on standards, which means the request response objects. And once that happens and people, if people build frameworks on that, then you can say that it will run on CloudFlare workers because the cloud fed worker's API is also like a standards based thing.

[00:38:21] So it's an interesting shift of like what's happening in the, in the runtime world. Also conveniently the person who implemented the web stream implementation at node just started at CloudFlare like last month, like James. Oh, James

[00:38:38] swyx: now. Okay. Yeah. I recognize

[00:38:39] Sunil Pai: a great guy by the way. Uh, very, I just love these people who have like clarity of thought when they talk James as well.

[00:38:46] The Third Age of JavaScript

[00:38:46] swyx: We're kind of moving into the other topic of like JavaScript in 2021. Right. So first of all, I have a meta question of how do you keep informed of all this stuff? Like I ha I had no idea before you told me about this Node stuff. How do you know?

[00:38:57] Sunil Pai: I have an internet information junkie problem.

[00:39:00] I replaced the weed smoking habit with a Twitter habit. This is what it is.

[00:39:05] swyx: You're not unlike some magic mailing lists that like tells you all this stuff. Okay.

[00:39:09] Sunil Pai: Like reading the tea leaves is what it is. Like. I keep trying to find out what's going on. The problem

[00:39:14] swyx: is I, I, I feel like I'm ready. I'm relatively plugged in, but you're like, you're way more plugged in than me.

[00:39:22] and then this development with node adopting web standard APIs, um, is this a response to Deno?

[00:39:28] Sunil Pai: I don't know if it's a response to Deno because I know Mikeal Rogers wrote about this. Like your. That we made a mistake by trying to polyfill note APS and browser code with like modules and stuff.

[00:39:41] Right? Like that's what the whole browser, if I, during those days, when we started actually using the same module system and the word isomorphic came up, what ended up happening was naughty APIs were polyfill in web land, but what should have happened is we should have gone the other way. And it would have kept like bundle this bundle size problem would have been a web smaller pro problem right now, just because of that.

[00:40:07] So I know that the folks at not have been thinking about it for awhile, maybe Deno finally pushed them to do it, but I don't, I don't, I don't, I don't think it's like that reductive. I don't think it's just, it's just dental. It's very much a, this is the right time to do it and we actually can do it now.

[00:40:22] So let's like flesh it out and do it the right way. Uh, and it's hard to do it in, in no, right. It's not just that you can just implement this thing. Like, what does making an HTTP server mean now? Because the request response objects are slightly different in shape. So you have to make sure that you don't break existing code.

[00:40:39] So it's not as simple as saying, oh, we're just implementing the APS. That being said, having fetch inside node proper is going to be great. I think. Excellent.

[00:40:47] swyx: Yeah. Yeah, no more node fetch. Um, yeah. You know, my other thoughts on I've been, I've been doing this talk called the third age of JavaScript. Right.

[00:40:55] Which is a blog post that I wrote last year that, um, honestly I feel quite a bit of imposter syndrome around it because all I did was name a thing and like it was already happening. It was, you already saw, like, I think basically when, when COVID hit, a lot of people were. I have a lot of time on my hands, I'm going to make new projects or something.

[00:41:14] Um, uh, and then, yeah, so I just, I named it and I just called it a few trends. So the, the trends I I'm talking about are the rise of IES modules first, you know, in, in development and in production, uh, concurrently the death of 11, which I'm also tracking.

[00:41:30] Sunil Pai: Yes, those are, those are both come to fruition.

[00:41:34] swyx: Which, by the way, I think the us government will have to drop by 11, uh, sometime in the next six months or so because, uh, the, the use, the usage levels have plummeted.

[00:41:43] 3.6% of all visits to the U S government website in November, 2020 was I 11 and now that has dropped to 1.6, um, all

[00:41:51] Sunil Pai: accelerating the drop is actually accelerating.

[00:41:53] swyx: Uh, I don't know if it's accelerated it's everything, but it's under the 2% mark that the us government sets for itself.

[00:41:59] They have an opportunity to essentially say like once it's stable, you know, there's no chance that it'll ever go back up again. Uh, they could just deprecate 11 for all government websites and then that, that will be the signal for all enterprises. And that's it. Yeah. So, um, and then the second.

[00:42:15] Oh, I was going to move on the second bit. But what was your calling?

[00:42:19] Sunil Pai: Oh, just saying that this happened, like, while I was working in JP Morgan over the last year, they did the same shift, but they're like, yeah, we are now a Chrome company. Literally none of our clients are asking for this and you know, it, it was just in rules somewhere, or we need to target, I 11, some people looked at it and said, okay, fine.

[00:42:35] What happened is people are spending money on something that wasn't giving them the returns. And that's when a bank is like, yeah, we don't need

[00:42:41] swyx: to do this anymore. Like you, you can deprecate free support. Right. And, and just make, just charge for 11 support, stop spreading it out among all the other users who are bearing the cost of development and maintenance.

[00:42:54] The other one was collapsing layers, which is the death of Unix philosophy. Like , we used to have one tool does one thing, but now we want to combine everything. So, uh, Deno and Rome both have ambitions of linter format or test runner, all of that into a single binary, because the idea of what we want out of a default runtime has changed, uh, from a, for a very minimalist thing. And I always made the comparison to what word processors used to be like.

[00:43:18] So, are you aware of Benedict Evans? He has a blog post, which is amazing about what a job of a platform should be. And he talks about like in 1980s word processors used to only let you type words. And if you wanted a horizontal layout, if you wanted word counts, if you wanted footnotes, these are all plugins that you buy and install separately.

[00:43:38] Right. Okay. So, but as we evolve, as we just use all these things, we realize that these are just like the same tool that we want out of a word processor. So then they absorb all these features instead of plugins. They're just part of the platform now. They're there now in the new table stakes.

[00:43:53] So I make that analogy to the runtimes that already doing, right. Like, Node used to be this like much more minimal thing. And, uh, but now we are expecting more and more out of our default setup with all these tools . Um, it's also very wasteful because when each of these tools don't know each other, they're all parsing their own ASTs running, running their own code. And then yeah, that's the whole

[00:44:12] Sunil Pai: proposition, but yeah.

[00:44:14] swyx: Any, any tool that collapses layers will, we will meet this, like, ESBuild, um, collapsed. Like a standard web pack would do like five or six AST runs. ESBuild collapsed it to two to three. That's a source of its speed as well.

[00:44:27] Sunil Pai: One of my favorite facts about ESBuild is that it is faster to minify the code than to not modify the code when you run. Yes. And the reason for that is because when you try, when it tries to do the full AST, keep comment notes, everything else, it has to do a lot more bookkeeping, but the moment it just ditches all those things, because ESBuild doesn't do like full magnification, like something like a torso, but it does do like a smaller symbol substitution, white space, uh, uh, removes all white spaces.

[00:44:59] And it does like some dead code elimination. Uh, and it's a lot more work to keep the bookkeeping for everything and all the white space notes than to not do it. So he has built is actually faster when you have a modification turned on, love it.

[00:45:14] swyx: It's amazing. It's amazing.

[00:45:16]

[00:45:16] ESbuild vs SWC vs Zig

[00:45:16] swyx: Do you have opinions on ESBuild versus SWC?

[00:45:18] Sunil Pai: Okay. So I like ESBuild. Uh, because I was very strongly looking for something a lot more opinionated. I've noticed that the reason that code basis Surat usually boiled down to the acute decisions that you make. Like in the very beginning of the project, you can do anything. I mean, whichever dumbass came up with the idea of baby plugin, macros has like ruined a lot of lives.

[00:45:41] It was me. I came up today, but that is like, then you're like tight. So the thing that ESBuild does is very like its creator, Evan Wallace, which is that it's, it's one of a kind like, he's not really interested so much in having community, uh, uh, PRS or like having suggestions on how it should be built. He has a very strong vision of what it should be like, which is why there are no AST level plugins and all that jazz.

[00:46:08] And because of that, because of, like I said, because he's collapsed the lyrics and collapse, the size of the development team to just himself, he has like such a clear vision on what it should be. So it w is good. It would be great for, I want to say 95% of projects that fall under the things he has designed at four.

[00:46:28] Okay. Uh, and that's a lot of applications. That's a shit ton of applications. That's like everything, but your host, if you need anything, uh, unique, I'll give you one. That's like a very good use case that is bill will never use. Do you know what, um, uh, really has this idea of persistent queries. Okay. So like for whoever's hearing who doesn't know it, right?

[00:46:52] Like you can write a query inside Java. And when it compiles it out, it takes out the query and replaces it just with an identifier, like, like a little eight character identifier. And it hosts that query instead of like on the service side. And it says, oh, that eight, eight character query, you can just hit it as a restaurant point now.

[00:47:11] So you can write the code internally in JavaScript where it belongs, but it doesn't add like to your bundle or whatever it is. So ESBuild will never support this, which means if you want to do really optimizations on your react code base, you won't be able to do it all. You have to like add on to yours, which you could do.

[00:47:29] I guess like you can still use Babel would, uh, SWC is meant to be a platform and which is why next years will use it because next gen is the meta framework, not just for react, but also for like some programming opinions, extracting get server props, get started, props, which one you want to be that this thing after server components comes into play, but a number of things like there will be people who always want to do.

[00:47:54] The emotion macro now is like fairly, uh, popular that they will want to use it. So I assume they will implement it in, uh, interest. I know. Do you know what bun is by the way? Do you mean, do you know, how are you following Jared Sumner? Some

[00:48:10] swyx: summers, no, wait, so

[00:48:13] Sunil Pai: key is reimplementing ESB, but in a language called Zig it's another systems programming language.

[00:48:20] And he's his claim is that it's about three times faster than you spell it right now, which is already some 200 times faster than Babel loader. It is just our web pack, but it's a language you said it? No. So the language is called Zig lines at AIG, but the thing he's building is called a, B U N. He hasn't shared it in public yet.

[00:48:41] I think he's actually planning on sharing it like next week. Like I think it's that imminent. He's been sharing numbers right now. Yeah. That's the guy, Jared. Uh, I love, I should've followed him like a while ago, create great feed, uh, excellent content. And like, he's, he he's thinking that he's going to like implement.

[00:48:57] He might actually implement an AST level, uh, uh, plugin, micro API, possibly just implement the emotion one. I think he was just, yeah. See, oh, that's like literally the tweet would write under the main one right there where he's like, Hey, what if we actually just did this in? Uh, oh,

[00:49:14] swyx: he's right. He's he's right with you.

[00:49:17] Yeah. Like he's

[00:49:17] Sunil Pai: just talking about it, like right there. So, uh, so SWC versus ESBuild, I don't think is the conversation. I think ESBuild will have a rise. A bunch of people will use it. The nice thing, the best feature about ESBuild is because there are aren't any like cute decisions. You will be able to move away from it to whatever succeeds.

[00:49:39] Th there's nothing customer

[00:49:40] swyx: that I believe that was Evan's original idea. That IES build was a proof of existence that day there's a better way. And that he stuck to it for way longer than I thought he would.

[00:49:51] Sunil Pai: People are using it in production and everything know everything about the designers that it's replaceable.

[00:49:56] That it's just a,

[00:49:59] swyx: that's wonderful. Isn't that amazing when people design their stuff? W. You know, it

[00:50:04] Sunil Pai: isn't kind of pressure that he would have had the best. Thank goodness. It was the successful CTO of Figma with money in the bank who is implementing this and didn't have anyone to impress. You know what I mean?

[00:50:16] It was like, yeah, let's put a macro API and what else do you want? Like, whatever. No, he doesn't

[00:50:21] swyx: go. Yeah. But he just needs to police himself and no one else. Right. If you don't like it,

[00:50:26] Sunil Pai: this is during his downtime from Figma that he's working on this.

[00:50:30] swyx: Um, my, my secret theory is that he's doing this as an, as a Figma ad.

[00:50:33] Like, you know, if he, if the CTO of Figma does this for fun, imagine what it's like to work inside of Figma, you know, like of, I've heard it's pretty great,

[00:50:42] Sunil Pai: pretty great working inside of Figma too. Well, the code is like, it's really cool.

[00:50:46] Let Non-X Do X: Figma vs Canva, Webflow vs Wix/Squarespace

[00:50:46] Sunil Pai: Did you actually point out. Uh, Ken was like six times bigger than Figma.

[00:50:51] Now

[00:50:52] swyx: you wanna talk about that?

[00:50:53] Sunil Pai: Oh God. That's. I didn't realize until you pointed it out.

[00:50:58] swyx: Incredible. Imagine all the geniuses working in Figma and go looking at Canada and like, yo, like I, I have like a thousand times your features and your six times in my size as a business.

[00:51:10] Sunil Pai: Uh, but I hope every one of those engineers understands the value of sales and like reaching out to your actual customers because

[00:51:17] swyx: I don't think it's just sales.

[00:51:18] It's more like, uh, they're always going to be more non, like, this is a category of software called let Nanex do X, right? Let non-designers do design. Whereas Figma is clearly for designers doing design. Um, and there's always going to be like a tool, three orders of magnitude more non-experts uh, who just want to do basic shit.

[00:51:37] Sunil Pai: Oh man. I hope that flow has a multi-billion dollar buyout and at some point,

[00:51:42] swyx: uh, I mean, I, yeah, I mean there's clearly something that w the problem with flow is that. They're too close to code. Right? You have to learn CSS the box model.

[00:51:56] Sunil Pai: Yeah. I mean, they do say there's no code, but really they're a visual,

[00:52:00] swyx: if you don't know CSS when using Webflow you're screwed.

[00:52:03] Like

[00:52:04] Sunil Pai: that's right. It's uh, they have, they have the best grid editor on the market too. I have to say that. I

[00:52:10] swyx: mean, the UI is just amazing, right? It's just like, um, yeah, I mean, you know, there's a reason why like the Wix is, and the Squarespaces are actually worth more than the workflow and it's not just cause they were around earlier.

[00:52:22] Like, um, they're, they're just easier to use for non-technical people.

[00:52:26] Sunil Pai: That's a good, you you're talking about why did we even start talking about this? What did you want to talk about? Uh, we were talking

[00:52:33] swyx: about like, uh, 32 JavaScript. Um, so I think we kind of like dealt with those, those, uh, those topics.

[00:52:39] Was there anything else that you want to talk about?

[00:52:40] Didn't JavaScript land,

[00:52:42] JavaScript Twitter and Notion's 9mb Marketing Site

[00:52:42] Sunil Pai: I don't know if you have noticed, but I've kind of actually stopped engaging in the JavaScript discourse on Twitter specifically, which actually hurts me like a little bit, because that's where all my jobs could friends are. And that's kind of like, I've seen it all. I've seen JavaScript router now for the last 11 years, I would think 10, 11 years that I've seen it.

[00:53:02] And I used to like participate very heavily. And back to the thing that you, uh, that we were just discussing about the conversations that happened too, about like SBA versus MPA and about like the whole notion blow up about how they made them thing into like 800 KB. Yep. Uh, the easiest kind of discourse to have is to have like one absolutist opinion, uh, that I saw a number of people in like those threads and the surrounding threads have, which is a, well, this is bad or this is good.

[00:53:35] And, uh, that's, that's all I got to say about it. Now give me like 40 likes on this reply industry. Uh, whereas like there's real opportunity here to understand how and yeah, that's the one, that's the one with treat by the way. Clearly it got like attention. No,

[00:53:51] swyx: by the way I phrased it very neutrally. I actually was pretty careful.

[00:53:54] Cause I knew that it's going to attract some buzz. I had no idea what's going to be this much, but

[00:54:00] Sunil Pai: no, no, no. But like I'm so interested in talking about, uh, so this is what I was talking to you about, which is like, it's not just about a website at one point of time. It's about the system that generates these kinds of like artifacts, uh, of, so for example, with what, what did they say?

[00:54:24] They're there 8 47 KB right now. They're not 8 47 KV today. They were 8 47 KB. When you, uh, Uh, tweeted this, uh, on the 11th, they are not in 47 KB. Now they might be 852, or they might be 841. Are you about to check?

[00:54:43] swyx: No, no, no, no, I'm not. I'm not, it doesn't matter. The exact number. Doesn't matter. I'm going to give you another example, which also came up, which is Netflix.

[00:54:49] Remember they ripped out react and he said they have react back

[00:54:54] Sunil Pai: on Netflix. I use, are you serious on that? Wait, did they have like both Netflix, they have both react and jQuery, jQuery and react on that page right now. It's just, but like, for me, it's interesting that, which is like, I think the most insightful tweet in this was very pointed out that nobody noticed this until they told it to us.

[00:55:16] Nobody saw it. It bothered. Yeah. That's the one, like nobody bothered about it. It was still making the money. They were happy about it. And they wanted to share that. And we need more of them. We need more people to be like sharing the process because if we react very badly to these things, then fewer people will want to actually share the numbers.

[00:55:34] And you won't learn from the industry, but I don't know whether it's a good thing or a bad thing. It does mean that you can make a multi-billion dollar company with a marketing site. That's nine MB of Charles' script. And I think, I think people who have very strong opinions about how much jealous should be on a page to take a step back and wonder how do you make it?

[00:55:55] So like, how do you, from the very beginning of like running your company, how do you make it so that it doesn't go up beyond that? Also, what opportunities are you abandoning by focusing on making sure your marketing page, uh, has like 100 KB of JavaScript instead of like nine MB

[00:56:17] swyx: shipping velocity, right?

[00:56:19] Sunil Pai: You are somewhere, you are spending effort on it somewhere. Just so we're clear because somebody will look at it and say, fuck you, are you suggesting that we all put in that's not what I'm saying. I'm just saying that the resources, that word, but resources at these companies are limited and they are, they they're prioritized and sequenced and you should ask yourself in what order you want to do it and who you're trying to please, are you trying to please your customers and your users or the peanut gallery on Twitter?

[00:56:48] And I think that's something that like, I, it's why I don't engage so much anymore because it's so hard to communicate in once and somebody will come in with a, well, fuck you, you work for Facebook or used to work for Facebook. What would you know? I'm like, you got me that kind of ends the conversation that, right.

[00:57:04] Like I'm studying contributed to babies being burned alive or whatever it is like, this is what it is.

[00:57:12] swyx: Um, it's a nuanced debate, like, uh, because they also did some like notion clearly did some stupid stuff here. Right? Like it, it, they could have spent a day. Uh, so do you know why it was 9.9 megabytes?

[00:57:25] Sunil Pai: If I understand it was the whole notion that that was being used, the

[00:57:27] swyx: whole app.

[00:57:28] Yeah. They were shipping the whole, there was actually someone from notion, uh, answering me. Uh, it's here. Yeah. This guy's, this guy works at notion before the marketing site was another route in our, at the time 9.1 NBME and app, we load the whole app just to show the sign up button.

[00:57:44] So what,

[00:57:45] Sunil Pai: what it's worth Facebook sign up page does start prefetching actual Facebook code so that once you log in it loads instantaneously. So there's a reason to do it. It's just that it shouldn't be nine and B of course. That's

[00:58:00] swyx: yeah, they could have like took a day every, every six months or something like perfect day, you know, and do that.

[00:58:06] So that's why I'm hesitant, uh, giving them a pass for like, okay, so what your multi-billion dollar company? This is embarrassing. This is just an unprofessional. Um, so yes, but at the same time, the people who are upset about other people's sites on Twitter, uh, and then they move on to the next source of outrage the next day.

[00:58:26] Like they also very uneffective. So.

[00:58:31] Sunil Pai: I it's hard to have a conversation with them, and God bless you. I noticed that you try so hard to stay, uh, not, not emotionally detached, I guess, but that you're, you're just staying above the water and that you're not actually picking a fight or like fueling it on. But there are people who are getting in there to like, get their shots and to say, ha I've said the tweet against a multi-billion dollar company I'm better than them.

[00:58:53] Ha

[00:58:54] swyx: no, that gets a little sad. You know, like the dev Twitters is a small microcosm of the overall universe. And in fact it's often the least powerful people and the most powerful people have no don't care. They don't care what you think. They, they just, they're looking at the OTRs and if they, if they meet it and they get promoted, they have more money.

[00:59:14] And you're, you're still complaining about your performance issues.

[00:59:19] Sunil Pai: It sucks that it's this way, because I don't know if I'm romanticizing the. Actually I probably am. Yeah, that's just, it, it feels like, oh, when, when I was younger, things were like way better than the music was better. You know what I mean?

[00:59:32] Like clearly all the best music was made between the ages of like 13 to 16 when I was exactly the best music in the world happened. So maybe that's like my memory of Twitter, but to be honest, in the last 10 years, 10 years ago, a lot of things about JavaScript kind of sucked. It definitely wasn't as diverse.

[00:59:50] Thankfully it's a lot more diverse right now. We have people from way more walks of life. And, uh, uh, this obsession with computer science degrees appears to be dying down, which is just great. Absolutely great news because they, whenever they talk about computer science degrees, nobody actually is like, okay, what did you learn in your computer science degree?

[01:00:09] That's like useful here. There are some things that are, if you're building the shed EULAR and shady lyric and fiber for react. Yes. But really the people that I've seen do really well as web developers are the folks who read a lot of comic books and learn to design because they know how to lay out stuff and how to tell a story.

[01:00:28] And they like know how to like translate that onto the, on the side. So I've seen like, and designers who spend like a little time to learn how to do like just enough stuff to be dangerous. They're like incredible. Uh, Adam Morris is now doing a generative, whatever components.ai is, it's this?

[01:00:45] swyx: What is that

[01:00:48] Sunil Pai: strong pitch?

[01:00:49] And it's, he's taking his time to execute on it. And I love it, which is you should be able to search through a problem space to find what your UI should look like. It shouldn't arise from your brain. You should be able to turn knobs and adjust things on your system. And turning knobs is not just about a, Hey, let me look at this one button and change the color of it.

[01:01:12] You shouldn't be able to do. As a whole. So right now they're in this phase where they're exploring a generative technologies, like how do you generate the entire, uh, instead of just doing math dot random, how do you generate 40 pallets and then like just present them to the user one by one based on fact.

[01:01:32] So, uh, he's doing a bunch of that right now. And he's working with some very smart people, I think. Uh, uh

[01:01:41] swyx: huh. I think big this guy called murmurs. I think that's out of most. Yes.

[01:01:44] Sunil Pai: Norma says, oh, but also not as working, uh, not Alison is tested. Alice, Alice, I think is working with them. Uh, uh, Dean black is working with like a number of very interesting people and I'm very, they're taking their time with it, which is very strange.

[01:02:02] It's not as startup-y as I would have, like. But, oh yeah, this is the syntax a generation. I think we can literally click a button and it'll do a

[01:02:14] swyx: great, great grid. Okay. Yeah.

[01:02:20] Sunil Pai: These are all generated in your browser. I think, I don't think this is like from a database somewhere. Yeah. Why would it need to be?

[01:02:27] Um, so they're working through this. They're trying to get the fundamentals for a science that they're effectively like inventing right now. I mean, it exists for art and stuff and they're just, well, not even just art, uh, but they're trying to figure out how to productionize it for UI. And I think it's very exciting and it's very distinct and unique and I'm very, I'm keeping my eye on this all the time.

[01:02:49] I love it. I am.

[01:02:51] swyx: Yeah. Well, that's fascinating, man. Um, okay.

[01:02:59] Sunil Pai: So like I did a bunch of talking in your directions.

[01:03:02] swyx: No, no. Uh, you know, we talked about Twitter, like, yeah. I don't know. I feel, I feel hot and cold with my Twitter stuff. Uh, I started out tweeting, you know, a lot of react stuff. That's how I, I guess I initially got traction and then I did the career stuff and now I guess I'm.

[01:03:18] I don't have a particular theme. I am feeling a bit directionless as well, but I also think there's like a natural sweet spot for Twitter, where basically this is why I tell people you want, so you want enough followers so that you're not a nobody, you know, you have instant social proof, but you don't want too many that you get all the idiots coming in your, in your mentions.

[01:03:38] Right? So,

[01:03:40] Sunil Pai: uh, well, I don't think I have too many ideas. Everybody who follows me is very beautiful and smart and intelligent in the future. Uh, but I definitely, that's why I have an alt now and I do my whining and Randy's stuff there because it's very hard. I've not, I can only count on my friends to assume the nuance that I'm trying to communicate like good intent.

[01:04:05] Just generally good intent. Isn't so much of a dumbass. He doesn't hate. Uh, wait, what, uh, uh, he doesn't actually want nine MB of JavaScript on the page. Surely.

[01:04:19] swyx: Yes. It's, it's so helpful. Um, yeah, I mean, that's, that's, that's about what I, what I do for Twitter. I mean, I guess I might move into like founders slash VC Twitter eventually.

[01:04:31] Um, I am not, I'm not currently on the founder path, but I, I, I always keep my eye on it. I don't know what your thoughts are on like the whole, like, okay. Maybe, maybe, maybe this is a worthwhile topic. Like there's a lot of jumpsuit ecosystem. People who are, you know, our friends and now are startup founders.

[01:04:46] Right. Like, which is

[01:04:48] Sunil Pai: interesting. Don't take it as advice. It isn't really advice, but let me tell you what I fear. Oh yeah. Okay. Yeah. Okay. Let me put it this way. The people that I like in JavaScript, Twitter, that I still follow for years, even the ones who talk a lot less or it's that fucking Picasso quote that I love.

[01:05:09] When art critics get together, they discuss, uh, uh, form and function and philosophy of art. But when artists get together, they discuss where to buy cheap. Turpentine always be a turpentine person. I think like, oh, like never lose sight of like reality. There will always be things to discuss. There are like metal things, which is what we're talking about right now.

[01:05:28] I think, but the true, uh, it feels, it has always felt this way to me, which is that true progress in our industry and other industries are the people who are putting actual skin in the game and actually working on it. This is, this is how I think about crypto Twitter. Also, by the way, I know a bunch of engineers who are working on crypto stuff, but refuse to talk about it on Twitter, because it's just so toxic there.

[01:05:52] And they are working on actually interesting use cases with a technology and immutable database that's spread across the world. And you're telling me, you can't think of like videos cases. There are people who have thought about it. That's that's not just an NFT. Let's get drugs delivered to our house, which by the way, you get good use cases, I guess.

[01:06:10] I don't know. So I think the same thing of like founder Twitter, there are good founders who actually like the, for example, one founder that I've been following a lot lately because I just admire the story so much is Toby Luca from Shopify. Uh, he's a hacker he's he did the video that expo that demonstrated the hydrogen oxygen reacts.

[01:06:33] React Server Components and Shopify Hydrogen/Oxygen

[01:06:33] Sunil Pai: What do you

[01:06:33] swyx: think? Or what do you think about that? I think

[01:06:36] Sunil Pai: what, what do I think about server components? Game-changer everybody should steal it.

[01:06:40] swyx: Hydrogen oxygen is a server components, uh, implementation. It is, uh, it's

[01:06:44] Sunil Pai: there, like hydrogen is basically react server components, uh, and oxygen is the run time slash network.

[01:06:52] There

[01:06:52] swyx: it's there for cell phone, right?

[01:06:55] Sunil Pai: Uh, it's actually closer to workers, which suck because are already our customers at CloudFare. I'm like, why don't they use so their dealers that they want it running right next to their data. And we don't turn people's databases on the edge yet. Maybe we will. I dunno.

[01:07:10] swyx: I could change. Well, isn't that a durable objects is kind of databases on the edge.

[01:07:16] Sunil Pai: Well, it's a data store on the edge, but it's not running sql.js on it yet. Let's just never say these things. I suck at keeping secrets. Uh, the truth is that like, clearly people are talking about things internally or what happens when we can actually literally have SQL database that uses durable objects as a backing.

[01:07:34] swyx: Like there was one slide out. I already had some version of this. Right. So

[01:07:38] Sunil Pai: right. Shopify right now is just exploding this because it's not just about like running a database, it's also, you don't want to expose your database to the internet and how serverless workers like hitting it, even though that's planet skills data's plan, I think, which is they're developing my sequel, but for the serverless world.

[01:07:57] So you should be able to have like thousands of connections open under children, bring it down. Uh, another great company to keep an eye on them and super bass, super base. Just how, like good, good people in general, I spoke to a bunch of them. They donated during the India fundraiser that I was doing, and I spoke to a couple of them.

[01:08:14] Great, great team and nicely way. So it's basically react server components that have access to Shopify, API APIs. So, uh, the end, it's very strange for a company like them to go full in on, uh, basically all for technology. It's not even better yet. Like the implementation is not finished. It's not coming out with React 18.

[01:08:39] It'll be, it'll be an 18 dock techs release, but it's not coming out in November. Uh, and to see Shopify suddenly like it. It's the right choice. It feels like the technology is right. It's not something novel and people will be using it more and more. I think solid already has some kind of version of a server components because Ryan just like steals ideas wholesale.

[01:09:01] And I love that, uh, attitude. Uh, but, uh, what do I think about it? Uh, great call. What a, what a, what a way to like, make sure that you're a first adopter of something that I think is a sure thing remains to be seen.

[01:09:18] Categorical Imperatives of Web Platforms: Cloudflare vs AWS, MongoDB vs Auth0, Gatsby vs Netlify

[01:09:18] swyx: So there's a thesis that I'm drafting, which I'm not really sure about yet, but, uh, this might be useful for you because I, I spoke about this with, uh, Rita and with James Allworth right up there.

[01:09:34] Um, And so the original thesis was called fare specific, which is how is CloudFlare taking on AWS? It's CloudFare is, was the originally just the CDM they're free, CDN, whatever. Um, and, uh, obviously the, the best buy by any measure. Um, but it's eating AWS from the outside in. You first do the CDN, then you do the workers, then you do the durable objects.

[01:10:00] You, you, you kind of like reinvent every primitive from the first principles concept of like, everything is distributed. It's just a pretty amazing to watch, right? Like that's, that's kind of what, uh, what coffers, like, how do you take on a giant behemoth? Like you do the one thing that they cannot do, which is you start from like all this, all this, like distributed Stouffer's, um, And then I start thinking about things like Shopify doing, uh, hydrogen and oxygen, uh, start thinking about, uh, here's your other, your other interesting movements that I'm tracking, right?

[01:10:31] Um, Shopify, sorry, got to be making serverless functions and guests be making his own CDN. Um, so this is, this is how I blog by the way I have, I have all

[01:10:40] Sunil Pai: these insight and do the,

[01:10:43] swyx: okay. He's the only blog post ideas. That's, that's pretty good. Um, actually I want to kind of make my book, my podcast into something like, okay, basically mouth blog, like you have a, you have an idea that you're shaping and you want to blog it, but you don't have time to blog.

[01:10:56] Let's just talk it up, you know, that's kind of it that's of that idea. Yeah. So, so Netlify and guests be doing deferred generation. So these are all examples of like, uh, like a trilemma of like there's rendering. Uh, which is one group of constituencies, there's the cloud and for people, there's another group.

[01:11:13] So this is like Netlify herself up there, uh, rendered fairway. It's like, uh, next. Yes, but also gets be and react. And those guys, and in the CMS, which is like all the, like a different crew that like has, is completely above the free of all this fighting and fighting, but they always start competing with each other.

[01:11:28] Right. Um, like you're going to my turf, my turf going into your turf, that kind of thing. And, and here's, here's another one, uh, which I'm also, this is called fair inside it. Um, so I recently found out that Mongo DB that's off. Do they, do they do off

[01:11:48] Sunil Pai: by the way, that's the feature that they sell. Like, it's part of the.

[01:11:54] swyx: Oh, yeah, yeah, yeah. They, they, uh, they wrapped a Netlify identity and they made much more progress with it. Then now the fibers, uh, basically it's because they took it more seriously. Um, and obviously role does serverless functions. What the hell?

[01:12:09] Sunil Pai: Okay. All right.

[01:12:10] swyx: So here's a zero actions. These are all these are introduced. Uh, basically whenever you, you sign in, you want to execute some custom logic, they build an editor into their platform. So you can, you can write service code for office zero.

[01:12:29] Sunil Pai: Okay. That's sort of that's the land director. Okay. Sure.

[01:12:32] swyx: So, so you know, the off guys are doing compute, the storage guys are doing off, like, uh, I think there's a, there's like essentially what I'm trying to basically form a, uh, not this one. Let me see, trying to form a triangle ignore. Um, yeah, so like kind of like a triangle.

[01:12:54] Hear hear all the players and here here's where they all start out. And then, um, you know, I'll have my, I have my sort of beachhead here. right here. But in order to grow, I have to grow in one of these directions, you know? Um, and that's kinda what I'm, I'm trying to form a thesis around this. Like, so I have, this is for individual APIs and then this is for contents.

[01:13:19] Maybe this is maybe what I'm saying, that this is for apps, you know, storage competes with, uh, compute computers off. And then this is for sites where it's a content rendering and infra, something like that. You know, that that's kind of the thesis that I.

[01:13:37] Sunil Pai: That's fascinating. This is a good one. Oh God. I'm going to have to sit and think about this and get back to you.

[01:13:42] Aren't I, oh, this is really good. So there's a

[01:13:44] swyx: question of like, should they bother, right? Should Gatsby bother making serverless functions because they're basically a shitty version of Netlify functions. Right. Um, but at the same time, next year has, has functions and it's fine. Like, or API routes, right?

[01:13:59] Whatever you call it. What determines a good expansion and one determines a waste of time?

[01:14:07] Sunil Pai: Well, I assume that a bunch of these things they're doing is because their customers are asking for it, like Gatsby, for example, they're like, Hey, we just want to be able to call it an API and not deploy two separate things.

[01:14:19] So can you give us functions? And I assume it gets me, is looking for customers and getting more people to pay for that. I assume they are doing it because next year's and still are doing it and people can easily get. To versatile because we're still as functional. So they want to make sure that, so I assume that's one, one part of the story, but I keep with this whole DST thing, it feels like they're clearly moving away from their whole static asset as content story.

[01:14:46] Like my

[01:14:47] swyx: God. Yeah. It's uh, I don't know if you saw the, the announcements. I mean the, where it gets before. Okay. So I almost tweeted out the screenshot. Um, okay. Here, you know, you know how, when, uh, after the build of next year site, it'll give you a report of like, what was, uh, statically generated? What was, uh, dynamic what's the serverless functions.

[01:15:18] This looks familiar. Oh,

[01:15:23] Sunil Pai: I see. I see. Interesting. Okay. I think it's a little obvious than what's going on here.

[01:15:33] swyx: The obvious thing is like, it kind of Gatsby just capitulating and just saying like, okay, we're a Next.js clone with a GraphQL layer. Right. With a much bigger plugin ecosystem and hopefully that will, that would make a lot of people happy. Um, my it's interesting, like Gatsby, we can quite conceivably just be a Next.js layer right now. Like they don't have to build all this. It already exists with Next.js. What they should focus on is actually the graphical data layer.

[01:15:58] Right. And all their plugins.

[01:16:01] Sunil Pai: Um, so. The mistake here would be thinking that they think that this is the end game. Of course, like I assume this is like first release. Part of the next thing we want to do is, oh my God, God gets me on the blockchain. I bet. Like I want to see, which is the first JavaScript framework that uses the word blockchain on their page.

[01:16:21] I haven't seen it yet. It's definitely going to become a thing. Oh

[01:16:25] swyx: yeah. Anyway, so, no, I don't, I don't mean to talk about Gatsby so much more just about, um, categorical imperative. Um, if you are a business in a, if you're a startup or a framework or a organization, you, uh, you have a goal, you, you achieve that goal.

[01:16:41] Then you start to look into what's what's next? Everyone does this, right? Like I'm Mongo DB. I like dominated the no SQL databases. Okay. What's next off

[01:16:51] Sunil Pai: because they want to post them data applications on the day. Yeah. So why not have JavaScript? Well, yeah, that's a, that's a, that's a good thesis. I would, uh, I would it, so,

[01:17:03] swyx: but so far CloudFlare is the, the most concrete of those thesis thesis, which has started with the CDN and built in.

[01:17:10] Um, and so far, I don't see anyone else doing that. So, I mean, that's kind of like the framing of what I think your team is doing. Uh, it's kind of building

[01:17:22] Sunil Pai: is doing differently this year. The big deal is they want to fix their developer experience. Like they have no brand recognition. They're not even a contender when it comes.

[01:17:30] Like if you see the state of JavaScript survey, the word cloud flood or workers does not show up, like it's not there. Like Deno has a way bigger presence and workers has a zero presence. The word doesn't even isn't even there. Uh, and which is very strange for them because their tech is their tech is very.

[01:17:49] But then I actually tried using, it was like, have you tried using this? You end up with like 40 different tabs open. What is the local development experience supposed to be? And the thing about developers is not that they will give you feedback on how to make it better, right? They'll be like, fuck this.

[01:18:03] I'm going to go onto our salary, AWS and get to production tonight. I don't need, I don't need to kill. So, uh, the story is to fix the developer experience and to have a coherent story. One of the first part of that story is what we're calling CloudFlare pages, which is right now effectively, just JAMstack.

[01:18:19] But as you can imagine, it's not, it is going to become a bigger thing because it's like, oh no, you can run workers with it and have API end points. Oh, now that's durable objects. Now there's this. So I would keep an eye on that. And of course, Glen Martin is on it. Who's also my close friend, but an incredibly smart guy.

[01:18:34] Wrap-up

[01:18:34] Sunil Pai: Uh,

[01:18:36] swyx: I had a chance to hang out with him. Uh, Um, and yeah, I love the guy I love, I love basically all Australia is, and JavaScripts are always a blessing. What

[01:18:46] Sunil Pai: the fuck is that? Why, how is that a thing? Why are suddenly like every person who knows JavaScript from Australia? Like all also the accent, I think makes it sound sexier.

[01:18:56] I think so, but no, what is this whole, it's not just a us it's Australia and it's UDA for some reason. Incredible JavaScript developers, like from both those places, like salt lake city,

[01:19:10] swyx: Utah, so yeah. Oh, um, you know, the joke, right? That's a, the book of Mormon is actually the ECMAScript spec.

[01:19:16] Sunil Pai: That's what it is.

[01:19:17] That must be, I bet. I bet somewhere in the temple there, like classes, horses, functions and stuff like that. I don't get it. Australians and folks from UDA

[01:19:30] swyx: is what it is. Yeah. Cool. Um, okay. Well, uh, I think that's a natural ending point for conversation there. Uh, is there any, are, uh, Topics or questions?

[01:19:40] Sunil Pai: Not really.

[01:19:41] It was just so nice to see you and talk to you again. I want to hang with you in real life and grab a beer and we will do that when either I'm there or you come over and I look forward to it, man. It was so nice seeing you today. Absolutely.

[01:19:53] swyx: It's really great to catch up. Yeah, finally. Right.

[01:19:56] Sunil Pai: This was just a great experience for me.

[01:19:58] swyx: Awesome. All right. Well, have a, have a good weekend.

[01:20:02] Sunil Pai: I'll see you when I see you. Bye.

View Details

Video version on youtube: https://www.youtube.com/watch?v=ErO9Ujccwds

My conversation with Jaden Baptista introducing him to Temporal.

Transcript

[00:00:00] swyx: Hey everyone is Swyx. I've been gone for the past couple of days and you may or may not be wondering what's happened. I basically got a cold and at this conference, it's actually nice to have a conference cold. I guess, because that means that things are going back to normal, even the, not so great stuff about being meeting back in person.

[00:00:22] But I have a cold and I did not feel great. And I think gets COVID. But anyway, I decided to take a little bit of a break, but I also, I'm not sure if you know, but the weekday topics are all done on the same day. And I tried to do this pattern of batching things in weekly themes and this week's theme.

[00:00:43] Basically it was poorly chosen. I thought that I had enough to do some, some stuff on basically the how technologies get adopted or get their traction. But I just didn't I ended up not liking any of the other episodes or any other podcasts that I shortlisted for that particular topic. So I just ran out and I just didn't feel inspired.

[00:01:06] I felt trapped in the format and didn't really know what to do with it. So I ended up not doing anything. I also had other work to catch up on, on top of the conference stuff. So that was all in my head recently. And in general, and wondering whether or not I'm going in the right direction. So if you do that, And I really am grateful.

[00:01:26] Checking out this podcast, because it's like a weird experiment with no particular theme or direction apart from cause it's stuff that I like. If you are, if you have a strong opinion and if you particularly think that there's some ideas that I should just pursue further and you're just mad at me for not doing.

[00:01:42] Now's the time to tell me, because I'm also a little bit direction as to where this podcast could go. That's it? I do think that there's a strong thesis for exploring or having a central place for exploring ideas. I am personally interested in and recent dictating my podcast appearances on other people's podcasts to my own feed.

[00:02:03] So people who are interested in what I do can follow up directly. So here's a conversation that I had with Jen Battista on Twitter spaces that was recorded. And it's about Tim Poro. So this is the first of maybe. Three podcasts that I did in the last month or so. So I'll be dripping them out over the weekends the next couple of weeks.

[00:02:23] And we'll see, we'll see where this goes. I want to get back more into writing. I still have hopes of spinning out my YouTube more seriously, but I think the creative journey. The part-time creative journey of these, where I have a day job and that should take priority over the other side of stuff.

[00:02:42] I do dictates the format of the things that I can take on. So, so far the podcast thing has been really great. I actually have a lot, a long backlog of things, which I selected for sure. They just don't fit in any, any particular theme. I think that theme is really nice when I can do it. And just, maybe you don't have enough backlog to do it just yet, so maybe I might go back to not having themes anyway.

[00:03:06] So here's my conversation with Jane and review stuff. Well, thank you for

[00:03:09] Jaden Baptista: joining me today, Sean. I really appreciate you taking the time are you doing today?

[00:03:14] swyx: Very good. I'm very entertained by your Twitch title called temporal nutso temporary. Very interesting.

[00:03:22] Jaden Baptista: Oh yeah. I was trying to come up with like a S a stupid clever name for the Twitch streams, despite them not really helping out with what the stream is usually ends up being about.

[00:03:34] We tend to wander from topic to time.

[00:03:37] swyx: Sure sure. Yeah. Thanks for having me in a happy to chat to portal. Awesome.

[00:03:42] Jaden Baptista: Yeah. Well, let me ask you just the first quick question. You know, every, every big program that we all talk about w we really enjoy using was, was built to solve a problem, some sort of problem.

[00:03:55] What problem was tempura both too soon, but what was the point of building it in the first.

[00:03:59] swyx: So, to be clear, I did not build it. Who did exactly it was built to solve the problem of The abstract problem that the category of problem, this is called is workflows anything long running that needs to take anything more than a simple request response cycle, a request response will be just like, you know, you're paying a serverless function.

[00:04:20] It gets back to you in, let's say 300 milliseconds, right? That's a typical cycle, but sometimes you need to do long running work. Typically I would think this is something like video projects. So, if you kick off a job, it takes like four hours to transfer code audio file. But actually it is both longer and shorter than that.

[00:04:40] So, this is actually a topic of my recent blog posts. Because even if you, so Dropbox, so box is one of our users and they use us for file transfers and normally a file transfer just feels instantaneous until you try to transfer a million files. Right. They just change that. A thousand of them.

[00:04:58] So you need a solution that scales pretty nicely from like a single transfer that should feel instantaneous to you know, something that's gonna take a while. Cause, cause it's just distributed across a lot of systems and you need it to be perfect or you lose data. And if your box you cannot lose data the other super long running task is why does anything have to ever end?

[00:05:17] So what if you could just model the entire journey of your customer from. Like their first contact with you to the time that they unsubscribe. And that is a single entity that you just interact with. So it then becomes easy to say things like, okay, on their seventh visit, send them a coupon. Every month charged them based on their, you know, their, their usage or the billing.

[00:05:38] And all of this is encapsulated in a single function. So

[00:05:43] Jaden Baptista: yeah.

[00:05:44] swyx: Yeah, because because we have an internal basically, so. Solves, it brings together a database, a scheduler some networking, some search capability and it, and it does. And then it uses, it offers you an SDK, so you can write it in idiomatic language.

[00:06:01] The, there, this is not a new problem. Our founders have been working on this for something like 20 years. The tech leads for Amazon SQS. And then in simple workflow Azure doable functions and then when they arrived at Uber, they, they built the initial version of temporal where it now power is like, Something like 400 use cases at Uber mostly driver onboarding marketing which they call communications or something like that.

[00:06:25] It's just like, whenever you do something that is so fundamentally asynchronous, you could use it for a lot of things. And it tends to grow that way. So, you know, it was open source that Uber and then it was adopted by other companies like Coinbase. Airbnb Stripe and then once it lands in a, in a company, it just starts growing from there.

[00:06:43] And it's just a, it's just a really interesting thing to watch when you solve a problem as well. You get a really strong developer adoption and that's, that's one of the reasons I joined it, just because you know, a bit about my, my personal history, like I typically have been on the front end and serverless side working at another fire in AWS.

[00:07:00] But the thing I think that sort of doesn't do well, is anything long running. And the more time you spend studying developer businesses, the more time you understand that, actually, a lot of the money, a lot of value is in the long running stuff. So we've got to do this. And we got to do this and we're going to make it easy to do asynchronous stuff.

[00:07:22] And when I say easy, I mean, easy to do production grid services. So, things like retries failures, timeouts, heartbeats you know, when, when systems go down do you have an easy way to. Bring it back up again. If systems go wrong, do you have a way to have everything tracked and audited? Do you have everything properly tracks so you can go back and see what happens, right?

[00:07:43] Are you, is your as your monitoring practices? Correct. And then finally, When you need to scale when, when stuff is going really, really well, can you just throw more machines at it? Sometimes if you have the wrong system design, you can not, because you've just, you've just assume a single dependency somewhere.

[00:07:57] So every part of your system needs to be horizontally, scalable, completely fault tolerant. And that's what tomorrow brings.

[00:08:03] Jaden Baptista: Awesome. I mean, I, I'm going to be going to be totally honest with you. I, before interacting with you for the first time, never heard of temper. But I ran into this problem a lot.

[00:08:15] When I got first into development, I wanted to schedule things and kind of like model a workflow around that schedule instead of the other way around. And we, we ended up switching to like a weird monolithic backend just to get that done with the first projects as a developer. And it was miserable. I hated it.

[00:08:36] That's actually why I got into the jam sag in the first place. Cause I hated those monolithic backs. So much that we tried to use this, solve this problem. But I'm curious, one thing that we ran into and by the way, anybody who's listening, if you have questions for Sean about temporal feel free to ask it to be a speaker or in the chat in Twitch.

[00:08:52] I'm watching both of them, but my, my first question I've run into situations where that schedule is not set right. So, you know, perhaps with your Uber onboarding flow, maybe there's a set set of steps that you've, you've got that you're going to use to onboard this user, but that might change on a lot of different platforms.

[00:09:15] Like, for example, the one I was working on we didn't know what email we would be sending a month down the line because it completely depends on what happened in the meantime. How, how would temporal handle something like that? Is there built in flexibility if the schedule were to change?

[00:09:32] swyx: Oh, migrations.

[00:09:33] Yeah. Yeah, absolutely. In fact that's one of the key selling points. So they're the three select, the three key selling points. I'll go in reverse order. Cause that's, that's where we happen to be starting. One of the key selling points is that you want to model workflows as code and that's pretty much.

[00:09:47] We're one of the only few workflow engines that do that. And by the way, there are others. That's why, that's why we do have to have our talking points straight. So when you migrate, you need migration, tooling, and you need tests, right. To move with confidence. Would it surprise you to learn that most people, when they set up their asynchronous workflows have no idea.

[00:10:06] They, they just they're there. They're happy that it works. That's about it. And then when it, when they moved,

[00:10:14] Jaden Baptista: sorry,

[00:10:16] swyx: when they, when they made changes, they they're just like, okay, should work now. You know, and then, and that's about it. That's the state of the industry is pretty sad. But I, I. Once you have the right abstraction, things just really lock into place.

[00:10:29] And being the main thing about tests is that you have to be able to mock out every single possible source of determinism in time. And that's one of the reasons why we're called to Poro. We help you to handle time. And one of the pictures actually for the front end, Because we're going to launch our JavaScript SDK in October.

[00:10:47] That's off the record. I, I, I didn't, I did not promise that like, we are components for time, right? So we help you mock out time. We help you test time. We help you structure asynchronous workflows in the same sort of component ties, logic that you might with a reactor view of whatever components.

[00:11:03] And I think that that pitch. I'm testing it still and I'm still working on it. That pitch would probably make sense to, to front end developers who are like, yeah. Okay. You know, I have rendering solved, but like what happens to like all the asynchronous stuff? I'm still a black box

[00:11:21] Jaden Baptista: that that's kind of the, the situation that, that I ran into too.

[00:11:25] Like I got all of them. That'd be awesome.

[00:11:27] swyx: What was, what was the tech stack? What did you use?

[00:11:30] Jaden Baptista: So at first we were trying to go with like a, a sort of like almost the JAMstack kind of thing. It was very bare bones. This is when I was first getting into web development and I went all gung-ho on this project with the classmate of mine that did not turn out well, but it was, it was basically just a simple JAMstack site actually hosted on Heroku.

[00:11:50] Cause we didn't know any better. And we ended up trying to solve like the problem. Of sending messages back and forth. And then depending on the content of those messages doing something like a month later, like sending an email with a recap of some of those messages, or if there were no messages sent and do something else, we ended up actually having to create a PHP backend, like a second backup.

[00:12:17] And then a third one later in Python. So we actually had three backends for this problem because the only tools that we could find were all over the place like I said, we didn't know what we were doing, but we were, we're all over the place trying to solve this problem. And so talking to you, it's very fascinating to me that somebody had this problem 20 years ago and decided to fix it.

[00:12:37] Yeah,

[00:12:41] swyx: there's a weird, there's an interesting pipeline, I think. And you know, this is a more general career reflect. The pipeline is, is as such you work on a large web-scale company early on in your career. You face all these problems at scale early on, and then you, you leave that company and then you start the problem.

[00:12:59] You start a company to solve that problem for everyone else. Right. It's kind of that, that's a lot of the the Google too. There's there's a lot of ex Googlers. So, I think now we're starting to see the emergence of the Uber and Lyft mafia who solve a lot of problems that we were in Lyft. And now they're just emerging as like, you know, independent startups get hub, you know, spawn kind of scale.

[00:13:23] Lyft respons there's, there's a bunch of, there's a bunch of them. Twitter

[00:13:26] Jaden Baptista: has done that a lot too people who worked at Twitter and then spun off and did something else, like fauna comes up.

[00:13:33] swyx: Yes. Yes. So, it's interesting. So, so this is, you know, this is an export of Amazon, Microsoft and Uber.

[00:13:39] Cause that's the path that, or,

[00:13:44] yeah. So, so, I want to give you, yeah. So that's the other thing, right? I want to, I want to really impress upon you this point, which is that you want to, so the, the, the first, the first talking point was, was worthless. Second talking point is about orchestration that you want a single engine that handles retries, timeouts, heartbeats, all that stuff.

[00:14:05] And. Anytime you call an API, it actually has a, has a probability of failure, which is like you're calling you're you're crossing network boundaries. You were you know, running into rate limits, whatever, whatever that is. Have you handled it correctly? And that error handling is something that you don't typically think about.

[00:14:22] Cause when you code you're typically coding. But having it properly. Exactly. And especially if you think about this in a large company setting you have service call service, a calling service B it's called service C each of these services cannot trust the others essentially. Right? Each of each other, every time you cross the service boundary, you're essentially entering untrusted territory in some sense of the word.

[00:14:43] So in order to ensure the reliability of your service or that a response very well, you start building up defenses against each other service. So around the boundaries of your service, you're building in like, okay, like, you know, if, if this call failed, like wait five minutes and we try again, make them and that kind of thing.

[00:14:59] And if you run a large enough company, you realize that every team is doing this and. In their own way. And they're all solving problems, incident by incident like this, you don't have to sit down and. Design this from scratch, like you run into an incident and you're like, oh, okay. Yeah, we better put in some production hardening on this thing.

[00:15:16] Right. And they're all provisioning infrastructure. It's not just about duplication of code. They're also provisioning infrastructure, right? Like you went from running. Just one little machine somewhere toward to like, okay, now I need a database because I need to store what requests I've made what tracking everything.

[00:15:32] Now I need a scheduler, like a Cron job to, to retry things. And you just like build up a lot of. And so what orchestration engines do is they provide reliability on rails. You have a CTO that says, okay, I have a central platform team that does this. Everyone just like use this platform and we'll scale it for you.

[00:15:50] Now, you never have to think about the production hardening between your system boundaries. Again. You can just reliably. Things and, and they'll behave properly and feel according to a, a company-wide standard that we can predict and examine this also centralizes failures. So, so in other words, like, if you, if you could like one of the fun jokes about microservices is that they turn every outage into a murderer.

[00:16:13] Like who who's at fault. Right. You know, then you go through the trace and then you, you, you, that's the

[00:16:18] Jaden Baptista: one, the one I've heard is a murder mystery where you're both the detective and the murderer.

[00:16:22] swyx: Exactly, exactly. The way to solve it is to have a global view of, of. What happens? So, so yeah, I mean, there's, there's that, which, which I think is, is pretty under appreciated by a lot of people.

[00:16:31] And I think it's, it's very core to what we do, but also what a lot of other people do. So we're not the only workflow engine out there. You can try in other, in different contexts Amazon step functions Apache airflow and there's a bunch of others. I don't have to go through all of them.

[00:16:47] Jaden Baptista: No, there's a really long list and I've looked into a lot of these, cause like I said, I've seen this problem a lot. And I'm just wondering a lot of those other ones, there was, there was a ton of setup work with those other ones. Like I've tried step functions and I, I actually didn't even get to the point of creating the step function because before that there was so much.

[00:17:11] What's the word I'm looking for. Administrative stuff, just to get to that point is how much do you have to do to get temporal working for a really small project? Because you said it will scale with you as, as you start growing bigger. So what, what's the, the investment of time that you'd have to put into it, like a hobby project

[00:17:33] swyx: That's an interesting question for us right now.

[00:17:35] It depends on your skill with dev ops, essentially.

[00:17:37] So

[00:17:39] Jaden Baptista: is going to help out a lot with this.

[00:17:41] swyx: We still need to do a lot of work. Maybe not coming. We still, we still need to do a lot of work on that. So essentially right now it's a, it's a single go binary. That is that's that runs four services and those four services can be scaled independently.

[00:17:55] You will also need a persistence layer. So we support Cassandra my sequel. And then optionally, we also support visibility search. So, using elastic search. So if you want to run all of that you can, we're not, we're not opinionated on how you deploy that. You can try to run it on a single box but also you probably wants to have like a managed database layer.

[00:18:15] So you don't, you don't have. Handle the database stuff yourself. But it is very easy to get up and running with our Docker proposed file. So that's the way that we typically get people to get started. If you run Kubernetes, we have a helm chart that you can reference. We definitely don't you'll probably want to customize a home in some way.

[00:18:31] People have all sorts of other container orchestration and stuff that they might want to use. But that is essentially the story right now. What it will be in the future is that we will have a single binary that you can one-click deploy on Heroku. Right.

[00:18:43] That's obviously the best developer experience. It's just not ironically something that we're optimizing for right now, because right now a lot of our users already have that knowledge. So we're better off spending time working on other stuff. So, and SDK's awesome.

[00:19:00] Jaden Baptista: Cool.

[00:19:00] So other than the JavaScript SDK, that we didn't really mention earlier what other things are in the roadmap for your temporal and by the way, anybody else who has any questions in case you just came in? So feel free to request to be a speaker and a astronomic question. But yeah, what is on your roadmap for them?

[00:19:17] A little bit

[00:19:18] swyx: we I've been forbidden from publicly discussing them. So yeah, it's just the thing. Like we we look bad if we let our users down by saying we're working on something and then it doesn't pan out for whatever reason. So we just don't do that. I will say that our JavaScript and Python SDKs are highly, highly, highly in demand.

[00:19:35] So, you know, Make your own conclusions there? I am also, maybe

[00:19:41] Jaden Baptista: I was thinking more like your priorities for like, not necessarily like a specific feature or anything, but like, what are you. Planning to focus on .

[00:19:52] swyx: Yeah, yeah, sure. Appreciate that question. Yeah, so, I mean, this is, this is a part of that, like getting us in front of the largest developer populations in the world is very important.

[00:20:01] Our web UI is under a major rewrite right now. And that, that will hopefully. Help us be more intuitive, especially to people who are new to the system. always have this view that the docs or docs are. Dogs are a last resort. If, if at all possible use your UI to teach people as they go, instead of having to read a wall of docs.

[00:20:21] And then, and then finally, so we're not generally available yet. We're just in private design partnerships with people. So we have, you know, some, some very, very well-known customers, some of them publicly listed and yeah, and, and we're basically learning how to scale. Service and scale a multitenant version of this, right?

[00:20:39] It's the, you have to think about the origins of this company was an open source project running solely within Uber. So it never really had to think about You know, often organizations and like security and billing and all that. So we have to build out all of that. We have a list of about 30 things that we need to build before we are a production ready cloud.

[00:20:58] But it is a very different startup from other forms of startup, because it seems like this company is like, it there's no risk of mismatch in product market fit. Like we already there in terms of. Right. You're already there. It, I, there, the reason I hesitate to say that we have product market fit is because we don't actually have a full product yet.

[00:21:22] Right. Like, we need to build that product. And then we need to be able to repeatedly sell it either from enterprise sales or through a bottoms up, like just developers, trying stuff out. And yeah, there's a long way to get before we go there. But we have plenty of open source developers who are open-source users who are happy.

[00:21:38] Build out. You know, we're looking forward to our production hosted cloud.

[00:21:43] Jaden Baptista: Awesome.

[00:21:44] Well, thank you for joining me, Sean today. I really appreciate you. You teach me a little bit about this because I've been looking to try and figure out what temporal is about so that I can potentially be using it in the future.

[00:21:54] Once it fully launched. Yeah.

[00:22:00] swyx: You hear more stuff from me about it? There's a lot more, I haven't covered. We use event sourcing. So the way that we do reliability is that events are the source of truth. And we are able to resume from any downtime because of that, right there. That's just a fundamentally opinionated architecture, which I think a lot of people struggle with.

[00:22:15] Like they eventually find it, but then they're like, oh, I have like five years of legacy work that I had to throw away now. Right. Yeah. I'll you hear more from me about, about this, for sure, but thanks for taking the time to, to check it out. Cool.

[00:22:28] Jaden Baptista: Well, maybe you can just, while we're finishing up here tell us a little bit about your social media and I have one more bonus question.

[00:22:37] swyx: Can you, can you help me here? Like what, what specifically about social media follow him on Twitter at, oh yeah. Yeah. It's Swyx, it's my English and Chinese initials. SWIX but also, you know, just. Temporal, we have a mailing list or we're doing a meet up next week. A lot of people, you know, we'll have one of our users presenting airbikes and we're just trying to grow our community, you know, and, and help people solve their problems.

[00:23:00] We're still cool. 30. Yeah. I mean, I'm pretty excited.

[00:23:04] Jaden Baptista: Awesome. Well, I have one little bonus question for you. I didn't let you know about beforehand, but I've been asking all of our interviewees, thus what is one tool that you use all the time that you just could not live with? Put me on the spot here.

[00:23:15] swyx: Man, there's Honestly, simple notes. Very good. Oh yeah. Just the notes and notes app has to be reliable offline first and multi-platform I know there are other notes I have out there. Simple notes free. It's backed by WordPress. And it's very reliable and it just does notes, right? It doesn't do any, any rich media.

[00:23:37] So you don't like, I know, I know notions the new hotness and all that, but like anything that slows it down, like notion we'll choose fancy new feature over speed and reliability. And I value speed and reliability. So I, yeah, I shout out for simple notes. I think everyone should have at least as reliable a note taking.

[00:23:56] Jaden Baptista: Cool. Cool. I'll have to go. I'll have to go down and download that. Then I've been using notion forever. So anyway,

[00:24:03] swyx: it's like, like anytime you search it, it's like that spinner just like ticks you off. Like anytime you accidentally or something on the mobile app, it takes you off. Like just stuff like that.

[00:24:13] Just don't do it around

[00:24:15] Jaden Baptista: and around and around. But thank you for introducing me to that. I'm going to go download that right now, actually. Well, thank you for joining me today, Sean. I really appreciate you. Teach me all about them for us. I'd love to have you back in the, in the coming weeks to tell us a little bit more about progress once those SDKs are released.

[00:24:31] So let me know, but in the meantime maybe we should cap it off there. Thank you, Sean. All

[00:24:37] swyx: right. Thanks everyone.

View Details

Listen to the Sourcegraph podcast: https://about.sourcegraph.com/podcast/christopher-chedeau/ (~28mins in)

Lessons learned:

  • Hackathon is important for intrapreneurship
  • Near Death moment requires leap of faith
  • Solve People Problems with Technology, not just technology problems

Transcript

[00:00:00] swyx: I'm continuing my exploration of how technologies get adopted. And recently there was a really good interview of Christopher shadow by Beyang Liu on the source graph podcast. So I really had to feature it. this tells the story of the invention and adoption of react native internally within Facebook. And the context to this is.

[00:00:21] Facebook had a problem with the iteration speed of mobile apps at Facebook, and they were much slower than web apps. So basically the context before this conversation is that mark Zuckerberg had actually set an engineering priority to fix the solution and the engineers have to figure it out.

[00:00:36] Christopher Chedeau: One of those things that John had in mind, Can we embed JavaScript in a iOS app. And so at that point, we actually there was no API for this and they're going to do it, but like you found a way to cross compare something and he was able to do it. And you, you want it to be like, okay, can we run, react and power, like native iOS views out of react instead of like dibs and spans, you can like a UI label and a UI views.

[00:01:03] And. And so this is like at Facebook there's hackathons. And so in the summer does a three day hackathon. And we basically like Ashwin Lynn that's where on my team, on the photos team. And Joanne, we hacked together off for three days working on this like raw using react to power, like native use.

[00:01:25] And at the end of the three days, we had a demo where we are able to show his view and we had a primitive layout system. And. I have the texts it's on the right and the iOS, the rep on the left and basically moved the line like a before and after and a native, iOS, like button. And I bought to move the, like better from the left to the right.

[00:01:49] And we were able to click on it. Now, the lights like actually like walks and we're able to like, do. Changing and saving would be like almost entirely. I think it was a hundred milliseconds, a refresh. So it was barely perspective perceptible and we presented to the like hackathon group, like all the, did some callbacks could go.

[00:02:11] And what happened is the five project, like most interesting have an audience with Mark Zuckerberg. And so you went to present this hack to Mark Zuckerberg and there was a SRAP, the CTO of the company as well, like in this? Yes. Yeah. And wasn't for this. Yeah. And both of them were like, we're super excited.

[00:02:32] And what happened the next week is we basically did like a wall tour of Facebook and we talked to all of the management chain, . And it was like a super, like a fun thing. But now the thing that happened then is okay, so we did this demo, there was like people liking it and everything, but now for like myself as an engineer, like I joined like Facebook, like less than a year ago.

[00:02:54] And I moved like my, like myself, I married my wife. I like, this was like a huge like thing. We moved off way across the world. So now it was like a soul searching moment. Do I want to like bets, like this dream, like on a crazy idea that and I was like, like at that time I was like the answer was No.

[00:03:18] And so what happened is like a Lena Nash Ashwin basically went and B up like a, they wanted to do an iOS photo up and they built it using what was react iOS at the time. And three months after they basically came back to us and said Hey look like we really want to build like the iOS photo app.

[00:03:37] Yeah. And right now we're spending more time building this react iOS thing than actually building the products. And so we're going to restart the product like in a normal iOS. So we can actually walk on it. The project could die. All the project could live and I need to make a call. Do I want to invest in?

[00:03:58] And so I did a lot of soul searching and I basically at that point I was like, okay, I think I need to do it. And so, Tom Occhino was the manager of a Joel at the time. And Joel Dan and myself okay, now we like basically creating a small team. And then she came in after this. And this is how like the program.

[00:04:17] But this was like not an easy, like a decision to make. And this is like something, a lot of people don't realize it counting products and like they're super high risk Harry, well, for decks, but most of the projects actually fail. This is a startup. Like most of us, not the film and the fact that I'm like here talking to you, like all of the stars align and everything, like it's good work, but this was not a given at the time.

[00:04:40] Beyang Liu: You took a risk and it paid off. And I think especially it was a big risk in Facebook at the time. Cause my understanding is that they had already tried to build an initial version of the mobile application using web technologies. That was like the first attempt.

[00:04:54] And then it wasn't like performant enough for the user experience. Wasn't good. So they ended up rebuilding it in, native iOS and Android. So there must have been like probably some amount of institutional resistance. Right. . Have another go at a web based or web inspired technology, right?

[00:05:11] Christopher Chedeau: Yeah. Yeah. This was like a very interesting time. And like one of the things that's also I don't know if it's true today, but like when I like joined Facebook and even at school, there was this notion of if you're doing web, you're not a real engineer. If you're doing like a channel or like network or native, like you're real engineer.

[00:05:31] Yeah. And so there was this like super interesting notion where we are coming from a web background. And so when you have all of these preconceived notions, Whatever we'll doing is not going to be a real engineering. And we're like, scripted is, and let's do this. And this is like very interesting.

[00:05:52] The other thing which has been super interesting is there's also a very big difference between the iOS community and general. Hmm. And so, the what's super interesting is iOS community is like apple, like plays a central role. And basically there's like this notion that like everything that apple does is the right way, and this is the way things should go.

[00:06:16] And there's a very angry notion of this. And so now if you're basically come in, like we're doing something different when apple guideline, there's a lot of reasons. Yeah. And so this is in practice it has works well because like apple in practice, the software that they produce and like the libraries and everything, I actually really good in practice.

[00:06:36] So that's reasonable. But it's been like one of the very interesting thing about trying to convince people the, on the other side for Android, which was super interesting is Android, like the state of the development at the time was like very fragmented. There's 20 different of Android and everything is hiking and like the quality of the framework and the fraud, was not as good.

[00:06:57] And so basically like 400, like people were a lot more like welcoming to the idea, but the challenge there was. The actual devices were like, really, really was like for iOS, like the iPhone is actually like super powerful on Android. There was like really bad phones. And so now like a, the channel was like, oh, do you have the JavaScript runtime on top of it and everything.

[00:07:20] So it was a lot more challenging to actually get it to work well. And so it was super interesting, like how, like one place was more about like the. The like people mindset and everything and the other, one's more about like the actual techno like technology called shysters and that's well, challenges for like working on this.

[00:07:40] And one thing that we found is that in practice, like a lot of the people working on react native, I've been people like coming from a web. Yeah. And the thing is we have been hiring a lot, but it's still like how that via an iOS and Android engineers and women employee as more of them.

[00:07:58] And so we've been able to like bootstrap and say, I found them there, our team using react native through like the. And all the channels were starting to hire like dedicated native engineers. They were able to like get funded through like web development. And so it's also like a, an interesting thing.

[00:08:15] The staffing and the people working on this projects.

[00:08:18] Beyang Liu: Yeah, that's a neat I guess developer team growth hack is a using a technology that allows people from a much wider pool to, to come work on, on the product. I I'm curious, you mentioned all these challenges with getting started in both iOS and Android, partly psychological, partly technical.

[00:08:37] What was the first project or first major project that the react native team targeted inside Facebook as a focal point.

[00:08:45] Christopher Chedeau: So the first one was Instagram. They had a list of all of the photos you've liked. Oh, your favorite regions. And this view like was super small and would have like being our entry point into getting Instagram.

[00:08:59] And so one of the challenge with this is like the, the, the mission is like, the feature was not big enough to justify like the investment and adding like a whole like JavaScript run time and this kind of things. And so. We were not able to like, actually succeed there. And I, in interest respect, like I think you need to start to find like something small enough, but something like significant enough that they actually solves a real problem.

[00:09:27] Fall the company. And I don't think we really judged like the right balance. And so this is four counts. The thing that actually worked out and like the first one was ads manager. And so we were building like a ads, like app for managing your ads on the phone. Yeah. One of the thing is like the team had a really hard time hiring native engineers to actually build this and this first time on the app.

[00:09:53] And so this felt like the perfect opportunity for us to actually get like a team. And most of that same like ads is like the most complicated, like piece of a JavaScript software. And so, there was a lot of really good. From an engineer's like JavaScript expelled, like in the ads organization, they were able to bootstrap the asthma job product.

[00:10:15] And we were able to walk with them. And so this was like the first big app that was shipped, using react native. And to this day, it's still using right there live and like it's been super successful.

[00:10:24] Beyang Liu: That's awesome. And, and how did it grow from there? I mean, these days, so

[00:10:28] Christopher Chedeau: one of the biggest thing you're using react native is actually marketplace.

[00:10:33] And so this is a yeah, one of the big success stories. And one of the reason why they have been able to be successful as they've been able to iterate like super quickly and like figure out like what works, what doesn't work and like being able to yeah, to move faster on like with true native development.

[00:10:51] Beyang Liu: Yeah, that's awesome.

[00:10:53] And marketplace, I think these days it's like one of the largest online marketplaces where like goods are bought and sold anywhere. I think I I've certainly bought like a ton of stuff on marketplace and have as well. So thanks for that. That's a, that was like more than 1 billion people using marketplace every month.

[00:11:12] Wow. Pretty insane. That's insane.

[00:11:14] swyx: So that is the react native story, which I don't expect to be very representative or applicable to a lot of other situations, but I think it's still notable and it still has a lot of impact and there's still some other lessons to learn from it. So the first lesson is that it's a case of entrepreneurship.

[00:11:30] It started because of a hackathon because mark Zuckerberg had some overall objectives, but didn't really prescribe this solutions. And I think hackathons and giving people space like a three-day hackathon is actually a pretty significant engineering investment, but giving people space to come up with solutions that they've always wanted to work on, I think gives you a lot of these breakthrough ideas that would just never have come up in a regular cycle or a sprint or whatever you call it.

[00:11:54] And the second point that I really learned about is deciding to bet on react native that react native had a near death experience because they tried it out on Facebook photo app, and it was just too unproductive and they could have just died if Christopher did not decide to invest more time in it. And I think you always need these.

[00:12:12] At critical moments, people to just decide that this investment is worth it, that this technology is worth it. Um, Before you get much traction because it's just not in a usable state. And finally, I think the reflection that I have is that react native solve the people problem. And solving people problems actually often solves the technology problem or beats the technology problem. Uh, Innocence that web engineers are much easier to hire than native engineers and web development cycles are much faster than native development cycles it may be inferior in all other respects but if you just win on those two things you win the technology

View Details

Listen to the Future of Coding Podcast: https://futureofcoding.org/episodes/011 (30ish mins in)

3 Lessons Learned:

  • Features over Benefits
  • original was a tutorial
  • second time: here's why react is different. Focus on the implementation rather than how to use it
  • Sophie Alpert, Dan Abramov, Cheng Lou
  • Support everybody: IRC, Stackoverflow, Reddit
    Influencers - David Nolen
    Bigger conferences, F8, ReactConf
    Public user Wiki
    Haters - view every hater comment was your fault
  • Table stakes
    Documentation
    Inclusive communication
    Three single sentences to communicate why your project is different and worthy of someone's attention - real reasons with tradeoffs, not "faster, smaller, lightweight"

Transcript

[00:00:00] swyx: Hey everyone. I'm coming to you today from the Infoship shift conference where I just gave a talk on the third is your JavaScript. And it's got me in a mood to look back a little bit on the history of some of the JavaScript frameworks and what better history to cover it, then react, which is something I know.

[00:00:17] Well, but I think the history of react is not that well-documented and people. Should hear it from people who are there. The central question, which occupies a lot of my waking thought is how to get developer tools adopted. And there's no better case study than most, no more successful case study than react and how it overcame its initial difficulty.

[00:00:38] Here's original reactive team member, Pete hunt on the future of coding podcast.

[00:00:43] Pete Hunt: It took a lot of time to figure out how to message this. Because he can't just come in and say like, everybody's wrong and we're right. Blah, blah, blah, blah, blah, blah. That's not that's not really, you did that a little bit.

[00:00:55] Which, which talk. So there was the original JS coffee us talk where we came in and we said, Hey, this is how we build user interfaces. At the time. And it was just like a tutorial. And then there's another way, which was the second top, which was the one that I did, which was basically like, Hey, here's why react is different.

[00:01:15] The argument that we were trying to make is that, Hey, this is these are the problems that we had. Here's the solution we came up with and here's what makes our solution. And we had a lot of caveats in there that said, Hey, this might not work for you. There are these certain edge cases where it's actually slower than what you're doing today, but what we found was this was a better set of trade-offs and really what we focused on was.

[00:01:40] Educating people on how to use react or how to build their next application with it. It was more about this is what makes it unique and interesting. And what that did was it disarmed people. They were like, oh, this is actually really interesting. We focus much more on the implementation in that than the, how to use it.

[00:01:56] And people appreciated that. And the second thing it did was it recruited people into the community that were really passionate about what it does differently. And so you see. These big shots in the react community now like Sophie Albert, and Dan Abramov and Cheng Lou and all these, these people they originally recruited because I think they found the internals of react to the interesting or at least some of the ideas around it to be really interesting rather than, oh, I built my, my application and, three less days than it otherwise would have taken.

[00:02:25] Steve Krause: From my perspective it seemed like react was inevitable and it just happened magically, but you were more on the ground floor making it grow. And it seemed like, like you find around the conferences telling people about evangelizing it.

[00:02:38] So could you talk through like how it became adopted how, how that felt. Like w what were like some of the key milestones or like key the key things that happened that like made it like moved along.

[00:02:50] Pete Hunt: Yeah. So there was JS con you asked, which was the original announcement. Everybody hated it. Then there was JS con EU which got some more people excited about it.

[00:03:00] We wanted to support everybody a lot. So we were in IRC, like almost 24, 7. People would come in and ask a question and we would answer it. Some people would, would camp on stack overflow and answer those questions. But basically like the, the idea was we wanted to recruit and, and basically keep those people engaged in the community because hopefully they could help out.

[00:03:20] And that ended up working out nicely. So the number one thing was like just supporting the hell out of people that

[00:03:26] the second big milestone that happened was when David Nolan got involved. And brought in the closure script community. And they, he wrote this blog post called the future of JavaScript MVCs and he was kind of like, Hey, this reacting solves a missing piece that we've had in the closure script community for a long time.

[00:03:44] And it's got a programming model that I really like. So that was a big noticeable uptick in the use of reaction. So again, what we're doing right now is, is recruiting. Passionate early adopters and started to slowly turn into some real production usage of react outside of the Facebook companies.

[00:04:06] And then fast forward, maybe a year we are so flux is introduced and that solves a problem that the community had. We started talking at kind of bigger, more corporate-y conferences like Facebook's FAA, and then eventually put on a react. For all of the users and then that sort of to inspire a lot of confidence in people to use react.

[00:04:28] And so then all these big companies started actually using react. And once you've got some PR real-world production usage, we had this Wiki page where people could add a link to their, their service and where they were using react and Redux. And we would point people to that when they're like, Hey, my boss doesn't know if I should use this new technology.

[00:04:48] We said, well, did you know that Facebook is using an Instagram is using it Airbnb and the New York times and all these other, other well-known brands. So that was, that was helpful to then, we just started to see this big explosion in, in the usage of the, of react throughout the community.

[00:05:05] The snowball was, was rolling down the hill at that point. React native was another big milestone in, in reacts kind of adoption because that opened up the world mobile developers.

[00:05:14] So I I found react because of David Nolan's article that you mentioned. And I was immediately convinced after reading that article and then watching your rethink, rethinking best practices talk, which, which I think he links to in the, yeah.

[00:05:26] In that essay. So I can definitely see how that was a big milestone. I didn't realize how big of a milestone that was in your mind, but, but that's, that's how you got me.

[00:05:34] So makes sense. Yeah. That wasn't an accident either. So like there's a lot of, I was going to conferences and I was connecting with people on Twitter and stuff like that.

[00:05:44] And the way that got put together was. There's this guy, Brandon bloom, who's a game programmer who you guys should all follow on Twitter cause he's he's really smart. And he sent me a message or tweeted at me or something and he was like, Hey, I saw your talk. Did you know that this is how like all game engines are implemented?

[00:06:05] And I was like, what? I don't know very much about graphics and, and he taught me through it and explained it to me. And he's like, He was in New York and I was like, oh, I'm flying to New York. We should meet up. So we met up over a cup of coffee and he's like, I'm going to bring my friend David Nolan.

[00:06:20] And he's going to, he's going to come sit in on our conversation. And so us, the three of us were just at a coffee shop somewhere in New York talking about react. And then he pops into the IRC channel, has a bunch of questions as he's building his first version of his react bindings.

[00:06:35] Kind of, again, continuing this, this level of support that we had and that blog post pops out and changed the game for, for react. So that was, that wasn't like, oh, I stumbled upon this technology. And I was struck by how awesome it is. It's like none of this stuff, I'm like, yeah, things go viral, but they go viral after a lot of boots on the ground effort.

[00:06:56] Steve Krause: Ah, I'm so glad that that's But that's how it actually happened. Cause it that's so empowering that like, it isn't just random. What goes down on what doesn't, if you work really hard and do the work, it'll eventually work out. So I'm really glad that that's how it happened in reality. And that I have it on this podcast.

[00:07:12] That's really inspiring.

[00:07:14] Pete Hunt: Yeah. Yeah. I mean, there are things you got to get, right? Like you gotta write documentation and you got to build a community that you need to foster community that that is inclusive and gets everybody excited about working on this. And you need to also communicate your project really well.

[00:07:28] So you need to say, Hey, this is why you should pay attention to our project. And it's got, you get like three bullet points, three single sentences to communicate why your project is different and worthy of someone's attention. And like it's faster and it's smaller and it's lightweight. Real reasons like you got to sacrifice something, right?

[00:07:50] Cause otherwise react would be smaller, lighter weight. Right. So what are you sacrificing?

[00:07:54] Steve Krause: Totally. So one thing I saw on the internet that caught my attention when I was preparing for this interview is that there was a quote where you talked about how you replied to every hater comment on Twitter.

[00:08:04] And is that, is that something that you thought was effective? Do you still do that now?

[00:08:09] Pete Hunt: Tell me more about that. Oh yeah. That was actually Reddit. So we would post it to Reddit and there would just be like, all of these salty programmers would just reply and trash on like, oh my God, you're putting HTML in your JavaScript.

[00:08:22] That's so bad. Or like who is Facebook to tell us how to build applications when we have this thing from Google and Google's wait, got way nicer products than Facebook whatever it is. And our, to every single one of those. Yeah. You know what, like some of these people had legitimate concerns. There's, I've actually found in my personal experience, there's very few real trolls that are just trying to troll and just trying to piss you off.

[00:08:50] There's a lot of arrogant people and there's a lot of people that have strong opinions and don't do a great job of expressing them in a respectful way. But their goal is not to piss you off. They actually have legitimate concern. And the way that I thought about it was I, I viewed every single one of those concerns as my fault, because either the technology didn't do what it needed to do, or they, as in, they had a legitimate technical concern or they didn't have a legitimate technical concern and we failed communicating that to them.

[00:09:21] And so if you just say. Hey, all of these complaints on Reddit are actually legitimate or have a kernel of truth to them. And they're all my fault. You start to do a lot of self-improvement really quickly. And so that's why I think the messaging around react got to be I thought very, very crisp within the first nine months.

[00:09:41] Yeah. Of it being open sourced and that that messaging like branding it, the virtual Dom that now gets a lot of flack and criticism, but I stand by it, it's not a hundred percent accurate, but if you've got someone's attention for five minutes and you want to explain how react works, a virtual time is like a great way to do that.

[00:10:00] swyx: Okay. So there were a bunch of very important lessons here. So just to recap, the first is to talk about features over benefits. This is the exact opposite from traditional marketing, where you talk about benefits over features. When reacts was initially introduced, they were trying to introduce them as a tutorial. Like we can do this. This is how you use react.

[00:10:21] And you can code, uh, so-and-so faster than you would normally code. And people really reacted against that. But the second time they introduced react, they focused on why react is different focused on the implementation rather than how to use it. And that actually successfully nerds sniped, the second generation of react core team members like Sophie, opport, Danny Mamava.

[00:10:40] VIN Chang Lu. The second tip after the features of a benefits thing is to support everybody. And they really mean everybody. So camping out in IRC stack overflow and Reddit. Supporting influencers like David Nolan. Supporting haters. Bye Andre. On Reddit by viewing every hater comment as if it was your fault.

[00:10:59] And then building more social. Social momentum. With bigger conferences like Facebook, F eight, and then throwing their own react con. And then also publishing a public user Wiki so they can see. Other companies like them using react. Finally, you have to have your table-stakes. So the table stakes that were mentioned were documentation.

[00:11:20] Inclusive community. And three single sentences to communicate why your project is different and worthy of someone's attention. Real reasons with trade-offs not just, we are we're pleasing faster, smaller, or lightweight, actual reasons. So I thought this was very jam packed with. Really good lessons.

View Details

Song: DJ Snake - Run It (ft. Rick Ross & Rich Brian) [from Shang-Chi and the Legend of the Ten Rings]

BBC Radio 1 interview: https://www.bbc.co.uk/sounds/play/p09tz2bz

View Details

Full interview on the HOSS talks FOSS podcast: https://www.youtube.com/watch?v=8e3IC-lAgXs

Vitess: https://vitess.io/
Planetscale: https://planetscale.com/

Vitess was created in 2010 to solve the MySQL scalability challenges that the team at YouTube faced. This section briefly summarizes the sequence of events that led to Vitess' creation:

  1. YouTube’s MySQL database reached a point when peak traffic would soon exceed the database’s serving capacity. To temporarily alleviate the problem, YouTube created a master database for write traffic and a replica database for read traffic.
  2. With demand for cat videos at an all-time high, read-only traffic was still high enough to overload the replica database. So YouTube added more replicas, again providing a temporary solution.
  3. Eventually, write traffic became too high for the master database to handle, requiring YouTube to shard data to handle incoming traffic. As an aside, sharding would have also become necessary if the overall size of the database became too large for a single MySQL instance.
  4. YouTube’s application layer was modified so that before executing any database operation, the code could identify the right database shard to receive that particular query.

Vitess let YouTube remove that logic from the source code, introducing a proxy between the application and the database to route and manage database interactions. Since then, YouTube has scaled its user base by a factor of more than 50, greatly increasing its capacity to serve pages, process newly uploaded videos, and more. Even more importantly, Vitess is a platform that continues to scale.

View Details

Listen to the full episode on SERadio: https://www.se-radio.net/2020/06/episode-413-spencer-kimball-on-cockroachdb/

Previous two parter on Spencer: 

  • https://swyx.transistor.fm/episodes/consistent-synchronous-replication
  • https://swyx.transistor.fm/episodes/spencer-kimball-pt-2-competing-with-big-clouds

View Details

Listen to the full interview on SEDaily: https://softwareengineeringdaily.com/2021/06/28/timescale-time-series-databases-with-mike-freedman/

We originally created Timescale, really from our own need. Around that
time, 2014-2015, my co-founder and I, Ajay Kulkarni, who we go back many years, we resynced
up and we started thinking about it was a good time for both of us to think about what the next
challenges are that we want to tackle. It seemed to us that there was this emerging trend of
now, people talk about the digitization, or digital transformation. It feels like somewhat of an
analyst term, but I think, it's really responsive of what's happening, in that if you think about the
large, big IT revolution, it was about changing the back office. What was used to be on paper
was now in computers.

What we saw was somewhat the same thing happened to basically, every industry, from heavy
industry, to shipping, to logistics, to manufacturing, both discrete and continuous and home IoT.
Sometimes this gets blurred under IoT, but we also think about it more broadly as operational
technology, those which are not necessarily bits, but atoms. A big part of that was actually
collecting data of what those systems were doing. It's about sensors and data and whatnot.
When we do Initially looked at this problem, we were thinking about a type of data platform we
would want to build, to make it easy to collect and store and analyze that type of data. I think
that's a way that we're slightly different, or why our – what we ultimately built as our database
ended up being fairly different than a lot of other so-called time series databases. That's
because many of them arose out of IT monitoring, where they were trying to collect metrics from
servers, where we were originally thinking about collecting data more broadly from all these type
of applications and devices around your world.
When we started building it, it was originally focusing mostly on IoT. We quickly ran into this
problem that the existing databases out there and the time series databases out there were not
really designed for our problems. They were often much more limited, because they were
focusing on this narrow infrastructure monitoring problem, where the data maybe wasn't as
important. It was only a very specific type. Let's say, they stored only floats. They didn't have to
have extra metadata that they wanted to enrich their data to better understand what was going
on, like through joins.
After, basically working on this platform for about a year, we somewhat came to the conclusion
that we actually need to build somewhat of our own time series database that was focusing on
this more broad type of problem, and so that's what we do. That's what led the development of
what became Timescale.

JM: Today, what are the most common applications of a time series database?

Like and speak mostly about obviously, TimescaleDB, rather than – as I was
alluding to before, a lot of the other time series databases are much more narrowly focused on
IT monitoring, or observability. We really see our use cases across the field. We certainly see
cases of observability. In fact, we have subsequently built actually a separate product on top of Timescale called Promp scale, that is really used for initially Prometheus metrics, but more
broadly, to make it easier to store observability data with TimescaleDB.
We see still a lot of IoT. We see a lot of logistics. We see financial data and crypto data. We see
event sourcing. We see product and user analytics. We see people collecting data about how
users are using their SaaS platforms. We see gaming analytics, where companies are collecting
information about how people's virtual avatars are actually playing within the games. We see
music analytics. We like to think of the old way, used to find the pop stars, you went down to the
smoky club. Now you collect SoundCloud and Spotify streams, and you use that to identify who
the next breakout artist is going to be.
All of these are example of time series data. It's really what's so exciting to us as is it's such a
broad use case, so horizontal, because basically, it's all about collecting data at the finest
granularity you can.

Tell me about the initial architecture for TimescaleDB. You’re based off of
PostgresSQL. What was the reasoning around that decision?

I think, as you point out, Timescale is actually implemented as an extension on
PostgresSQL. Starting maybe 10 or 15 years ago, PostgresSQL started exposing low-level
hooks throughout its code base. This is not a plugin where you're running a little JavaScript
code. We have function pointers into – we get function hooks into the C. PostgresSQL is written
in C, and so TimescaleDB is, for the most part written in C. We have hooks throughout the code
base at the planner, at sometimes in the storage, at the execution nodes. We are able to insert
ourselves and do Lot of optimizations as part of the same process.

You could ask the question of why not just implement a new database from scratch? Why build
it on top of PostgresSQL? I think this really gets to that, we always viewed ourselves as, and we
hear this from our users and community all the time that we are – they are storing critical data
inside TimescaleDB, and they need it to, A, work and be reliable. They also need it to be – they
have a lot of use case requirements. It’s not this, again, narrow thing where you're collecting
one metrics, and all you're asking to do is figure out the min-max average of a certain metric.
You want to do fancy analysis. You want to do joins. You want to do sub queries. You want to do
correlations. You want to have views. You want the operational maturity of a database. You want
transactions, backup, and restore, and all of the replication and all of the above. Some people
say, it takes maybe 10 years, at least, to build a reliable database. We thought this was a great
way in order to immediately gain that level of reliability, we ourselves are huge fans of
PostgresSQL. It has such a great community. It also has such a large ecosystem.
The idea is that effectively, that entire ecosystem would work from us on day one. That means,
all of the tooling, all of the ORMs, all of your libraries would just work. If we support full SQL, not
SQL-ish. If you know how to use SQL, you could start using – and if your tools speak SQL, if
you're running Tableau, if you're running Power BI if you're running Grafana, if you're running
Superset, those all just start working on day one.
Now, the second part of it is, well, what does that mean to build a time series database on top of
PostgresSQL, which clearly was designed more as a traditional transactional database, OLTP
engine? Sometimes they talk about you think about this architecturally. What I mean by that is
you somewhat think about what your workloads look like and what that would mean from a
software architecture. Maybe I'll give you a very concrete example. Starting maybe 10 or 15
years ago, if you look at traditional databases, you started seeing the growth of what people
commonly now called as log structured merge trees, LSMs.
This is a data structure that goes back to the mid-90s, but I think you first saw Google, Jeff
Dean and Sanjay Ghemawat built something called LevelDB. The whole idea of an LSM tree
was, if you look at a workload that has a lot of updates, so with a lot of e-commerce
applications, with a lot of social networks, you're constantly updating things. Traditional
database, if you think about a disk, if you're doing a lot of in-place updates, and these updates
are randomly distributed across all of your user IDs, this means that you're going to cause your
disk to do a lot of random writes on hard drives, that's particularly bad. You need to move the
disk.
Even on SSDs, it doesn't do great, because SSDs still do a lot better to have sequential writes
than random writes, the way the internals of SSDs work. You started seeing this new type of
database architecture called LSM trees emerge, because people wanted to build databases that
had a lot faster updates. On time series databases, on the other hand, don't typically have this
type of workloads.
If you think of a stream of new observations, with the timestamp, these are typically about
what's happening now. It's typically about a stream of inserts that are about this stock price now,
this stock price now, this stock price now, or different, or a 100, or a 1,000, or a 100,000 different
sensors all about what the recording right now.
If you think about how you would then design the internals of your database and the data
structures, when most of your rights are insert heavy, and particularly about the latest time
interval, then what that would mean is the somewhat internal structure of your data should
reflect that. You should optimize your insert path to make it super-efficient to perform inserts on
the latest time interval. It doesn't have to be perfectly in order, but it mostly is about what's
happening recently, as opposed to what's happening a year ago.
That said, Timescale absolutely allows you to backfill data and perform updates, or deletes to
older data. It's just from a performance perspective, keeps all the recent stuff in memory and
builds more efficient data structure to allow you to insert at much higher rates. For example, on
a single machine, if you're collecting a stream of records, eat for several, let's say 10 metrics,
you'll be able to collect even once 2 million metrics per second on a single, pretty standard
machine.

Then we see this again and again, the way we think about architecting Timescale is, is really
thinking about what the workload looks like, that people often care about recent data. The way
they want to manage their data changes as that data ages. They might want to optimize for
even fast queries for the recent stuff. They might want to start reorganizing their data as ages.

They might want to start automated automatically aggregating the data as it ages, and dropping
the raw data for the very old stuff to save space. All of these things are what you'd want in a
good time series database, when it's not what you want from either a traditional OLTP database,
nor if you have a traditional data warehouse, or an analytical database, which doesn't think of
this operational view of time series so central to it.

View Details

Listen to more on the StackOverflow Podcast: https://stackoverflow.blog/2021/08/06/podcast-364-mark-porter-mongodb-database/

Transcript

markporter

[00:00:00] swyx: This is Mark Porter, the CTO of Mongo DB on his personal journey from relational databases to Mongo DB.

[00:00:06] Mark Porter: I am a relentless tech geek. I've loved tech my whole life. In fact, my Twitter handle is MarkLovesTech. I have used databases since I was 14 with some really ancient technologies started out on a 4k TRS 80 model one computer.

We had to program it in assembly language because there wasn't enough memory to use the local basic copy. And I very quickly got into databases and I was talking to someone the other day and he pointed out something I'd never noticed, which is I've oscillated between using databases and building database.

So I started out at Caltech and NASA using databases for space, data, and chip data. And then I built databases at Oracle versions, 5 6, 7, 8 for about 13 years. And then I used databases at NewsCorp for huge student data systems. And then I built databases at Amazon with Amazon RDS. Then I moved to Grab taxi, which is the Uber of Southeast Asia and use databases to deliver 15 million rides and meals a day, and then came back to Mongo DB.

And here I am building databases again. I frankly can't get away from this thing.

[00:01:20] Ben Popper: I love that story. I wonder. Does that mean. You know, at each point you had some sort of frustration or saw some sort of like opportunity for innovation, you know, you kind of would build something, then you'd be the user of it.

Then you'd realize that like the next sort of turn of the wheel was coming. As you move between those jobs where new paradigms and databases and murders.

[00:01:38] Mark Porter: Yeah. I mean, it's been really interesting. Half of my career. I've been the Bo and half my career. I've been the target. And I got to tell you that sometimes as a customer, you're not really happy being the target of what has been produced.

Look, the reality is, is relational databases have been the modus operandi since 1970, when Cod first did his paper. And then Oracle was the first company that released them in 1979. They were actually known as relational technology back then and then changed their name later to Oracle. So the mission criticality of databases has never been in doubt.

What has changed is the amount of data, the way we process that data. And what's really, really important. And it used to be duplication of data was important and things like that. And while that's still important, what's really important. Now is developer product. Bar none. That is job one for any mission critical software company is developer productivity and innovation

[00:02:35] Ben Popper: makes a lot of sense.

It does seem like data has become almost this, uh, overwhelming force for some companies. Ryan. I know if you have experience with this, but I've been getting a lot of pitches and, and talking with folks on the podcast and you know, it's gone from, we're using data to, we have data lakes and there's a data iceberg.

And, you know, we're only sort of scratching the surface of what we might be able to do with this. Endless flow of unstructured data that we're collecting. And as you mentioned, yeah, a lot of times what they're looking to do is understand it in a way that allows them to enhance productivity or automate certain processes, which right now are very time labor intensive.

Yeah. Yeah. At my previous job, I worked out on an article about data pipelines and, you know, ETL processes and that yeah. There's a becoming a separation, I think, between your production database and the database you use to gain insights, right? Then the production database has to be fast. But the insight database, it can be a little more flexible in how it produces data, right?

[00:03:34] Mark Porter: Yeah. So we think about systems of record. We think about systems of insight and yeah. I mean, definitely different people want to do different things with the databases. And so what we do is we think about personas. Are you an analyst? Are you a developer? Are you an AI ML engineer? Are you a PhD data scientist?

We always try to come at it from the customer and what they want to accomplish. Yeah,

[00:03:56] Ben Popper: I think that's so interesting because as you said, obviously, databases have always been part of working in the world of software and computers, but increasingly there are these specialties that are very important in which are producing these really interesting results that themselves are devoted to data, as opposed to it being something that, you know, needs to be part of the larger process.

Um, so mark, I wanted to touch on something, which is that you had a part of your career at AWS, which now, you know, has grown into. Quite a behemoth. Um, yeah. Just wondering if you can talk to us a little bit about what you learned there and maybe how some of that applies to the role you have at, at Mongo DB.

[00:04:26] Mark Porter: Yeah. So I joined AWS as the general manager of AWS RDS, which at that time was probably the largest fleet of databases in the world. And that fleet grew just tremendously while I was there. It was, it was amazing, you know, just showing. That it's not just databases. It was managed databases that mattered.

So RDS did not build any of its own databases, RDS vended. By the time I left over a million significantly more than a million Postgres, my SQL Maria DB, Oracle, and SQL server databases. And so the product that we produced was managing those databases and people love it when their database stays up. When the backups and restores work, when you can change parameters when fail over works and all those things.

However, over time, as much as I loved running those databases, I became frustrated with how they were shackles almost on customer innovation and customer operability. And so we developed this system called Amazon Aurora, which changed out the storage system underneath Postgres in my SQL. Obviously we couldn't do that for the commercial databases and we made those databases so much more resilient, so much more durable, so much more available, but we kept running into the fundamental limit.

Of a rigid architecture of high fail over times and a single primary architecture, which meant that the blast rate. Of a system going down or play in changing in Oracle database. I mean, it takes down a whole company and I can talk more about availability. In fact, you'll have trouble stopping. When you talk to you about availability, if you get me started

[00:06:09] Ben Popper: well, I mean, that's, that's the, uh, the big thing about a no SQL is, is availability, right?

The replicability, the speed of access. Yeah, for folks who don't know, let let's lay out the value prop here. Like what is sort of the difference between the two and why would you prefer one over the other? You know, you mentioned shackles. I love that word, but yeah. You know, what are the limitations that it allows you to avoid when you, when you move to a new SQL and I guess, you know, to the degree that it makes sense.

Yeah. Talk a little bit about availability or I guess, you know what I would say, it's almost like how robust your system can.

[00:06:41] Mark Porter: So I do think availability is really important, but from, just from a value prop point of view, the main reason that no SQL was started was multiple things. Number one, was this platform availability.

I actually think you guys had a podcast with Elliot about a year and a half ago where he talked about the founding of Mongo DB. And I will give a shameless plug for one of your other podcasts, which, which is a great podcast that Elliot did. And. You know, in it, he talked about the fact that they want to do 400,000 transactions per second, and there was no way they could do it, but along the way, they did something even more important, which is they developed the document model.

And the document model is just a natural way to program. When you want to add a field to a no SQL application that you're writing. You just added in your code and your structure in your, in your structure in Java or go or rust or whatever. And the database automatically starts having that field. So it's not just about availability.

Now to get to your point about availability, Mongo DB uses what's called a sharding architecture or a replica set architecture where you can't actually configure a Mongo DB that doesn't have three nodes and those nodes automatically do elections and they automatically start up. And as opposed to relational databases where fail over is measured in 30 seconds, 60 seconds, 90 minutes, 10 seconds.

Fail-over in Mongo. DB is measured in single digit seconds, RP 99.9 election time. And our outlet service is less than seven seconds. And why is that important? Because when an app is down for three to five to seven seconds, people go, huh? What happened? What's going on? On my phone. When it's down for 60 seconds, they've already visited another website to complete their purchase.

And so there's a fundamental difference. So the ability to stay up and the ability to, to be available is thing one, the second ability is the ability to scale without limit. We have customers running a petabyte. In Mongo, DB clusters. And with over a thousand nodes, you just can't do that with the relational, even Aurora, which I just got to tell you, I love deeply because I helped architect it.

You have one writeable master or primary and up to 15 read replicas. And if you run out of the ability of that master or primary to take right. You're done. You got now split your database and do crazy stuff. So those were the fundamental premises of databases. So, but the thing that's really missing there is that developers love databases, but developers do so much more than just store and retrieve data developers want to do graphs.

Developers won't do analytics. Developers want to have a connection to their mobile device. They want to do all this. So what we're doing at Mongo DB and sorry for the brand plug, but I I'm pretty passionate. Yes, we're building an application data platform where the. Correspondence between what we produce and our main persona, the developer we're trying to get to a hundred percent.

[00:09:44] swyx: I think this conversation was exceptional, not just because one of the key criticisms of Mongo DB is always from the SQL folks who just say that in the Mongo DB script, kiddies don't really know SQL one now. So they picked Mongo DB. This is a guy who definitely know SQL and is still in love with Mongo DB, but also this is a CTO who's clearly in love with the technology his company represents. And I think there's just not enough of those. I see so many resting investing CTOs were basically completely checked out and not really inspirational leaders or the company. And I think there should be more CTOs that are exactly like my Porter.

View Details

Watch on https://www.youtube.com/watch?v=iJIc16aqpO8&t=642s

View Details

The Petersens: https://www.youtube.com/c/ThePetersens/about

  • Take Me Home: https://www.youtube.com/watch?v=qap9Qm-Q894
  • Jolene: https://www.youtube.com/watch?v=viQx4KDivPY
  • Landslide: https://www.youtube.com/watch?v=joUwy8lpvP0

View Details

Listen to his full interview on the Lex Fridman podcast: https://www.youtube.com/watch?v=1YbcB6b4A2U

Bryan's wiki: https://en.wikipedia.org/wiki/Bryan_Johnson_(entrepreneur)

View Details

Listen to the Cloud Giants podcast: https://www.listennotes.com/podcasts/cloud-giants/jeff-lawson-co-founder-and-sFi-ad_etHQ/#

View Details

Listen to the NFX podcast: https://www.nfx.com/post/the-insider-story-of-waze/ (28 mins in)

View Details

Listen to the OSS Startup Podcast for the full episode.

References:

  • Heptio's acquisition in 2018 "It’s not clear how many customers Heptio worked with but they included large, tech-forward businesses like Yahoo Japan."

View Details

  • Superman Lives: Part 1, Part 2
  • Tim Burton: https://www.youtube.com/watch?v=fKbAEmvZyKQ

View Details

Wiki: https://en.wikipedia.org/wiki/Walk_off_the_Earth
- 2011: Someone Like You (5 People 1 Guitar) https://www.youtube.com/watch?v=d9NF2edxy-M
- 2018: Girls Like You https://www.youtube.com/watch?v=e3PcnNiWygw
- 2020: A History of the Beatles https://www.youtube.com/watch?v=rfOx4CmQWLs

View Details

From the Psychology Podcast again: https://www.listennotes.com/podcasts/the-psychology-podcast-with-scott-barry-10LF_aSGfEg/#search

View Details

Source: https://www.listennotes.com/podcasts/the-psychology-podcast-with-scott-barry-10LF_aSGfEg/#search
Source: https://freakonomics.com/podcast/frbc-robert-cialdini/

View Details

Listen to the Pyschology Podcast: https://scottbarrykaufman.com/podcast/robert-cialdini-the-new-psychology-of-persuasion/

Steph Smith's book:

  • Announcement Tweet: https://twitter.com/stephsmithio/status/1418320255429062661
  • Launch Tweet: https://twitter.com/stephsmithio/status/1411047949094637569
  • Doing Content Right: https://stephsmithio.gumroad.com/l/doing-time-right

## Social Proof

The next principle is what we call social proof. The idea that one way we decide what we should do in a situation is not proof that comes from some empirical or logic. Uh, information that we've received, it comes from social information. What are the people around us like us doing in this situation that allows me to reduce my uncertainty about what I should.

In this situation. Uh, so, uh, for example, uh, a study done in Beijing shows you the cross-cultural reach of this, uh, restaurant managers at one string of restaurants, uh, in, in, in China, put a little asterisk next to certain items on their menu. Uh, and each one immediately became, um, 13 to 20%, depending on the idea.

More likely to be purchased. So what did the asterick stand for it? Wasn't what we normally see, which is, this is a specialty of the house, or this is the chef's selection for this evening. It was, this is one of our most popular items and each became 13 to 20% more popular for its popularity. And so. One way as a communicator of genuine information that we can give to other people is to say, we have a lot of popularity for what we are doing and give them examples of that or percentages or market share or this sort of thing.

And that always is, uh, an easy way for people. To take the shortcut to yes. Oh, okay. Then I don't have to continue to calibrate it. Yeah. And, and, and, and, uh, thinking about the pros and cons of this, the majority of people like me like it. So that's a shortcut. Yes.

But there's some new research. Now, my team is responsible for some of it that takes the principle of social proof to a nother level. And. It is that suppose you have a startup or you have a new product or service or an idea, a new initiative, you would like people to, to join you in. But because it's new, you can't point to social proof. The social proof is minimal. I mean, it's actually negative that a lot of people are doing it.

Is there anything you can do under those circumstances? It turns out it is. Even if you don't have, even if you only have a minority or a small minority of people who have adopted it, because it's a good idea, you have to have a good idea. But if it's a good idea, you get the show, a trim who that minority position, if it's only 20% of the market, that's interested in the, if you just say 20%, that's a statistic. If six months ago, it was 10%. That's a difference and that's much better.

But if you say six months ago, what was 10%? Three months ago, it was 15% this month. It's 20%. The same 20% is the end point of a trend.

And people project the function of a trend into the future. So that for the first time you have the leverage of something, we didn't know the label of before future social proof in the research that we did that showed that if you give people a trend to 20%,

They are more likely to say yes to it, right?

Because they expect in the future, it will be more than 20%.

If you've got a good idea with that kind of ability to move people upward in a trend, you'd be a fool of the influence process. Not the honestly, give them three. Data points. One data point is a statistic, two data points, a difference, three data points, a trend.

## Scarcity

People want more of those things they can have less of. And, uh, w one reason that is the case, I think applies to, uh, what Daniel condoms. It has won the Nobel prize for demonstrating. And that is the power of loss aversion, uh, as opposed to, so that we are more in his prospect theory, says the prospects of losing something are more motivating to us than the prospects of gaining that same thing under conditions of risk and uncertainty.

Yeah. You know, I was on a, uh, at a conference where, um, I was in a program to be interviewed, uh, with, uh, Richard Thaler and Daniel Kahneman. And me. Right. And I said to the interviewer, you know, I feel like I'm in a Nobel Laureate sandwich.

I'm the lettuce. That's hilarious. I mean, those are big hitters. Those are, those are big hitters. Uh, anyway. Yeah. Yeah, so, Hey, thank you. But, uh, what Kahneman says is this loss aversion, well, that's what scarcity, the basis of scarcity is your F if something is scarce or rare or dwindling and available availability, you're afraid that it will be lost to you.

And so, yeah. That's the reason people want those things, uh, that have those characteristics. And, uh, there was a study done of, um, 6,700 E commerce websites. And they looked at AB tests within them to see, which were the factors that if they included it or withdrew, it had the made the biggest difference.

In, uh, conversion from, uh, prospect to customer, it was scarcity. Here's the thing. If you could honestly say that the, we have a limited number of these at this price or with these features or with this payment plan or whatever it was, um, you got significantly more, um, uh, Conversions than any other feature they looked at at 29 of them, by the way, the next five where the other principles of influence nice that scarcity was at the top of those principles provided that it was scarcity of number, not scarcity of not limited time. So it was a limited number of items.

Rather than, oh, you can only get this for a one week. If you can get it for one week, that means you can decide to get it any time in that week. If it's a limited number and there's competition for it, therefore you better move now. And that's the reason limited number is more successful in limited time off.

View Details

Listen to the Jordan Harbinger Show: https://www.jordanharbinger.com/robert-cialdini-a-new-look-at-the-science-of-influence/

View Details

Sources:

  • Back to the Future: https://www.youtube.com/watch?v=e8TZbze72Bc
  • Predator: https://www.youtube.com/watch?v=_Z4ll94hN_E
  • Death Becomes Her: https://www.youtube.com/watch?v=YsKDxRrscg4
  • Forrest Gump: https://www.youtube.com/watch?v=FcOt6mfjxeA
  • Captain America: https://www.youtube.com/watch?v=qrXwAeJ87Bk
  • Avengers: https://www.youtube.com/watch?v=J1VgF9ysbM8
  • Avengers Infinity War: https://www.youtube.com/watch?v=GY4mGgfc0Ag
  • Avengers Endgame (Portals): https://www.youtube.com/watch?v=F_mhWxOjxp4

View Details

Watch Charles' full talk: https://www.youtube.com/watch?v=Ja9D0kpksxw

Apologies for the bad sound, I moved house and lost my microphone for a while. I'll get it back.

Response from a listener (DaveJ on our Discord):

@swyx enjoyed the last mixtape about Cardano. You closed with the same thoughts that I had initially about academic peer review and how it could slow down progress and network building. I was looking at it through the lens of the usual startup advice "ship quickly and iterate to PMF". You might be coming from a different angle. Charles Hoskinson has talked about this before and here is a summary of his points that appealed to me.

  1. Proof is in the pudding. Cardano's main competitors are Ethereum and Polkadot. Ethereum has been trying to do PoS a year longer than Cardano, Cardano shipped PoS first despite the fact that they did it through peer review. Polkadot copied Cardano's PoS protocol for their ecosystem. So Cardano's competitors either copied them or took longer to get to market despite the fact that they are following a startup-y "move fast and break things" mentality.

  2. Code is law. Rigour is important in a way that you don't usually see in startup-land. Blockchain is immutable. Making unplanned changes is very difficult and recovering from mistakes is often not possible. For this reason, rigour is super important when designing protocols. Having hundreds/thousands of blockchain/math/CS academics read and peer review your paper provides some of that rigour. Also, because of the compositional nature of blockchain protocols, upfront investments tend to compound over time. I now think academic peer review is a net positive for Cardano (against my initial intuitions). Still though, Bitcoin and Eth were around first and have a head start in network building. Perhaps the inflection point has been hit and the winner(s) are already decided. It doesn't feel like that though. It feels like we're only getting started.

Here is the source: https://www.youtube.com/watch?v=CuKhyz280zA&t=2795s

View Details

Listen to Software Engineering Daily: https://softwareengineeringdaily.com/2021/04/07/chainlink-connecting-smart-contracts-to-external-data-with-sergey-nazarov/

Transcript

JM: Tell me a little bit more about the data sources for Chainlink. Like how do those
data sources get vetted and how does the data make its way onto the chain?

SN: Right, absolutely. So there're actually two approaches here and I think they're
both important and the flexibility of how you acquire data is important. The first approach is that
you have an oracle network and that oracle network is a collection of nodes that are incentivized
just like blockchain miners and Bitcoin miners are incentivized. Those nodes are incentivized to
go out and get accurate data in order to generate the most accurate, highly reliable result
possible.

In the first version of how data is put into a smart contract, this oracle network of anywhere from
seven to over 30 nodes basically goes to an API at a data provider that is considered a highquality data provider. Often that's determined by users. So users will say, “Hey, we want that data provider.” Chainlink also has a reputation system where we track how well each node, and even more and more now how each data provider is performing. And so better data providers
get to continue selling their data to Chainlink networks, whereas worst data providers are kind of
not as used by node operators because they're either not responsive or not returning the right
results. And so there's actually a reputation system baked into Chainlink, and it's quite
fascinating because the system inherently puts all of the data on chain and generates a lot of
proof about what's going on with the oracles.

In any case, in the first variant of the system you can go to any data provider, you can go to
really any API in the world and you can request from it and you can come to consensus on the
data from that source assuming you can get other sources or you can come to some model of
consensus that the user wants around that data. And that doesn't require the data provider to do
anything, right? So the benefit of this system is that you have a layer of consensus and you
have a lot of proof that the data was acquired from a data provider and the data providers don't
need to change anything about their infrastructure, right? So the data providers just continue to
provide their APIs, operate the way they have always operated and just do what they're
supposed to be doing. This is the system through which a good amount of the data is acquired
and then the data providers are more than happy to sell their data to Chainlink nodes because
it's consumed into these applications which they're all excited about.

The second version is when a data provider runs their own Chainlink node. And what that
basically means is the data provider gets a lightweight signing appliance. They basically get a
lightweight signing application that allows them to connect their APIs internally to their own
official node. And then that node publishes a contract on-chain, and that on-chain contract is a
representation of that data provider. So now there's an on-chain contract that's the
representation of that data providers services. And that on-chain contract gets requests from
other smart contracts for data to be given to them because, once again, a blockchain cannot
talk to an API. A blockchain has to have an oracle to speak with any API in the outside realworld.

And so the second variant is where data providers that are more interested in kind of selling
their data to the blockchain ecosystem or more convinced about that, and we have many data
providers already doing this live. We have data for sports events, weather events, market
events, all kinds of things out in the real-world already live on production with data providers
running their own production nodes. This variant allows you to get data essentially directly from
an official node run by a data provider. It has the benefits of getting data directly from a data
provider running their own node. It has the limitation in that the data provider now has to be able
to make sure that they are properly connected, that their APIs stay up according to the node and
all these other kinds of nuances. The benefit that they get is they are connected to many
different chains all at once. And in reality this variant basically requires the data provider to want
to opt-in to some kind of infrastructure. It requires them to want to say that, “Hey, I want to kind
of run a function in the cloud or I want to run some kind of node myself and I want to make a
technical investment in that.”

What we found so far is that the majority of data providers just want to sell their data to
somebody and they want to provide that to an oracle network that just retrieves their data and
sells that data successfully to a smart contract. There are some data providers that want to run
their own node and we're working with a lot of those, but I think that's something that's going to
evolve more slowly.

[00:16:33] JM: You mentioned this reputation system for how data gets verified as quality. How
does that reputation system work? How do you vet and ensure quality data?

[00:16:45] SN: So once again there's two levels. There's one level of the node operators and
assuring that they're operating properly and then there's the level of the data providers
responding properly. In terms of the node operators, the way that the Chainlink system works is
that node operators are committing to certain service level commitments, right? They're
basically, in many cases, on-chain committing to a certain degree of service. And they're
committing to that because the on-chain activity that they do is immediately public to everybody
as soon as it happens.

So I think the big nuance difference between a reputation system in the web world and a
reputation system in the blockchain world is that data is immediately available publicly. It is
immediately available for people to know that a node did not respond for a certain period of
time. And that lack of response is recorded on-chain immutably for everybody to analyze. And
we actually have multiple ecosystem teams. We have multiple kind of block explorer-like things
and marketplaces that are all able to analyze the same data about both node operators and
data providers.

So basically the way that it looks is that the node operators are expected to perform to a certain
degree on-chain. Those expectations are clear. They are then able to perform, or in some cases
if they're not able to perform, they are not able to stay on that oracle network. And then the data
providers themselves, for the ones that run their own nodes, it becomes pretty clear what their
responses, are and if their responses are often wrong, then you know once again that data
provider and their node might not be used in an aggregation. They might not be applied to that
aggregation.

In the cases where a node operator gets data from a data source, a lot of that data is actually
more internal to the oracle network and that data is something that's in the process of getting
published on chain. So there is a certain amount of insight that node operators have about the
responsiveness of different data providers and different data sources. At this point the reputation
system extends to node operators and to the node operators that are data sources. It will
continue and is already being extended to cover data providers. And that's another kind of piece
that's coming and is already working for node operators in how they choose data providers and
is something that's going to be made more public.

[00:19:13] JM: Let's talk a little bit about the architecture of Chainlink. Can you tell me about the
different types of smart contracts that are stood up to compose what Chainlink operates as?

[00:19:26] SN: Sure. Sure. I think the simplest way to think about Chainlink is that you're
creating an on-chain interface between an off-chain service resource or computational
environment. So what you're really creating is you're creating an on-chain contract that can
receive transactions from other contracts that basically request specific types of data, specific

types of computations like randomness and in many cases require you to make a commitment
to provide that, right? And it actually varies in terms of the use cases.
So there're variants of chain-link networks that create something called reference data.
Reference data is a piece of data that's used by many different contracts, and we have some of
the top defi protocols using our reference data to settle their protocols and transactions and in
lending and derivatives and insurance and various other financial products. And what reference
data does is it creates an on-chain aggregation from multiple nodes and then that aggregation is
then provided through an interface, through another interface that allows people to read that
data and to use it in their contract. So that's one way to interface with Chainlink validated data.
Another way to interface is something called the request model. The request model is when you
actively request a specific computation, a specific piece of data, a specific randomness from
something like Chainlink VRF where you basically have a designation, a job ID that you feed in
and you use to trigger a request. So I think that the nuance around understanding what oracle's
do and what Chainlink is is around both the interface, the interface that allows people to
consume all this data in different ways, and it's kind of a roundabout answer to your question
because it's as varied as the different use cases want to consume data, which is quite varied,
and also the type of data they want to consume.
And then this interface is replicated across all the different blockchain environments, but in
many cases goes back to the same kind of core oracle network for that piece of data and then
that retrieves the data from specific sources. But I think the simplest way to think about an
oracle in an oracle network is that you're creating an unchained contract that is acting as the
interface. Just like APIs are an interface into people's web backends, oracles are kind of another
onion layer on top of APIs that act as the interface for people to interact with those services from
a smart contract. And those interactions are very varied. They can be on a schedule where you
tell the interface that you want them to send data at a certain point in time. Or in some of our
keepers functionality we actually can watch contracts and the oracle network chooses when to
send them data based on the certain conditions that contracts have or haven't met. And so it's
more and more advanced depending on how people want to receive the data or how they want
the off-chain service to interact with them.

View Details

Source: https://www.youtube.com/watch?v=XW0QZmtbjvs

Transcript

[00:00:00] swyx: Part two of my cryptocurrency exploration is on scaling blockchains. And I think if metallic is probably the best and most articulate person to talk about this.

[00:00:09] Vitalik Buterin: There's two major paradigms for scaling blockchains. Right? As you said, we are one and layer two. And layer one, basically means, make the blockchain itself, like it capable of, uh, processing more transactions by having some mechanism by which you can do that. Despite the fact that there's a limit to the capacity of each participants in the blockchain.

[00:00:29] And then what you're two says, while we're going to keep the blockchain as. But we're going to create clever protocols that sit on top of the blockchain that still use the blockchain. And it's still kind of inherit things like the security guarantees of a blockchain, but at the same time, a lot of things that are done off chain.

[00:00:45] And so you get more scalability that way. Um, so. In Ethereum, the most popular paradigm for layer two is roll-ups and the most popular paradigm for layer one is charting.

[00:00:54] Lex Fridman: So one way to achieve layer one scaling is to increase the block size, hence the block size wars quote unquote, and a, you actually tweeted something about.

[00:01:06] Uh, people are saying that Vitalik changed his mind about in, he, he went from being a S

[00:01:13] Vitalik Buterin: small. I went from being big to small. Is it big to small?

[00:01:16] Lex Fridman: And, uh, but you said I've been a medium blocker all along. So maybe you can also comment on, on work, on the very basic aspect before we even get to sharding of where you stand.

[00:01:27] Block

[00:01:28] Vitalik Buterin: size debate. Sure. So the way that I think about the trade-off, as I think about it as a trade-off between making it easy to write to the blockchain and making it easy to read the blockchain. Right. So when I say read, I just mean, you know, have a node and actually verify it and make sure that it's correct.

[00:01:43] And all of those things. And then by right. I mean, send transactions. So I think for decentralization, it's, it's important for both of these tasks to be accessible. And I think that they're like about equally important, right? If you have a. Too expensive to read, then everyone will just trust a few people to read for them.

[00:01:59] And then those people can change the rules without anyone else's permission. But if on the other hand it becomes really expensive to write. Then everyone will move on to like basically second layer systems that are incredibly similar. And that takes away from, you know, decentralization and self sovereignty as well.

[00:02:18] So this has been my viewpoints, like pretty much the whole time, right? It's like, you know, you need this balance and going in one direction or the other direction is very unhealthy in the Bitcoin case. Um, basically what happens was that Bitcoin originally. Like at the very beginning, it didn't really have a block size.

[00:02:33] It just had an accidental block size of 32 Meg or oxides limit of 32 megabytes because that just happens to be the limit of the peer-to-peer messages. Um, but then I didn't even know that part. Yeah. But then, um, so Toshi back in 2010 was worried that even 32 megabyte blocks would be too hard to process.

[00:02:51] So he, uh, put the limit down to one megabyte and, you know, I think the. You mean sneaked in there? Yeah. Just like made an update to the Bitcoin software that made blocks bigger than one. I think it's a million bytes invalid. And I think the impression that most people had at the time is that, you know, this is just a temporary safety measure and overtime, you know, as we become more confident in the software, that limit would be like raised some, uh, somewhat.

[00:03:21] Um, but. That then when the actual usage of the blockchain started going up, and then it started going up first to 100 kilobytes per block, then to two 50 kilobytes per block, then to 500 kilobytes per block. Now let me know there started a kind of coming out of the woodworks, this opinion that like, no, that limit should just not be increased.

[00:03:42] And, and, you know, then there are all of these attempts at compromising, right? Um, No first, there was like a proposal for 20 megabyte blocks. Then there was the two for eight proposal, which is, um, a bit ironic because the 2 48 proposals started off being like a small block negotiating position. But then when the big law people came back and said like, Hey, why aren't we aren't we going to do this?

[00:04:05] They're like, oh no, no, no, we don't want them. We don't want the block size increases anymore. Uh, so, you know, there were these two different positions, right? The small blockers, I think they valued one megabyte blocks for two reasons. One is that they just like really, really believe in the importance of being able to read the Chan.

[00:04:22] But two is that a lot of them really believe in maintaining this norm of never hard forking. Right? So the difference between a hard fork and a soft fork is basically that Ian, a soft fork, um, blocks that were. Any block that's valid under the new rules that were still valid under the old rules. So if you have a client that verifies according to the old rules, then you'll still be able to accept the chain that follows the new rules.

[00:04:48] Whereas with a hard fork, like you have to update your code in order to stay on the chain. Uh, huh? They have this belief that it'll soft forks are kind of either less coercive than hard forks, which by the way, I completely disagree with, um, I actually think soft forks are more coercive because like basically they force everyone who disagrees to sort of go along by default.

Rollups

[00:05:11] Vitalik Buterin: So this might be a good time to talk about roll-ups. What

[00:05:13] Lex Fridman: are roll-ups? Okay. Now we're moving into layer

[00:05:16] Vitalik Buterin: two ideas. So the idea behind a roll up is basically that. So instead of. Just publishing transactions directly on chain and having everyone, you know, do all of the checking of those transactions. Um, what you do is you create a system where users send to their transactions to some central party called an aggregator.

[00:05:44] And like, well, theoretically, you could have a system where like the aggregator, so which is arounds or where anyone can be an aggregator. So, you know, it's still like permission to us to send things. Um, then what the aggregator does is. Strip out all of the transaction data that like is not relevant to helping people update the state.

[00:06:03] So when I say the state, this is like, this is a very important, it's kind of technical term from blockchains. I mean like account balances, code, um, like things that are. Memory internal memory of smart contracts. So like basically everything, the blockchain actually has to keep track of it. Right. So ju you're just still put in, um, you take it, oh, these transactions strip out all the data.

[00:06:27] That's not relevant to telling people how to update the state. And then you take the data that that's needed to update the state. And then you were like really compress it. Right? So like, for example, if we say. I Vitaly like having accounts that's zero X, AB five eight, blah, blah, blah, blah, blah. And it's 20 bytes.

[00:06:43] Well, instead we can say, well, I have an account that is number 1, 8, 7 4 2, 2 4 in the tree. Right. And that goes down from 20 bytes to just like an index and a position, which is three bytes. Right? So you use all sorts of these fancy compression tracks, then you basically just, instead of publishing all these transactions, you publish this like tiny compressor.

[00:07:03] So the amount of data that goes on chain goes down by maybe about a factor of 10, right? And then the second thing is that you don't do the computation on chain instead of you do the computation off chain. And there's one of two ways to do this, right. One is called a ZK roll up, which is you would just provide as EK snark that basically says, Hey.

[00:07:21] I did this computation. And, uh, and I have this proof that here's the rate, here's the, you know, some hash of the result and it's correct. And then you stick it on chain and everyone verifies this one proof instead of verifying all these transactions. And then the other approach has called an optimistic roll up, which is basically made of this scheme where like first, someone says like, Hey, this is what I think the results of the, of, uh, applying these transactions is.

[00:07:46] And then someone else can say, I disagree. The result is different. And only if two people. Do you actually do it? Do you actually just like publish all of the data and run the whole, that, that whole blog on chain. So if there's disagreements, then you would just like run everything on chain and whoever was wrong.

[00:08:02] Like, it was just a lot of money. So like, disagreements are very rare and they're very expensive. And then as he key roll up, you don't even rely on this way, challenging him in game at all. You just rely on him. So the core principle is basically that instead of lots of transactions and all the trends that everyone verifies, every transaction, it is you take the transactions, you strip, strip them down and compress them as much as possible.

[00:08:25] Then stick that on the block. You do need to stick something on the blockchain and just so that everyone else, everyone else can like, keep it going to keep up to date with the state. So they know, you know what all the contracts are, what all the balances are and all of this, but it's a very small amount of data.

[00:08:38] And then you use some, one of these other off-chain games, you know, could be this optimistic game, could be as easy as snark to just prove that somebody out there did the computation and the result is correct. So you're pushing like 90% of the work off chain and yeah. No. Well, 90% of the data and 99% of the computation off chain, and then you still have 10% of the data and 1% of the computation on Chan.

[00:09:01] And so, you know, your scalability goes up by a factor of about a hundred. So these systems are already alive for, for some applications, right? So there's something called Lupron, which is just a ZK roll up for payments, right? So you can have, you know, assets inside of, uh, inside of the looping system. And you can go around and transfer them, but, uh, what you, um, and you get like much lower transaction fees, right?

[00:09:29] Like instead of $5, you'd have to pay like less than five sets. Um, but the only problem is that this only supports a couple of applications right now, like making one that supports anything that you can do on Ethereum just takes a bit more work. That's being done as well. Right? So like within a few months I'm expecting, you know, fully Ethereum, um, and capable, um, roll-ups to, um, be available as well.

[00:09:54] So it's a roll roll-ups just summarizing, you know, do most of the work off Jane we'll put only a little bit on chain factor of a hundred scaling sharding and other factor of a hundred scaling, a hundred times a hundred factor of 10,000. No hundreds of thousands of transactions a second, and look, you know, there's your scalability.

View Details

Source: https://www.listennotes.com/podcasts/epicenter-learn/danny-ryan-ethereum-dNF42A7tuiR/

Notes

  • Eth 2
    • Beacon chain went live in Dec 2020
    • 4.5m eth locked
    • Each validator 32 eth
    • Validator job: randomness generation, finality, validator level transactions (attestations, deposits, onboarding)
  • The Merge
    • Eth1 has an application layer and a thin consensus layer (PoW)
    • Post merge - beacon chain will drive applications going forward
    • Eth2 keeps everything about Eth1 clients and swaps out the consensus
  • Why not fork?
    • difficulty bomb
    • applications atop Eth are much more substantial now

Transcript

[00:00:00] swyx: This week, we're diving into Ethereum and other cryptocurrencies. Don't worry, this isn't about to become a cryptocurrency podcasts, but I still think it's a pretty interesting topic. And there's a lot of interesting research that is not just price hype, but actually serious innovation in terms of distributed systems and crypto economics.

[00:00:19] And I've been storing up a bunch of podcasts related to that, that I figured I would get through it now in one block.

[00:00:25] So today I wanted to feature this conversation on the epicenter podcast with Denny Ryan, Danny is from the foundation and works on Eve too. And he explains what these two is what the merge is going to be like as well as what the incentives are for the community to stick together rather than have hard fork like they did last time with Eth classic.

[00:00:43] Danny Ryan: Eth2 is a series of major consensus upgrades for Ethereum aimed to make the protocol more secure, more sustainable, and more scalable. And at the core of that is the move from proof of work consensus to a proof of stake consensus.

[00:01:00] So instead of securing the network with mining hardware and energy consumption, securing the network with the tokens itself the ether. And so at the core of that is the bootstrapping and the creation of this new consensus mechanism. And what as you mentioned, is live today is what we call phase zero.

[00:01:18] And that went live in December of 2020. And that was really the bootstrapping of this new proof of stake consensus mechanism. That is called the beacon chain. So in December tons of Ethereum community members and different institutions put a bunch of ether as capital and collateral into what we call the deposit contract and kickstarted this new consensus mechanism called the beacon chain.

[00:01:42] The beacon chain exists in parallel to the current theater network. So in parallel to the proof of work network, which is still securing all of the assets and applications and contracts and accounts today. So we have on the one hand and the proof of work network chugging along and on the other hand, this new consensus mechanism called the beacon chain existing in parallel to this building and securing it.

[00:02:07] I think today there's something like 4.5 million ether locked and secured in this chain. I don't know what that's worth today. It depends on the minute and the hour. This thing exists, this thing finalizes itself, this thing builds itself. But ultimately what it does is it just builds and secures itself.

[00:02:26] And this is by design. This is an iterative path to get rid of the proof of work and to move Ethereum to this new consensus mechanism, obviously it, there may not as used by tons of people secure as tons of value. And there's a lot at stake in this operation. But what we've done is built it in parallel vetted it in production dozens, tons of tests live.

[00:02:49] And now what we're working on is actually the deprecation of the proof of work consensus mechanism in favor for the slide proof of stake consensus mechanism. So that's where we're at today. There is a proof of stake, consensus mechanism, bootstrapped live securing tons of value, but really just securing itself in isolate.

[00:03:07] Martin Köppelmann: Then let's deep dive into what it exactly does. So, right now it comes to consensus on what?

[00:03:13] Danny Ryan: It comes to consensus on itself and it's by itself. What I mean is the proof of stake, consensus mechanism and all of the little gadgets and things in it. So it has a validator set. Each validator is worth approximately 32 eith.

[00:03:26] So there's something like 140,000 validator entities in this consensus. Each one of them has like its own little state. It has its balance. It has duties. It has like a job at any given time. It has randomness generation. It has information about finalities. So which portions of the chain are finalized and will never be reverted.

[00:03:47] And it has a lot of just various accounting between finality and kind of the head of the chain. So there's a number of operations related to the functionality of this chain. And those operations are what we call validator level transactions. So system level trends. And really what it does is there's a core operation called attestations where validators are constantly signaling what they see as the head of the chain and what they see as their local state of the world.

[00:04:14] And they use these messages to come to consensus with each other and ultimately drive this core like system layer of the chain. There's some other operations related to validate or activity like deposits, onboarding, new validators exits leaving the validator set, and a couple of other things.

[00:04:30] So really it's like this, it's a proof of stake system and there's a lot of different accounting, different little operations going on and it builds and it comes to consensus on itself. So

The Merge

[00:04:39] Friederike Ernst: maybe let's talk about the merge for a little bit. There would be the merge and the merge with merge each one into the beacon chain. So how exactly does it happen? When is it going to happen? I imagine either one in east who have separate states, how is that handled? How do you make them congruent?

[00:04:55] Danny Ryan: So let's think about what Eth1 is. Eth1 is, and this is a construction for each. One's a lot of things, and there's a lot of different ways to think about it.

[00:05:04] But for the purposes of the merge, we can think about it in two layers, we have this application layer or this execution layer where all of the users hang out. It's where all the applications are. It's where the user layer state is. It's where transactions are being processed. Right. It's really like what I, as an end user care about, I care about, you know, my unit swap trades and that kind of stuff.

[00:05:27] And then you have this thin purple work consensus module that's driving. It's really like providing the services, providing the quality the it's riding the service to this execution layer. It's the cradle for blocks. It's providing guarantees about reorgs and different things like that.

[00:05:42] And what we have is really these two layers. We have the preferred consensus layer providing the application layer to services and to users. And then what we've bootstrapped in production today is the beacon chain, which is a proof of state consensus. And the idea really here is for, at one point in time the proof of work module to be driving that application layer and that the next point in time, post-merger that proof of stake module, that beacon chain to be driving the same execution layer, the same application layer.

[00:06:16] And so the transactions, essentially the cradle of Ethereum right now is these like proof of work blocks and that proof of work consensus. And post-merger the cradle of Ethereum, the thing, holding it all together. So ultimately the beacon chain and the proof of stake consensus. And you can imagine the, essentially that, that payload for the execution layer is essentially moving locations upon some condition.

[00:06:41] And so people are running software that knows prior to this time, or prior to this block height, I'm listening to the miners. And after this time I'm listening to the proof of stake. And there's like a number of little details to work through on the actual point of merge and how you maybe handle attacks in this boundary and reorgs on this boundary.

[00:07:00] But the simple case is essentially you have a chain being built by proof of work at one point in time and that same chain, that same like payload of execution layer that validated that end users care about is then being built by these valves. And the nice thing is conceptually these layers are important from like a mechanism design standpoint, but they actually translate into really nice software reuse.

[00:07:23] And so we have what we call Eth2 clients, which are these beacon chain clients. They've built a highly sophisticated proof of stake consensus mechanism. And then we have like, what does an Eth1 client? And each one client really is a highly sophisticated execution layer. It's highly sophisticated EVM, transaction processing, you know, mem pool management and all that kind of stuff.

[00:07:43] Plus this thin proof of work module that like, literally it really hasn't been touched since day zero. It's a relatively simple mechanism from the software perspective and it hasn't been, it hasn't been touched.

And so what the software for the merge looks like it's really taking an Eth1 client, which is primarily a highly sophisticated execution layer, cutting out that proof of work module, which is, was the driver of that execution layer. And instead of listening to that proof of word module, listening to an Eth2 client, and so the software post-marriage actually looks like you take these two clients, which are highly sophisticated proof of stake consensus mechanisms, and you take an Eth1 client, which is a highly sophisticated execution layer, and you smash them together and you have the proof of stake client driving that execution layer asking questions about the execution layer. So for example, instead of the proof of work module saying, Hey, give me a valuable transaction bundle to include this block. The beacon chain client is instead saying, Hey geth. Hey, nevermind. Hey, open the theorem. My, my local adjunct execution engine, Give me the valuable payload.

[00:08:45] So there's a state before and there's a state after. Really that state there's a beacon state, which is like the system layer state of this proof of stake consensus mechanism. And then there's the application layer state that exists in these like proof of work blocks today.

[00:09:01] And really this consensus mechanism is really good at doing that. It's really good at coming to consensus. And so it's really just like slotting in its state transition and in its in its state, it's embedding the execution layer, state of Ethereum into that. And so if you think about it as like a tree of all the things embedded in the beacon chain, outer layer state that is built and finalized, you're essentially having like the application layer of Ethereum is embedded into it as like a sub component of its state.

[00:09:30] And so that application layer. Right now exists in like the proof of work land. And it's really just taking that application layer state and subsuming it into the beacon state, which when you finalize the outer state route of the beacon state you finalize everything within it. And so you then just if within it is the application layer state that's been consensus on, then you get, you know, these finale properties and the other properties that a proof of stake is giving to itself

[00:09:56] Friederike Ernst: So you're spooning over the state, but I mean, in principle, the miners can continue with the regional chain, right? So basically this is a natural break point for a fork.

[00:10:06] Danny Ryan: Yeah. I mean, it's, if anybody wants to run proof of work Ethereum I think blockchain government's got governance ultimately works is that anyone can continue to run it.

[00:10:15] There's a couple of things that I think might make it not super viable. The theorem community has consistently since Genesis this thing in called the difficulty bomb was intended to ultimately at the beginning to, to allow for a cleaner shift to proof of stake, ultimately like the mining difficulty at these points of the difficulty bomb increases exponentially so that it becomes non-viable to mind that proof of work chain, unless you actually have to.

[00:10:45] So that might dissuade a proof of work force. But another interesting point is that when in the last contentious theory, mark w which created a theorem classic, there wasn't a lot going on in the application layer. There really was this DAO thing, and then a bunch of like little experiments.

[00:11:04] Whereas I would posit that if Ethereum forked today and you had a majority community stake in one, and then a minority community stake in the other that the application layer on the minority one is likely going to implode.

[00:11:20] There's a lot of interdependencies and a lot of value and stuff here. For example, Oracle's may or may not be run on the minority fork. And even if they are, you have systems like Maker, which if they're, if the value of the ether on one side or the other drops significantly, you have like mass liquidation, then dies, integrated all into DeFi and you have rippling

[00:11:43] Martin Köppelmann: and all the backed assets like UCC tether and yeah. I also think like the the support for proof of stake into your CRM community is so overwhelming that I really don't think there will be any debate or any question.

[00:11:55] Danny Ryan: Yeah. It definitely, from a community perspective 99.99% are just like, let's do this. We've been wanting to do this for years. Can we just do this? Come on. Whereas you could theoretically run a proof of work fork, but I think that it will quickly become a wasteland.

View Details

An exploration of Empirical Software Engineering. We know far less than we care to admit, and the stuff we do know is boring but definitely worth investing in.

See talk slides, referenced papers, and video: https://hillelwayne.com/talks/what-we-know-we-dont-know/

View Details

  • Ed Sheeran: https://www.youtube.com/watch?v=ZpMNJbt3QDE
  • Charlie Puth: https://www.youtube.com/watch?v=IU8BEMi8UyM

View Details

Source: https://writingexcuses.com/2021/05/02/16-18-poetry-and-the-fantastic/

“The first words that are read by seekers of enlightenment in the secret, gong-banging, yeti-haunted valleys near the hub of the world, are when they look into The Life of Wen the Eternally Surprised.

The first question they ask is: 'Why was he eternally surprised?'

And they are told: 'Wen considered the nature of time and understood that the universe is, instant by instant, recreated anew. Therefore, he understood, there is in truth no past, only a memory of the past. Blink your eyes, and the world you see next did not exist when you closed them. Therefore, he said, the only appropriate state of the mind is surprise. The only appropriate state of the heart is joy. The sky you see now, you have never seen before. The perfect moment is now. Be glad of it.'

The first words read by the young Lu-Tze when he sought perplexity in the dark, teeming, rain-soaked city of Ankh-Morpork were: 'Rooms For Rent, Very Reasonable.' And he was glad of it.”

― Terry Pratchett, Thief of Time

View Details

Source: https://www.npr.org/2021/05/21/999062490/policygenius-jennifer-fitzgerald

View Details

Audio source: https://share.transistor.fm/s/63fb35d1

Notes

  • Interviewing People
  • Good Writing = Engine + Drag + Lift
    • Engine: The core idea. "Why am I here in the first place?"
    • Drag: Writing problems, eg jargon, run-on sentences
    • Lift: Stylistic points — jokes, fun tone, deep insight
  • "Trying to make a writer do something that they don't want to do is like not going to really work"
  • "Write pieces that put their finger on things that people have been thinking a lot, but don't have the words for"
    • hit on timely topics, but have something to say that is new and interesting
  • "you almost need to have your finger on the pulse of what people are publishing... but once you start doing that, once you start like looking at what everyone else is doing, like you, you lose whatever that is that can get people interested in what you're doing, because you're no longer original."
  • Reading things that other people aren't necessarily reading

Transcript

Dan Shipper: I think especially when you're starting out, the thing to do is just make good stuff, especially in media, because that's, the idea is if you write something really good, it's going to spread. So another thing that we've done.

[00:00:09] Over time is the model that I started with super organizers, which is interviewing people. So when you do an interview with someone and you write it up and you do a good job and they like it, they share it with their audience. So if you can write really good interviews and get people who have successfully more and more followers, every time you publish.

[00:00:25] You, you get exposed to their audience and you can recruit their audience to be your audience. And then that means you can get someone even more famous next time. It doesn't fully work exactly like that all the time. Like sometimes the fans, people don't share it. Honestly, you have to mix in people who are not famous.

[00:00:38] Cause sometimes famous people are just, aren't very good interviews. Have these bits that they just give you, but they given it to a hundred people before. So it's feels like raw other things that we've done right now. Something that we're experimenting with is just like during cross-promote with other newsletters, we have someone who's doing growth with us and he's just setting up different cost promos with newsletters that, that we're a fan of.

[00:00:59]And that has been actually fairly successful so far. But yeah, I think we're just at the very earliest stages of figuring out like how to grow beyond. Yeah. Just writing stuff that, that people really like.

[00:01:10] Nathan Baschez: Yeah. And I think all the other stuff depends on that first core layer of just the writing being really good.

[00:01:17] So it's like we focus way more time on editing pieces and like figuring out what makes a good piece on that kind of stuff. Then we do. Doing cross promo or whatever else, we're just now starting to do some cross promo, but it's like the cross promo wouldn't work. If the pieces weren't that good.

[00:01:30] And if the pieces are good, you don't need cross promo that bad. Cause people just share it on Twitter. So it's like really the higher order bit is just editorial focus, basically.

[00:01:39] Courtland Allen: Yeah. There's nothing more shareable than basically articles online. We've got a URL. Every single social network is formatted to allow you to share links and blow it up into the cool little expanded version with a picture and stuff.

[00:01:48]If you write good content, people will share it. What have you learned?

[00:01:52] Nathan Baschez: Writing good content. We're developing some like frameworks around this one is engine drag and lift. So three interesting things. Lift is a new one that Rachel Jepson, our executive editor came up with that. I love, but so the engine of the piece is like the core idea of like, why am I here in the first place?

[00:02:08]It's just oh you're going to if you're here, it's oh, you're going to learn how to start a new media company. Or at least how these people did it. And. Whatever, like you're going to learn a bunch of like random other bits about this kind of world along the way. Like maybe co-founder relationships, whatever.

[00:02:20] That's like the engine of this podcast interview that we're doing drag is like, Okay. Maybe you have a really strong engine, but just the way you wrote it, like the sentences don't make sense. They're not they don't logically flow from each other. You start to feel lost, and so I think about it like a car.

[00:02:35] This is funny. This is before I got into formula, now that I'm into formula one, I'm like way into this analogy. But it's if you have a car that has really terrible aerodynamics, no matter how strong the engine is, people are going to fall off, but. It's really hard as an editor to fix an engine.

[00:02:48] That's just not there. Like sometimes the engine is just weak or oh, it only appeals to a really tiny subset of people. And it's this is very specific. Like maybe you might want to make it a little bit more broad or something like that, but you know, the engine is like the core reason why you're there.

[00:03:01] The drag is like anything in the way that it's written, that gets in the way of accessing the power of that engine. And then Lyft is just funny little things like. Or jokes or tone that kind of keep you sticking around. It's like when someone makes you chuckle in the middle of writing or someone just points out something that's really insightful.

[00:03:17] Even if it's besides the point of the engine, you're just re-upped for another, like two minutes, at least of reading, cause like something good may be around the corner. And so that little lift, those little nice those kinds of help too. But yeah, I don't know that's like our overall framework.

[00:03:30]Dan. You've got a lot of other stuff on this too though. Yeah. I mean, I

[00:03:33] Dan Shipper: think that there's a lot of things within that. What makes a good engine and also like, how do you get the best out of writers? So like one, one lesson that we keep learning over and over again is like writers.

[00:03:42] The best pieces are written by writers who care about those pieces and wanna write. Yeah. And trying to make a writer do something that they don't want to do is like not going to really work. So it's like a lot of the best pieces come from writers digging into their own with soul on what they're interested in.

[00:03:56] If they're interested in it, then it would probably do well for people who are like them. And so, or interested in the same things as they are. And so that's reflected in our model like Nathan and I don't go to writers and be like, Hey, you should write about this week. Like we're like each publication inside of.

[00:04:13] Yeah. Each newsletter is its own publication with its own writer who has the voice and vision of the newsletter. And is the one who has the finger on the pulse of the audience and gets to say this is what I'm into. And this is where I want to lead the audience, within certain bounds obviously.

[00:04:26] And our job is to help them do that better, to bring that out and bring more of them out into their pieces rather than being the ones who like assign stories and say here's what you got to cover. And that's one of the reasons why we think this can be bigger than just like productivity strategy.

[00:04:39] Tech focused articles is like the vision for each publication that lives in the writer. And so it's a little bit more decentralized than like a typical media company. So that's one thing. And it's really hard to remember that because I think we typically like, are like, you should do.

[00:04:54] Get excited about it. And it's just almost,

[00:04:56] Nathan Baschez: yeah, it feels oh we have a media company, we should be able to be excited about ideas and get people to do our ideas, but it's not if we want it done. Well, it's just our idea, the visions in our head. Yeah. So I've got some stuff that I write.

[00:05:08] Dan has some stuff that he writes. We have things that we're excited about, but help it's like the purpose of the company ultimately is to be like a jet pack for writers to get what they want faster and in a parachute.

[00:05:20] Dan Shipper: Yeah. It's yeah, that fallacy is like the media equivalent of I just need a technical co-founder to make this idea where I just need to hire

[00:05:26] Courtland Allen: Slater to build this app.

[00:05:27] And then I'll

[00:05:29] Dan Shipper: all get rich. Yeah. It's actually, no, you got, they have to want it too, and so yeah, for me, it's oh, I have this idea. You should write it. It's actually, no, I should just write it because you don't have that idea or whatever, so that's one big thing that we've learned.

[00:05:39] I think like in terms of different engines, like pieces that put their finger on things that people have been thinking a lot, but haven't, don't have the words for usually do really well pieces that hit on timely topics, but have something to say that is like new and interesting do really well.

[00:05:55] And that's hard actually. It's really hard to chase that. W we just recorded a podcast yesterday. Where we were talking about this feeling that you almost need to have your finger on the pulse of what people are publishing so that you can do it too. And it's actually, but once you start doing that, once you start like looking at what everyone else is doing, like you, you lose whatever that is that can get people interested in what you're doing, because you're no longer original.

[00:06:17] And you're just like recycling. Ideas. So I think both of us probably read few newsletters. Honestly, we probably just read a lot of books and do a lot of thinking and talking to people that we think are smart and that's a really good way to generate some of these ideas.

[00:06:31] Courtland Allen: yeah, it's like a tricky line to walk because people really like to share and talk about things that like, they already know about, like people are all talking about a particular thing, then it's just like during the election season, for example, everybody wants to share articles about the election.

[00:06:43] Cause all their friends are reading about it and talking about it, but it is true. Follow what everybody else is doing, what everybody else is doing too closely that you do lose what makes you unique and what makes you special? And so I like your strategy of reading books and reading things that other people aren't necessarily reading, because then you can react to that.

[00:06:57]You'll come with fresh ideas that people haven't heard before, and you can, if you want to apply it to topics that people are excited to share and talk.

View Details

Audio source: https://www.brainspodcast.com/episode/internet-creators-2

  • Julian
    • Research top ranked posts of all time (HN Algolia, Twitter like filters, Indiehackers top posts) and find the patterns
    • Threads are useful because they show "meat" - "proves that you can sustain how interesting you are across multiple messages"
    • Julian's post on Content Marketing: Novelty and Usefulness
    • Categories of novelty:
      • Counterintuitive — "I had no idea" or "I would have never thought that's how the world worked".
      • Elegant sentence — "It's where you capture something, people know, but you say it so beautifully. They think I couldn't have said that better. Or you took the words right out of my head."
      • Shock and awe — "holy crap. I cannot believe that just happened. Thanks for sharing that news."
    • Actionable:
      • "Hey, now that you know this novel piece of information, here's what you can do".
      • "Here are the steps, here's how this would now affect how you navigate the world going forward."
    • "Actionable and novel in like a thread form tends to perform exceptionally well."
  • Aella
    • "Aella has all these polls on Twitter and they're almost always asking people like these super controversial things."
    • "What I did is I went through all of the polls. I've been doing polls for like pretty steadily for about three years. I have around 1500 and I put them all on a spreadsheet. And then I sorted them all by like the amounts of likes and retweets. And like, I weighted them differently. And then I sorted it by ones that are most divisive. So like the answers tend to be like roughly 50, 50. And then I selected from there in different categories. And I had people like vote on them. So Twitter is a proving grounds."
    • https://www.askhole.io/
  • Sam
    • "I know how to use the written word to get people to do what I want them to do."
    • Copywork
      • "the best way to get good is I found people who I admired and who were best in their field. And then I would write their workout by hand."
      • "So for example, there was a handful of long-form copywriters that are considered the best. And I spent six months writing it out by hand copying each of their ads."
      • "Then I wanted to learn a little bit about writing, uh, like books. So I took JD Salinger's book and I wrote that up by hand."
      • "if you want to learn how to become a good script writer for like comedy, for movies, you to go and find a Judd Apatow script or Woody Allen script and write it up by hand"
      • "I see the commonalities between all these cause I've been copying them. Now I know how to put my texture on this because I've learned the combination of what the people I like do. And I'm gonna make a little bit of my own, add my own flair to that."
      • "You actually have to feel the rhythm like a great writer. You can have one short sentence and then a really long sentence and you can feel these rhythms by writing it up by hand. And it's because when you write it out by hand, it forces you to acknowledge every single syllable, every single comma, every single period."
    • Three step process: Copy, Internalize, and Make It Your Own.

Transcript

swyx: Usually the topics are a little bit unpredictable on the show. So I'm going to try something a little different this week. This week, we're going to focus on writing how to write better, how to write more engaging, uh, and get more readers. So the first feature today is Julian Shapiro. Julian, very interesting system as a creator from writing Twitter threads that convert into his blog posts and from his blog posts converting into email subscribers.

[00:00:28] Julian Shapiro: So this gets us to the topic of how do you optimize for growing as quickly as possible on these channels? The way I start is I think, how do I get my hands on all of the top ranked posts of all time? And then if I can see what those are, can I then find the patterns?

[00:00:43] So they're really, the only trick here is find a tool that lets you measure or lets you identify. All of those top ranked posts. So for hacker news, you can use, Algolia like the search feature. And then for Twitter, you can actually use tweet, deck tweet, deck dot, twitter.com. And you can rank things essentially, but you can filter the middle east by how many likes do they have?

[00:01:03] So if I filter by 10,000 likes or more, I start looking for the patterns among these high-performing pieces. Content.

[00:01:09] Courtland Allen: Do you, nobody does this because like on hack, like on any hackers on like, I literally on the homepage, I'm like, here are the best posts of all time. Here are the best posts every month.

[00:01:17] You're the best post every week. And I'm hoping people will go back and look at the best posts and make more posts like that because I want them to, and they never do. They just make kind of crappy posts and they complain like, why is nobody liking my posts? I'm like, the answers are literally right in front of you.

[00:01:31] Like, it could not make it easy, easier to find what works. Right. Right. Okay. So we were talking about Twitter earlier. What are you seeing that works well?

[00:01:39] Julian Shapiro: So you want to tweet threads for the most part, if you're trying to get retweets and retweets are what bring followers. And so the reason threads are useful is because it shows so much meat.

[00:01:50] It's like, here's all this content. It's not just a single tweet. It's a bunch of glued together, which proves that you can sustain how interesting you are across multiple messages. So you're a de-risked person to follow. You can keep giving people the goods and when you're tweeting threads or tweeting single tweets, usually you want to think.

[00:02:09] A two-part framework that I write about on my website, which is novelty and actionable. So novelty means you're sharing something new that wouldn't have been easy to figure out on your own and it makes you think, wow. So there's a few categories of novelty. One is counterintuitive like, oh, I had no idea or I would have never thought that's how the world worked.

[00:02:29] Another category of novelty would be elegant sentence. It's where you capture something, people know, but you say it so beautifully. They think I couldn't have said that better. Or you took the words right out of my head. Right. And the last category is shock and awe it's like, holy crap. I cannot believe that just happened.

[00:02:47] Thanks for sharing that news. And then actionable is this thing you tack on at the end, where it's like, Hey, now that you know this novel piece of information, here's what you can do, right. Here, like the steps, here's how this would now affect how you navigate the world going forward. So actionable and novel in like a thread form tends to perform exceptionally well.

[00:03:08] Courtland Allen: have you seen Aella's account? Like as far as I can tell, you're just asking like the most controversial, provocative questions and polls you possibly can that no one else would do because we're all afraid of getting canceled.

[00:03:18] Sam Parr: Right? I

[00:03:20] Aella: guess. So I'm a little unclear about like exactly where my Twitter followers come.

[00:03:25] Sam Parr: Aella_girl, she's got one with an underscore and

[00:03:28] Courtland Allen: look at the one that has an underscore, Aella_girl. The underscores has the safe for work one, like I'll give you the skinny on Aella, Sam. So Aella has all these polls on Twitter and they're almost always asking people like these super controversial things.

[00:03:41] She also has this card game that I bought. It's like, kinda like icebreakers.

[00:03:45] Aella: What I did is I went through all of the polls. I've been doing polls for like pretty steadily for about three years. I have around 1500 and I put them all on a spreadsheet. And then I sorted them all by like the amounts of likes and retweets.

[00:03:56] And like, I weighted them differently. And then I sorted it by ones that are most divisive. So like the answers tend to be like roughly 50, 50. And then I selected from there in different categories. And I had people like vote on them. Um, and that, that's how we got, so most of those came from Twitter polls or versions of Twitter

[00:04:12] Julian Shapiro: polls.

[00:04:12] So Twitter is a proving grounds for what's actually. Yeah, that's super cool.

[00:04:16] swyx: I actually had the good fortune of meeting Aella not long after this interview. And I can confirm that her questions make everyone uncomfortable, but also make the meeting with her memorable and her card, her trading cards with all these questions is available.

[00:04:32] That https://www.askhole.io/, and I'm going to get one of them. And just to see what questions do you come up with?

The next feature we're going to have is Sam Parr. He's talked about his process. Several times, but he's super confident about it. And I think it's worth studying because he clearly gets results. It may be a bit dishonest, but if you're willing to trade in some hustle, his, which is his company for results, you can get phenomenal results and he's clearly got objectively very good at it.

[00:05:03] Sam Parr: And what do you know that these people don't. I know how to use the written word to get people, to do what I want them to do. And how do you do that?

[00:05:12] Courtland Allen: It does seem mama. I mean, Sam, the face you're making right now, you look.

[00:05:16] Sam Parr: You look devious? No, it's just like, you know, when we're, we're always selling something, whether I want to like entertain someone with an article, like I'm not asking for money, I'm trying to sell you to give me your attention and, and read my story, whether I'm actually trying to get you to buy stuff, but I'm trying to get you to share something.

[00:05:32] Whether I'm getting you to believe something. I'm trying to tell you whether I'm trying to get you to work at my company. Uh, I'm very good at particularly the written word, getting you to do what I want you to do. Um, the best way to get good is I found people who I admired and who were best in their field.

[00:05:47] And then I would write their workout by hand. So for example, there was a handful of long-form copywriters that are considered the best. And I spent six months writing it out by hand copying each of their ads. Then I wanted to learn a little bit about writing, uh, like books. So I took JD Salinger's, um, what's his book.

[00:06:04] Yeah. Catherine there, I guess you're in the rye. And I wrote that up by hand. Um, if you want to learn how to become a good script writer for like comedy, for movies, you to go and find a Judd Apatow script or Woody Allen script and write it up by hand, it's the same way that you like. The way that we learn music is really great.

[00:06:20] Like if you gave someone six months, they can get really good at guitar. And what they do is they go and play jingle bells a bunch of times, and then they go and play a green day song and then they go and play. ACD song and they figured out blues and rock and they go, oh wow. I see the commonalities between all these.

[00:06:34] Cause I've been copying them. Now I know how to put my texture on this because I've learned the combination of what the people I like do. And I'm gonna make a little bit of my own, add my own flair to that. And so it's called the copy work. So you just copy other people's work for a long period of time until you see the similarities and you start acting like them and behaving and thinking like them.

[00:06:53] And then after a while you get really good at it. And then you. Do your own thing. So you're basically

[00:06:57] Julian Shapiro: pattern matching while you're writing. Like you're trying to lean into what is it recurring?

[00:07:01] Sam Parr: Exactly. That's exactly it, but it's like, do you not play an instrument? Play? The, uh, the sacks are used to. Okay.

[00:07:08] Great. When you learned how to play, did you write your own songs on day one or did you copy other people for a little while? Yeah, a hundred percent copying

[00:07:15] Courtland Allen: playing other people's music. Wait, I,

[00:07:16] Aella: I, is this, I I'm down with this as like a thing, but I feel a little bit confused still about it. So when you say copied out, are you telling like physically writing it with your hand?

[00:07:25] Sam Parr: Yeah. I wonder if I have my notebooks here. Like I literally have stacks of notebooks. And I have found the best selling, like there's famous ads, like long formats that sold encyclopedias. And I literally write them by hand.

[00:07:39] Aella: I'm not, I'm not saying this doesn't work for you. I'm totally down with this. I'm just like confused.

[00:07:42] Like I can call a copy. I can do a lot of things like, and replicate it. And I still don't learn how to do it. Like when we copy things by hand, we're learning how to physically like get our hand to move in that way. Um, whereas I don't know how, like, like if I just like write out a brilliant novel I'm I don't think that would actually help me cause like,

[00:08:00] Sam Parr: oh, it will. If you do it a bunch, because you're reading it as you're writing it.

[00:08:06] Aella: Do it

[00:08:06] Sam Parr: though. Wouldn't just reading music, teach you how to play music

[00:08:11] Aella: categories of things like with like music. I have the music and how to translate that to my hands. Moving it.

[00:08:17] Sam Parr: Good writing is rhythmic and you, and you actually have to feel the rhythm.

[00:08:21] You got to know, um, you know, like a great writer. You can have one short sentence and then a really long sentence, like, like, you know what I mean? Like it's a rhythm and you, and you can feel these rhythms by running it up by hand. And it's because when you write it out by hand, it forces you to acknowledge every single syllable, every single comma, every single period.

[00:08:39] And it's really important.

[00:08:39] Julian Shapiro: I think it resonates more if you break into three steps as opposed to two, so Sam, maybe you're. I see this thing and I'm going to write it down. I think the intermediary step is I'm now deliberately internalizing everything I'm writing down. So the writing down is just a forcing function to actually think through the patterns.

[00:08:56] I think that's what you're capturing. And I think that might sort of satisfy. ALA's a good point, which is like, well, when I'm playing instrument, I can just do it without actually thinking. And then I'm not actually getting a true internalizing.

[00:09:08] swyx: So that's it from today's feature on writing. We have tips from Julianne Shapiro on writing Twitter threads and then Sam Parr on just writing persuasive ad and marketing copy and, and learning that through copy work.

[00:09:20] I think these things are one of those simple, but not easy concepts. There's no secret here. You just put in the work.

View Details

  • Slides: https://docs.google.com/presentation/d/1GQjhDBiQ4raGcn4M7eXXuoJ_9VOGSgpd3RcIQ2dyXJ4/edit?usp=sharing
  • Video: https://www.youtube.com/watch?v=Z2X-RsCVRas

Timestamps

  • [00:00:00] Prepared presentation on Coding Careers
  • [00:21:46] If you've worked with junior developers, what's the biggest mistake you see them making and how would you go about solving it if you were in their shoes?
  • [00:24:03] What should be the aim when job hunting big companies or startups?
  • [00:26:06] Can you expand more on the differences between being a junior software engineer in finance Two Sigma versus tech?
  • [00:26:43] If you don't have contacts, do you have any advice in terms of contacting real people or companies to show yourself in the best light possible?
  • [00:28:31] How easy or hard is it to change your field?
  • [00:29:52] What do you think about product management and how would the graduate set of career path aim towards that?
  • [00:33:13] What's the best or correct way of approaching a recruiter slash employee to get a referral?
  • [00:34:28] When hiring someone and looking at OSS contributions, how would you rate it from very different projects are more well-known?
  • [00:36:29] What's the benefit of a random employee spending the time on you for referral or talk about their job? I feel like it's one sided for the student.
  • [00:37:44] How do you ask developers for conversations about their job or guidance?
  • [00:38:45] how do I approach about the referral at the end of the conversation though?
  • [00:39:52] do you prepare for data structure and algorithms for job interviews? Is there a fun way for that?

Transcript

swyx: I can just get going with my prepared slides. It's going to take me like half an hour ish and then we can do half an hour of questions. Does that sound good? And then, yeah, just like, feel free to pause me if there's any technical difficulties or anything.

[00:00:13]This is something that I never thought I would. Write about or specializing. It essentially was an R com of my blogging and like people really responding to some of this stuff that I've written for them.

[00:00:25]And it's essentially like the meta code stuff around code. Yeah. You've learned as you go along, that nobody teaches you. Like w when you tend to think about coding careers, like your career as a software developer as just about code, when really like it's maybe 25% about code. And there's a lot of other stuff around that.

[00:00:44] So this is what I ended up doing in between jobs. Like I wrote essentially like a list of essays that became a book. And that's the whole idea. And I was invited to it. To do a talk with you guys about it. So I'm going to share what I have right now. And I'd love to go into further detail because there's just too much to go into it with you in 30 minutes.

[00:01:00]So I'm, Swyx I also go by Shawn. I used to use to have a career in finance change careers in 2017, did a boot camp instead of like a proper season. When did you to Sigma? Netlify and now I just recently joined AWS. And we already talked about the other stuff. One of the, I guess, one of my other roles, if you're into front end development at all is that I may react R slash react or Jess subreddit moderator.

[00:01:24] And I think we're about to hit 200,000 subscribers tomorrow. So that's pretty exciting as well. So. What, this is what this attempt is. I just want to situate them this among the other advice that the other books that you've heard about as seen a lot of books are very sort of pointed point in time solutions, essentially like their target, like learn to code or.

[00:01:43] Crack the coding interview or like, solve the algorithm design or like, do you do a great resume or, write about clean. And so these are like just very point in time solutions, but they don't really help you with the transition steps. And so what I essentially tried to do with this book was essentially layout things which Principles, which are basically like always on default decisions, strategies, which are like, which helped to help you decide.

[00:02:09] And based on one-off big uncertain irreversible decisions and in tactics, which are things that you use frequently throughout your career. So that's the way that we're gonna break it. And and yeah, so, so basically like there's four parts to what we so how do I, how I break it down.

[00:02:23] And the first is the career guide. And one of my obsessions is the OSI layer. I think if you're doing a lot of tech interviewing, I think that's one of the first models that used to be. Come across from essentially like the network layer, I'll be out to applications.

[00:02:36] And I don't remember what the other five layers, but I was always thinking like, what if there's an OSI layer for humans as well? So instead of just protocols and and data, we can also talk about how humans form a chain of value from machines all the way to end users. So we have here the entire universe of coding careers going from, I guess, people who work the closest with hardware.

[00:02:57]Operating system devs or embedded or IOT devs all the way up to people who don't actually code technically traditionally, if you think about that, they're they might be considered no-code low-code they might micro settings, which have some sort of conditional logic, whatever.

[00:03:12] Yeah. These are, that's the mental framework. Most of us developers are actually, we're going to live around here between applications for the front end and services for the backend. If you are, if you aspire to be more of a, like an infrastructure cloud person, you might work in the lower layer on the product and the sort of platform level.

[00:03:27]And that's how I split things. You may have a different split. It's good to have a mental model because the way that you interview or a plan your career for each of these levels is very different from each other. So I think that's an also interesting mental model to have when you approach these things.

[00:03:41]Next this is more about the job jobs searching thing. Quite frankly, if since all of you are in the MLH fellowship I don't think this applies to you at all because you're going to sail through your job hunting task. But I think I recommend this book was from where he talks about like the mathematics of job hunting and it's essentially the same.

[00:04:00] As the birthday problem where you don't actually need 365 people in the room to have a good chance of two people having the same birthday you actually need. Cause because the probabilities compound same reason, same reasoning for applications. And because you only need a one job offer out of all the applications that you send out.

[00:04:18] So that's kind of job hunting advice. Well, I know it's very simple numbers matter. Right. The other thing I think to think about when it comes to, when it comes to job hunting, especially for new grads and people who are just like, getting their first experiences without a network is that you can choose a wide range of strategies between narrow and I guess, wide.

[00:04:35] Some people go as far as, as high as 200 to 300. And for me that I prefer to do nine prefer to do a more narrow search. And it's really up to you the kind of, search strategy that you choose. But just be aware of that. Obviously, if you spread yourself out very thin, then you're not going to do a very high quality application on each one.

[00:04:52]Whereas the narrow application, you may not actually explore the full space of possibility that might be a best fit for you. So there's downsides to both in upsets. I think the most important thing to do during the job search is basically to have continued discipline and motivation.

[00:05:06] So do so one way to do it really well is to do sort of social pressure, like to have a small group of friends and do stand ups with them and say what you did, what do you plan to do? And then just like consistently meet up until you, y'all get jobs. The other thing I think that people neglect to talk about.

[00:05:21] That's the long longitudinal process, but what about during the day? That's what I call times. That's how you organize your time doing doing your job search. I won't go too far into details just because I also don't expect you to face much of a trouble with this. In terms of like portfolio pieces and like proving yourself.

[00:05:38]This is from Google. He's a very experienced hiring manager and I think what he says here is very true. So you can see who's going to quote verbatim. You can impress most hiring managers with only three contributions. Just like one class with a single JS followed, but just like show your best work, something complete where you show like all the other stuff, like tests, like architecture, docs, whatever.

[00:06:00] And it's something with a story where you can actually stand out with the, of your personality or like something interesting that, that sets you apart from from just a raw technical. Yeah. And I have more stuff in this with regards to the hiring funnel. Let me know if you're interested in all this.

[00:06:14] I'm just going to skip past this because that's not the focus of this presentation. But oh, I'm going to highlight this on mine as well. Twitter is. Surprisingly central it may not be for for your cohort right now. But as far as I'm concerned in all the developers circles, I see Twitter is very central.

[00:06:29] And if you can pitch yourself into 180 characters you get to you, you get to be spread by a lot of these other developers who are looking to elevate you as well. So that's very helpful for the jobs. Okay. So, more interviewing resources. You don't need this, you don't need this. We also, we, I also studied a bunch of junior to senior dev stuff and that's that's a whole chapter, which I can get into.

[00:06:49]Again, like I don't, I'm not gonna spend too much time here, but we can go into doing Q and a, if that's something that's of interest to you. I think the goal for you in particular is that you're getting a lot of explicit knowledge, in your courses. And that's stuff that people have written down like books Talks like stuff that people know that they know, and they've taken the time to share with you, but there's especially now on doing your fellowship and in your projects and later on in your jobs, like you're going to be picking up a lot of the tests and knowledge, the stuff that you only learn on the job because you have to live through it to, to expert to experience it.

[00:07:19] And that's actually the majority of like, software engineers value added, right. The stuff that's not in the book. And so. Anytime that you're, you have the ability to to expand the possibility boundary of that space between explicit and tacit knowledge. That's a really good thing to actually start writing down, whether it's for people who, are com or coming into cohort after you or just like your past self that's always very helpful.

[00:07:41] And that's what I'm trying to do with this whole project is which is just to relay things that I've learned as a. I guess now senior software engineer. So that's that, that brings us to the principles strategies, and tactics section. Sorry, I'm rushing too much, to be honest, I should probably pace it a little bit.

[00:07:56]Okay. So, why principles? I strongly recommend checking out this book by Ray Dalio. He runs his entire hedge fund based on principles and this idea that you should, it's okay to make mistakes, but it's not okay to meet them repeatedly. Every time you like learn something fundamental about how the world works, how you work, how you prefer to work with the world.

[00:08:14]You should write it down and you should stack rank them so that whenever they come into conflicts, you have some way to resolve conflicts or you, you have some idea that these are two principles that are at odds and you need to find some other unifying principle to, to deal with all that.

[00:08:28] So for me the one the one principal that I'm most known for is to learn in public is it's this idea that most developers are trained from the beginning to, to learn in private that everything that you retain you're tested on it. You keep it to yourself. And you're the way that you get ahead in life is that you do it, you do that better than the people around you.

[00:08:49] And it's a very zero sum view of things. And I think that if you open your mind up to a more growth mindset, where you can share what you learn and you learn you yourself, learn faster as a result of that, because people get the chance to correct. You got to. The chance to be wrong in public.

[00:09:03]And and you build your network at the same time. So that's a very short summary of what has become like a movement as far as developers are concerned. And you can check the essay out at six, that IO slash lap. But that's the core idea that I think, especially for us students you're going to start to transition.

[00:09:20] And when you transitioned from the. The sort of zero sum world of college too. To the more positive some world of I guess real world collaboration. You'll see that they're there. W the kind of games that we play it's in real life, or it's very different from from the sort of academic competitions that they might be used to.

[00:09:38]

[00:09:38] It certainly was a a huge learning for me. And the other thing, I guess, that I, that would. Share with you is, I used to be in finance. And we so I worked in investment banking and hedge funds and the intellectual property that we had that I worked on that was on the, like the best work of my life.

[00:09:54]I. I like, I laid it all out at the hedge fund. And when I walked away from finance that stayed with them like that was property of the fund and never with me. And I'll never see it again. When I interviewed with other. I couldn't take that with me to interview with.

[00:10:09] So like, it was just, it just made it really hard to transfer experience and that makes it really hard for you to scale. Whereas I think in tech it's, we're fundamentally more open, like, we are allowed, we're encouraged to share our learnings in blogs and conferences and even our failures as well.

[00:10:25] We also share our outages and our retrospectives on of our failures. If we don't take advantage of the fundamentally more open nature of tech, then we're missing out on. What's so great about this industry. So, I do tend to encourage people a lot to to be more public about what.

[00:10:40]It's really good for compounding your skills and knowledge and network. So include a bunch more principles and again, we don't have, we don't have a lot of time to go into all of them. The other thing I think I do tend to encourage people on is to open source your knowledge. So basically it's this idea that open source code has, open source coding.

[00:10:57]Didn't use to be the norm. It's this revolution now that, most things that we use is now by default open source. And I think that's something that's happened very successfully with code, but we haven't done that a lot with knowledge like the sort of architectural and principles.

[00:11:12] And. Are there less computer savvy skills, but there's this sort of more meta skills around our knowledge. One of the ways in which I exemplify this is my, my work with react and TypeScript. So I essentially run the community react and typeScript docs. And that was mainly because.

[00:11:29]Reacts. Wasn't doing good job of documenting its interaction with TypeScript. TypeScript was not doing a good job of documenting reacts. So I came in and did the intersection. And I think what that experience taught me was that was that, that, that became a community and a repo of knowledge.

[00:11:45] And that was more That compounded way better than a set of individual blog posts, because that has like a individual like decay in terms of the value. So it just like, you'd rather choose to have this one asset that you just compound in value over time, rather than this this blog where you just have little bit little bits and impulses of value as you put up blog posts.

[00:12:06] And I think. That comparison between open source knowledge that you have some sort of like, obviously the most successful examples, Wikipedia that one spot where everyone just funnels in and contributes knowledge and builds up the best example, best single example. One thing is actually more valuable than a series of one-off events.

[00:12:25] So I think, I've taken too many words to explain that, but I think that's the rough gist of it. So that's Principles.

[00:12:30] Principles are things that you should always default to in absence of anything else. But a lot of the times you also have to think about the strategy of like, you're learning your career and your technology.

[00:12:41]And those are the ways in which I want to encourage people to think more strategically instead of following whatever preset plans that you see other people that you do. Like you need to take more ownership of your career, right? And so, in terms of learning strategy I talked a little bit about this concept of learning gears, how you should behave differently based on the type of things that you're trying to learn.

[00:13:01]When you, the way that you learn when you don't know, what you don't know is very different. That's your Explorer gear is very different from the way that you learn when you know things that others don't know. That's your teaching gear, your connector gear. Even that's even more different from the way that you behave when you find something that is super important, that you're obsessed by.

[00:13:18]And no one else was working on it. So you're diving deep into something that nobody else does and that's valuable. So that's like your it's also, I always think about it as your builder gear. These are all just like different ways of different modes of learning, but it gives you permission to behave differently.

[00:13:34] So, it's like a short hand as far as people who do this are concerned to, to convey like The kind of outputs and commitment level that they should be that they should be adopting. So for example, Explorer, like nobody really expects that much from explorers. Explorers are just putting out in those to themselves.

[00:13:49] Whereas miners are putting out infrastructure R and D communities and they build the build up things to last years and on the auto years in careers, which is pretty. I guess like a fundamental insight for people who are, who have dabbled in all of these things and they viewed them all.

[00:14:03] It's the same thing. They're not they're they really differ based on the kind of gear that you're into. The other thing I think in terms of like, people's specializing a lot of people. Debating this idea of specialist versus generalist and everyone basically converges on this idea of a T-shaped model employee.

[00:14:19]This is from the valve handbook. So if you see this a lot, that's where it actually comes from the makers of half-life. And I tend to not be very inspired by this, basically, because it's not useful. Like everyone is some form of T-shaped employee. So. We're all, especially as in some ways in journalists and others.

[00:14:34] And I think the more insightful thing is where to be on technologies. So I don't have a slate here for that. But essentially we can get into that if you're interested in my thoughts on that career strategy did you know that a lot of companies actually publish their career ladders in public?

[00:14:49] So what if you just went through and studied every career ladder out there and that's exactly what I did. So here's the. The spreadsheet. I might also just share it with you cause I'm not publishing into this just yet. So, you're actually the first to see this. Cause I figured why not? I'll just share it with you.

[00:15:07]What have we just went through and. Every career ladder of every company. And we tried to see what was the similarities among the different levels. And you can see, you can start to plan out a roadmap for yourself in terms of your personal development. So that's essentially what we did over here in this research project.

[00:15:22] And that's what I wrote up in, in the chapter on career ladders, but it's, you can see how, like, it's hard to put in any concrete terms whatsoever some uniforms. General theory or career of coding careers. Except when people actually specifically lay out their ladders.

[00:15:40]And you can do something like this where you can just normalize them across all the different companies. So it's an interesting, it's an interesting exercise and it definitely gives you a map of what your career could look like. Over a super long-term like we're talking. 10 20 years. And so this is, these are not the kind of conversations that you normally have, but I think it's worth having.

[00:15:59] Right. So, that's what you think about when you think sort to think strategically then the last bit of strategy, I also want to want people to think about the business of software, like the business of tech, how money is made from your tech. Yeah. And that directly affects the way the companies you choose to work at the projects you choose to work at within a company, the technologies that you choose to bet on the technologies you use day to day, these are all effected by tech strategy decisions.

[00:16:24]So we talk a little bit about the difference between horizontal versus vertical industry. It's like all industries start vertical and then the horizontal lines as they specialize. And then we talk about business models as well, like agencies, advertising subscriptions. Basically a lot of things start vertical and then they split out.

[00:16:39] So here's the famous chart of how Craigslist is being split out into all these different small startups and all of them are worth like billions, each. We also talk about mega trends like gaming. So, one of, one of the things that, I mean, you guys are probably more aware too, because you're in that demographic.

[00:16:55] Whereas I guess people in my generation and older you not be that aware of is. The sheer explosion in terms of the gaming industry is unmatched compared to all the other media industries. And there are strong reasons for that, and I can go into, and I can even go into why. But it's, if you view all these industries as the same, like working for Spotify is the same thing as working for a 10 cent or what's the other gaming company that I'm blanking on right now.

[00:17:20]Whatever th these industries are performing differently and I think it's it behooves you to bet strategic strategically based on the industry. If you care about these things in terms of your own career the other thing I think to be aware of. This sort of tech adoption curves.

[00:17:35] So we talk a little bit about crossing the chasm, like th those classics. But also the fact that technology adoption is accelerating. Like it took us this long to adopt a telephone. But now we are, we're adopting technology at a much faster rate in terms of your population percentages.

[00:17:49] So these are all very interesting ideas that people really talk about when it comes to. And I'm not going to talk about this Wardley mapping. Okay. And then last part is tactics. I think people are always interested in like small things that they can do to improve. So I collect for example this list of of nice design tips developers always interested in design tips.

[00:18:08] I'm not the best at design myself, but I think if I can. Spend like five minutes to like, bump up the look of my thing that increases the people who who, who will try my stuff out. And their enjoyment of my products then that will be that's actually a very high ROI activity to do.

[00:18:23]There's also this idea of like, there's also sort of workplace tactics that you can employ. So for example, when you're When, like you're, we're often told that knowledge is power, but sometimes we can actually turn ignorance into power as well. And that's a lot of what I call lab shading, like, just call calling attention to your biggest weakness so that no one else can and then making that into a strength because of your position your positional advantage.

[00:18:45] For example, if you're very junior or you're very senior, you're allowed to not know things. And I think that fundamental assumption helped me a lot in my first job. And then writing's like brings a huge skill for just compounding your learning in your knowledge and your reach.

[00:18:57]Part of the reason I'm speaking to you today at all is because I wrote I've wrote, I've written a bunch of stuff. And I think the way that people view writing is they don't take it very seriously. Right. It is, if you intend to be a knowledge worker at all, you need to store your knowledge and you need to scale your knowledge.

[00:19:13] And a lot of that takes place through writing because it's the most scalable medium compared to everything else. So that's that's what we, that's what we have in terms of like writing strategy. I can go into more detail about this as well, but I don't want to bombard you with too much.

[00:19:25]And then I think the last piece that I always touch on that strikes a quarter of a lot of developers is that they need to market themselves. And it's very much, I think people are aware of the idea that if you build it, they may not come like a lot of developers have this idea that.

[00:19:38] Okay. When I, whenever I do any project to do any startup I'm just going to do a bunch of code first. And then at the end, I'm going to poke out a full code of my hole and just say, all right, it's done. And then you get crickets. Cause no, cause nobody knows what you work on and you haven't spent any time on the marketing.

[00:19:54] It's the same thing with regards to your own coding skills. If you just become the best coder that you can possibly be, but you'd never spend any time on marketing yourself. No one is no, one's going to know how awesome you are. So you shouldn't use, you do owe it to yourself a little bit to to market yourself in public and network.

[00:20:09]So that's and that's that I also, I, I end the book with the Coda for sustainable careers. So I think a lot of there's a lot of, I guess, developers struggle with burnout in our industry. And we need to have a way to pick up all these loose ends and into tied in together into something that, that unifies the full stack of what we are from, our our personal selves to all, to the, to other people's image of us.

[00:20:31]I think, imagine, and the way I pitched this is that we need to have an operation, the system that runs all these principles, strategies, and tactics. So these are all like applications of what we are, but even if we had the answer to everything the reason that we don't actually benefit as much as others from them is because we don't have a system to implement them, to make them to meet that as effective as possible.

[00:20:51]So I actually ended up with a low call to action to take care of, the small things like the like, well, small, but huge health. Yeah. You're your own personal scheduler. You're your internal model innovation and drive. These are all important things that I think are. Essential.

[00:21:05] And I've given a separate talk on that. It's called the operating system of you. And I think, we should all think about how we deal with unlimited applications, but limited resources. And that's essentially what operators is operating systems do. And we could start, we could take our learnings from how, we, I think we've developed with science, how how operating systems do that.

[00:21:23] And we could take that learning and apply it on how we govern our own lives. And I think that's a very interesting analogy that we can explore as well. I've been talking nonstop for half an hour. But that's the idea, that's the book, right? If you want to go check it out, there's four free chapters on there.

[00:21:37]That give you more of a sense. But I'm not here to sell the book. I'm here to have a real chat with you on whatever topic you want. My time is yours and yeah I'm happy to take it.

[00:21:46] Q&A

[00:21:46] If you've worked with junior developers, what's the biggest mistake you see them making and how would you go about solving it if you were in their shoes?

[00:21:54] Yeah. So biggest mistake I think is pretending, is feeling like you have to pretend, more than you do. It just kinda, it was just the idea of lamp shading, which is the sense of you're a junior developer, you want to show that you have value and you are competent.

[00:22:13] So when people ask you to do stuff, or w if people ask you that, whether you understand stuff you say that you do that actually like people will take care of your word and they'll trust that, you know what you're talking about. And if you, if it turns out that you don't, or you, it turns out that you're missing knowledge in some way, There's two things that happen.

[00:22:30] Like one is you you miss out on a teaching opportunity. Like people teaching you things that you already know, like that's actually not the worst thing in the world. But it's probably true that they'll teach you something that you don't know, or they presented to you in a new light.

[00:22:45] I think that's a very valuable sort of. Experience to have. And then the other thing is that you lose trust. If you start to present yourself as more competent than you, then you are I think it's better to be, to lampshade your vulnerability and say like, I have some awareness of this, but it's only theoretical.

[00:23:01] I haven't really worked with it in production. And like, can you walk me through this, the stuff that I should know. And just being humble enough to admit that, like that, you're. You don't know, everything is a very good learning strategy in general, but especially for junior engineers, because do you knowing that like you're not at risk.

[00:23:18]And I think people feel very vulnerable, especially when they start out, but that is when you're the most invulnerable because it's their job to take that responsibility on. So, make the most of it. Cause you don't get much of a shot afterwards, I don't get much of a shot for that these days.

[00:23:33]Prevents you a tree. It's an amazing analogy. Okay. Yeah. Totally right. Like everything that we apply and translate machine learning all the way down to operating systems. These are general rules that we've systematized and we have the algorithms, we have the source code.

[00:23:47] That's amazing compared to. The fuzziness of the human world. And I think if we can take those general rules and apply to our world, I think those are just generally very interesting insights. Because those are clean systems and then we apply them down to the messy systems that we are.

[00:24:03] What should be the aim when job hunting big companies or startups?

It's up to you? So I I, I have, I actually have three categories when I talk about the job hunting section big companies, startups and agencies. Obviously, I think I do. I do agree that agencies tend to be the most challenging, but these are all, these are good starting points.

[00:24:19] I've seen people be extremely successful. All of them personally I have a preference for, because so, for me it was it was down to Google or to Sigma. When I had my first job in two sandwiches, made a better offer. Big companies give, generally tend to have a better junior training program.

[00:24:35]And they have a brand name which makes your subsequent hires. Your subsequent job moves easier. Whereas startups and agencies don't have that cachet with them, although they may give you more generalist learning opportunities because you're more responsibility because of the downside of yes they may pay well they may have better resources, but then you might be a cog in the wheel and not do very much.

[00:24:56] Which is a risk. Okay. So if you had the knowledge you have today, back when you started, what would you have focused on getting better at first? Oh wow. I gotta think on that one. Holy crap. Getting better, I think. Hm. I think getting better at shipping projects. I'm not very good. And like I'll straight up admit that I'm not very good at shipping projects from end to end.

[00:25:19] Like I can do, I can take down a JIRA ticket and, knock out an issue. And that's like a one day to one week affair, but to work on something for like three months and be responsible for the entire stack for them. Hello world, all the way to the market marketing and taking payments and customer support.

[00:25:35]That's something that I've only done once in my life, like right now. And I learned so much during that process and I think, I wish I did a lot more of that, like shipping side projects a lot more. That's something that. I've done a little bit of in, in terms of, I think one way to level up is to clone open source apps.

[00:25:49]And mainly that's because you get a chance to compare your implementation with other people's implementation. And then also you might get the maintainers of those applications to review your work, which they have for me. And that's free learning. And I think I didn't really get that until I traded a couple of times, it's a lot of work. But I would definitely, if I had more time, I'll do that.

[00:26:06] Can you expand more on the differences between being a junior software engineer and finance to Sigma versus tech? Okay. So just to be clear I was in finance in in different companies when I was in two Sigma. I was a software engineer, but when I was in finance, I was a trader.

[00:26:21] I was an investment banker well trader and analyst junior software engineer in finance, reverse tech. Yeah. I don't know. I don't know how to talk about this one. So it's too general for me to give you a good answer. Like Fang itself is a massive fricking category, right? You've got Facebook on one end and you've got AWS on the other end and they have very different audiences. So Fang itself is too huge to generalize.

[00:26:43] And it's just not a great question. So, I don't spend too much time thinking about that. Since he came from finance, how do you find breaking into tech?

If you don't have contacts, do you have any advice in terms of contacting real people or companies to show yourself in the best light possible?

[00:26:54] I'm not sure. Cold calling recruitment email addresses are the best thing to do, actually that can help cold calling. Let me show you this cold email that I found from the edit the other day, cold email, cold emailing.

[00:27:06]This guy directly cold email. Oh God. This guy directly called emailed Evan Spiegel, the CEO of Snapchat. And he just made it right to the point. So I'm going to call this told email textbook cold email. So that's check that out for Colby bill. I mean, I don't have a lot of advice on that front because I got lucky.

[00:27:28] I, did a boot camp in New York and at the end of the bootcamp, they have a hiring day. And the first person I sat down with on hiring day, that was the first, that was the two, my my hiring manager to Sigma. And it turned out that I got the job with her after two months of back and forth.

[00:27:44] But We all have different stories breaking into tech. Mine was just straight out careers or career transition through a bootcamp. So we all have different stories. And I think networking is always a great way, but like as long as you can pitch yourself in some unique way, that's that makes you stand out.

[00:27:59] I think that gets you in front of the door faster than other people. We are in a very weird time right now, where there have been a lot of laid up layoffs. And so there's a lot of senior software engineer talent from places like Airbnb and Uber that will crowd out some of the more senior level positions.

[00:28:13]But I don't think you should be that wording for where you are at. And the other thing that you should always be aware of is that, the general demand for software in the past three to four months has done. In, in, in every category from e-commerce to social networking, to, to sort of office software, I don't know what you call it, but so there's a huge demand for software engineers. You're in a great time to be in software stick it out.

[00:28:31] How easy or hard is it to change your field?

Seeing clients who is both Korea and software development in three or four years down the line, you said Jeff one field together. I don't know anything about AI. So I'm not going to comment about that.

[00:28:45] I think just as a general software engineer, you have a very flexible skillset and that's a blessing compared to other industries. Like I have friends who are lawyers and doctors and they're not as transferable as we are. So yeah. It's good. It's easy. I'd say that. Our salon, do you prefer crash courses over official documentation to quickly catch up?

[00:29:03]Yeah. So this is something I have a strong opinion on. So think about the levels of learning a very simple sort of. Tiers of learning is like three tiers, like beginner, intermediate and advanced. Okay. Beginners need the quickest way to get from, to get to hello world. Right? Like to get from zero to something productive.

[00:29:21]Advanced people only need the diffs. Right. I know what I know. I know the state of the art, just let me know. What's changed. The intermediate people are the people who actually know. To fill in all the gaps and they don't like, they may feel too confident. They may feel they may, they may just not know everything that they should know.

[00:29:37] So. You take a crash course if you're a beginner, but the, you take the official documentation or the source code if you're intermediate and I always encourage people if you want to go, if you want to really level up do like do the hard work of like read technical books from cover to cover and look out for the stuff that isn't covered that much.

[00:29:52] And people are like, not even really willing to talk about that much because it's an unresolved issue. That's where you you actually find the most opportunity for growth and Deep investigation. Yeah.

What do you think about product management and how would the graduate set of career path aim towards that?

[00:30:06] Yeah, so I actually have a chapter on, beyond a coding career. So something that maybe is not so obvious is that a lot of people actually graduated from coding to non-coding. And whether that's engineering management or product management or being a founder of being instructor or whatever.

[00:30:20]These are all these all, interesting career paths. Product management. So, I think something on the order of 60% of PMs are former software engineer. So you're actually, you actually well-served, if you are a software engineer Quite well of it and well-run companies.

[00:30:35] And I think quite poorly of product management at shitty companies mainly because I was at a startup that had PMs where the PMs would basically glorified project managers. So, part of pro product management is also project management where you're corralling software engineers to fit towards some kind of business goals.

[00:30:52]And a lot of the times, if you're not really con if you're, if your software teams are not really jelling or working well with you then you're just scheduling weekly updates, asking if if they're delivering there or not or if you're not being empowered by your upper management.

[00:31:06] Then you're just executing on someone else's vision and you're not really being CEO of the product, which is the selling point of product management. And the other thing I think it's is the problem with product management is that you're given, it's what they call it.

[00:31:17] You're given all of the risks, all of the responsibility, but none of the authority, which means that nobody reports to you, but you have to, but you're responsible for the P and L right. And you have to wrangle by charm or begging other departments to work with you to deliver some shared goals.

[00:31:32] So there's a lot of like, I guess, political navigation that they may need to do. That's like the cynical view or you might, you might view that as like the buck stops with you in terms of like where where this sort of product or business unit goes. And you need to be able to be able to work with, senior engineers and other senior engineers marketing.

[00:31:50]Design whatever to to deliver something that users will love. So probably mentioned is like a very multi-disciplinary thing. But you're going to be well-served if you start off on the software side of things how would it graduate set of career path into ours that like study strategy, study tech strategy?

[00:32:05]The stuff that I covered very briefly in terms of business models of tech what's the horizontal versus vertical stuff like that. I can give you a lot more resources. Just email me. I'm just a type in my email over here. Cause I care a lot about strategy as well. So, just email me more questions about product management and I'll set you on the right path in terms of links and resources delivering projects early versus enforcing quality.

[00:32:24] Which one do you prefer? Does AWS have a priority among them? So I'm only two months into AWS, so I don't really have a good sense. The real trade-offs. I know what they say, but I always, I'm always mindful of the difference between what people say they do and what they actually do. What they actually do.

[00:32:40] Well, what they say they do. Is that there is a high level of quality enforcement. So, and this goes down all the way down to docs, to tests to thinking about the different edge cases. And because AWS has a million products, a lot of that is the comment torics of like, I want to ship this new feature, but how is that going to work with these other a hundred different features as well?

[00:33:00]So to me, that's high quality that you have to think of all these use cases. The other thing about high quality is that once you ship something, you have to maintain it. It always never deprecates anything. So that's the other thing that you got to think about forward compatibility as well?

[00:33:13]I prefer delivering early and often, but then iterating continuously. So I don't think that's like a strict, trade-off like either early or it's good. You can deliver early and then iterate until it's good. So, it's really up to you.

What's the best or correct way of approaching a recruiter slash employee to get a referral?

[00:33:32]Hm. So this used to be easier in the days before COVID where you could actually ask someone to to, have a coffee or take a walk with you. I in New York, it's really nice to ask people out for walks because then you're not sitting all the time. You're actually out and about and enjoying the outdoors, especially now.

[00:33:51]During COVID it's a little bit harder. Sometimes you might just need to schedule a zoom chat and in the mattress we have half an hour, like, tell me about what you do. I'll let you know your day in the life and like how the company works and all that. I actually tend to encourage people to not to get, not to be too zeroed in on this referral because they're going to offer it to you.

[00:34:10]Most like it, it doesn't cost us anything. And. And so they're the referrals, the easy part, the difficult part is really understanding what they do so that you have good answers when you go through the interview process and when you have to decide on which job to take and yeah, referrals don't cost anything, like everyone, everyone can refer pretty easily.

[00:34:28] So that's not the, that's not the issue. The issue is really understanding on a fundamental level, what they do and figuring out whether that's something that you want to work on.

When hiring someone and looking at OSS contributions, how would you rate it from very different projects are more well-known? Friday's considered more highly, or does it depend on how technically sophisticated the project is, or it makes a different factors.

[00:34:48] Wow. Big questions. So at a very simple level, if it's a project that the company already uses, or I already. Then I'm going to read that more just because I'm more familiar with it. And it's almost like a gratefulness thing. Like thank you for working on something that I use. And I've seen this, I have a quote from Josh Goldberg at teachable who says that any, like anyone who's contributed to in a non-trivial way to a project that they use at work gets an interview from him.

[00:35:14]And yeah, it's just something that people don't explain enough. Well, first of all, it's not easy to contribute to something like a Webpack or TypeScript. But if you do it, it's not that hard. It's not easy. It's not hard. It's just not trivial. Okay. And but if you do it then that stands very well with with people when hiring OSS contributions.

[00:35:30]But at the same time, it's something that you have to surface during your cover letter or your resume, because I am not going to go through your GitHub and dig through every contribution of yours. Like you have to tell me. So just be aware of that. Like nobody has time to dig through your GitHub.

[00:35:42] No, one's paying attention to that much. Just like the other guy said from Google Just have three. I just have a perfect thing, a good thing, like a complete thing. And then one of a story. And I think that's a good sort of spanning minimum spending. It's tree, is that a tree or whatever it means minimum spending set of of achievements.

[00:36:00]And if it's open source that they use, then that's even better. Big, like, so, I went, my first sort of big open-source contribution was react and and that it's impressive, but at the same time, it takes a long while. And actually, the reactant here is now let's say like, don't do that.

[00:36:16]Go contribute to the smaller open source project. They actually need help rather than piling in on the big one that everyone wants to help in on. And yeah. So it's up to you what strategy you want to pursue, but definitely open sources is a good and hiring approach method.

[00:36:29]Provence shoe, w would you deliver a feature with hacky implementation or delay in order to do quality? You? I just said that like, Make it work, then make it right. Then make it fast. Right. In that order cutout. We'll cut again.

What's the benefit of a random employee spending the time on you for referral or talk about their job? I feel like it's one sided for the student.

[00:36:47] Like I'm yeah. I'm a random employee and I'm spending more time with you. I'm paying it forward. I hope that, you will do this for people, in, in future. Because I care about. New people coming into our industry. I care about people having healthy approaches to the career.

[00:37:04]There's a lot of hustle in in our career that causes burnout. There's a lot of bad advice out there. So I'm trying to do my bit, so I dunno, it's just more like, sometimes you want to have a nice conversation with people who are eager about. Sometimes you meet, you may feel a little bit like too in the weeds with people who have so much context every day, and sometimes he might just have like a nice one-off conversation with someone.

[00:37:28]Who's super interested in everything you say and that's very flattering. So, yeah, it's not too hard to make that justification. Yeah, I think that's it for questions. Is there any additional questions we still have about five or six? Perfect. There we go. Some are coming in. I know.

[00:37:44]It's super interesting. I mean, feel free to like, I don't know. I'm mute and ask this yourself. Cause I'm reading both sides.

How do you ask developers for conversations about their job or guidance?

Just straight, email. Email's good. Like if you know them, if you like know them by like a friend of a friend, then yeah.

[00:38:02] Do that. But if not just call email or Twitter, like you like be prepared to get ignored. I'm not saying you won't get ignored, but like it, that is the best way. Yeah. And also like, be able to pitch yourself like refer to that cold email person, but then also there's that, that person so like be able to pitch yourself in a very short form, right?

[00:38:22] Like what you want and like who you are, what you want and how they can help you. Right. And like the more specific you're asked the better it is for people to help you. So let me try to pass this along to you, Vinny and share a tip. Stand alone. I mean, one second. I'm going to, I'm going to pass you this so you can pitch yourself so pitch yourself as you go.

[00:38:45] Okay. Cartek how do I approach about the referral at the end of the conversation though?

Like, Hey, we talked and stuff and I'll give job It most just mentioned the word referral some somewhere in your conversation and they'll pick up on that. If they don't want to refer you, then they won't offer.

[00:39:01]And you can take that hint and just, that conversation probably didn't go that well. Otherwise like, yeah, like, like again, it's. Sometimes. So it's so yeah. So first of all, just like, make sure you mentioned referral at somewhere in the conversation and they'll pick up on that, that you're also trying to get a referral.

[00:39:18] Well, like again, like. The sole purpose of the conversation, right? You genuinely want to learn and you genuinely want to have feel for future conversations, like one other really good thing to get out. Like, even if you do not get a referral one other really good question that you can ask at the end of a conversation like that is who else should I talk to and have them refer you to their other friends or.

[00:39:39]People who are a better fit to talk to you to talk to your interests and mining the social graph rather than just getting that system referral because that's that's, that's one referral, but like having more people actually speak up for you that's also very valuable.

[00:39:52] do you prepare for data structure and algorithms for job interviews? Is there a fun way for that?

I don't know if there's a fun way you can game-ify it, with with points and stuff. I was. Friend slash beta tester of algo expert.io before they were famous. And that has like a nice completion system, which is nice.

[00:40:10]So long story short, I did, I spent two to three hours a day on that. And I'll be honest. Like I only used it at my Google interviews, every other interview, every other job that I interviewed at didn't really use. Traditional algos and data structures. They, the sort of technical interviews, but it wasn't like, right.

[00:40:29]Men heap or something, like it wasn't that sort of classical textbook algorithm stuff. It was just more applied on to specific problems. So fun way for that. Not really just know that you are actually going to have some points in your career where you actually use this knowledge.

[00:40:44] It's not just for interviews and that day will come and you will be thankful for that. You studied this stuff. And to me, that makes it fun. Nice pizza. What do you think about referrals? What does that mean? Nice pizza. Yeah, sure. Okay. Yeah. Mentioning referrals. Got it. Yeah. Cool. Yeah that's I think that's that for my answers look like I, I'm not, I don't know if I have the best answers, but feel free to have that conversation with me.

[00:41:06] Like, email me, I'm happy to answer. I may not answer right away. And I tend to try to answer it in public. My answer with, you can be shared with other people who have the same question. But I strongly believe that, I think we need to have more conversations like this from people who've, are a few years into our process to people just starting out.

[00:41:23]So that's why I'm here. Thanks, Leah. Bye. Thanks for having me. Nice day.

View Details

Sources:

  • Masked Singer Monster all Performances & Reveal | Season 1
  • T-Pain: NPR Music Tiny Desk Concert
  • T-Pain - Mashup (To The Beat with Kurt Hugo Schneider)
  • T-Pain: https://en.wikipedia.org/wiki/T-Pain

View Details

Audio source: https://www.listennotes.com/podcasts/intelligence-squared/the-sunday-debate-brave-new-usI2DpLUHQ0/ (10 mins in)
Full debate: https://www.youtube.com/watch?v=31CcclqEiZw

Part 1 here: https://swyx.transistor.fm/episodes/1984-vs-brave-new-world-pt-1-intelligence-squared

View Details

Audio source: https://www.listennotes.com/podcasts/intelligence-squared/the-sunday-debate-brave-new-usI2DpLUHQ0/ (55 mins in)
Full debate: https://www.youtube.com/watch?v=31CcclqEiZw

Part 2 is next: https://swyx.transistor.fm/episodes/1984-vs-brave-new-world-pt-2-intelligence-squared

Loki vs 1984: https://twitter.com/swyx/status/1419128271799656449
Aldous Huxley's comments: https://en.wikipedia.org/wiki/Aldous_Huxley

View Details

Source: https://www.youtube.com/watch?v=tffX3VljTtI (11 mins in)

Warren Spector's 6 + 2 + 1:

  • What's the core idea?
  • Why do this game? Commercial hit? No choice?
  • What are the dev challenges? Hard is ok, impossible not good
  • Is this idea well-suited to games? Games are about DOING, not BEING
  • What's the fantasy? If no fantasy, bad idea
  • What are the verbs? Games are about Doing
  • Has anyone done this before? If no - could be a bad idea, or good, just be careful
  • What's the ONE thing? ONE new thing that hasn't been done before
  • Do you have something to say? An issue/theme to explore

View Details

The incredible origin story of Yahoo from start to $850m IPO in 2 years.

Source: https://greatness.floodgate.com/episodes/jerry-yang-how-yahoo-went-from-a-hobby-to-the-early-king-of-the-internet

Yahoo Origin Story

Jerry Yang: When the HTTP and the web and HTML came along, it was this moment of aha. All that information can be put together in a graphical way. That is point and click. You don't have to sit in and typing command line and hyperlink.

[00:00:15] So you just kept going. You could keep exploring as owns there's links to click on now. Moment for us to say, wow, this is going to be big because anybody can create a website and can link to other websites. So you don't need a lot of content to start. Right. You could just start and say, Hey, here's my Madonna website and here's five other ones.

[00:00:34] And it was totally decentral. There was no way of knowing who created what website, when and how was updated and things like that. So, so there were just websites out there. So there's websites that are popping up everywhere. And so we created a little, just the beginning when we called it hotlist and then David started writing the end to get it into more of a database format, more tagging or labeling more keywords and a more directory structure.

[00:01:00] And. Publish it onto a webpage in the front end. And so it was called Jerry's guide to the world wide web. And then. And I don't quite remember exactly when it was, has gotta be, early 94, mid 94. And then at some point I got sick of putting my name out there and David doing 80% of the work. So I put David and Jerry's guide to the world wide web, and then all hell broke loose.

[00:01:19] So we said, One night, let's not leave until we come up with a new name. Right. So I remember we were, at the office and God, it must've been midnight and we were getting tired and sick of this. And so, so we said fine, let's look up all the acronyms that had yet another Y There's all kinds of computer tools.

[00:01:37] I have Yia references and we looked in the dictionary and Yahoo stood out. Partly it was because if you look in the dictionary, it means people who are very uncivilized uncouth, rude, and were like cost. Great. We're just a couple of years.

[00:01:50] Mike Maples Jr: And was David

[00:01:51] Jerry Yang: from Louisiana. He was from Louisiana. Yeah, he claims his father called him a Yahoo or Yahoo growing up.

[00:01:57] So, and so we just thought it was funny. It was short because we were typing our thing. We could get a short Yahoo that, Stanford IDU, everybody thought we were the chocolate drink it's it was it was just a totally zany off the cuff decision.

[00:02:11] Mike Maples Jr: And at the time, did you even really think it was that important of a decision or is this just still a hobby?

[00:02:16] Jerry Yang: It was absolutely a hobby. And so it was only important because, we had to go and tell people that this is what is now called. You don't have to type in David and Jerry's guide to the world wide web anymore. And it remained a hobby until. Until it wasn't.

[00:02:29] Mike Maples Jr: And when you were designing the original Yahoo product, did you draw on any lessons from like library science or attempts pre prior attempts and just throughout history to classify

[00:02:41] Jerry Yang: it?

[00:02:41] Thanks. Yeah, it was funny. I, as a college student, I, one of the jobs I had to take was working in the engineering library, working in the stocks too. To restack books. So I was very familiar with it, the Dewey decimal system, and a bunch of other ways of organizing information. And it just didn't seem right when we started Yahoo to go to any existing system.

[00:03:00]So we created our own sort of ontology our tagging system, our directory tree that I think lived on for quite a while but it was a bit ad hoc. And so we realized we needed somebody that understood organizing information at a grand scale. And that's when you know, , who was a symbolic systems major, Stanford joined us and she like.

[00:03:22] Put order into the chaos.

[00:03:23]Mike Maples Jr: And I guess, with libraries, you've got some type of hierarchy, I suppose, right. Books are in a classification or sub classification and you're trying to put them back on shelf. Right. So, but the internet, I suppose, you discover pretty quickly, it's different. Right?

[00:03:38] You can cross link to

[00:03:40] Jerry Yang: lots of different, right. You're exactly right. So it's more of a graph than a tree, in a it's more interconnected graph. It doesn't. We try to avoid circles. You don't want to get in the place where you just can't get self out, but the idea that you can interrelate, you can get to you can get to a music artist from Iceland, from starting with Iceland, countries, Iceland, or you can start with music artists, or you can start with pop.

[00:04:02]The idea was to get people where they want to go. If you think of a keyword, why would you. Not let that keyword get you where you want to go, rather than following some crazy hierarchical system that may or may not make sense to you. So, so it was again, this mental and mentality of really focusing on the user needs and creating a system that you will go, oh, okay.

[00:04:21] I see how you got here. So next time I know. I could start here. I would start there and making sure that's consistent. And that's, that was, that's why I ended up being a search metaphor too is whatever keywords you typed in allows you to get to the right place, not multiple places.

[00:04:36] Mike Maples Jr: When did it start to occur to you? Whoa, like this is starting to

[00:04:39] Jerry Yang: take off. Once we became the place known for having a pretty well organized, pretty comprehensive in a very fast site. I mean, David really emphasize making sure that, we had a really quick loading site and that was really important because.

[00:04:54] Back then, most computers were dial ups. Most people viewing our stuff wasn't on a fast connection. So yes, you want to put all these fancy images out there, but if it takes forever to load, so he always really emphasized that user benefit. I can't quite remember it, but probably by the end of, mid 94, towards the end of 94, we had IP addresses from over a hundred different countries, hitting our service.

[00:05:17]We have millions of unique IPS that were hitting us. We didn't know about users back then. And people started, we started to become this network effect where if you were putting up a website, you have to register it in different places. And we became one of the places you had to.

[00:05:29] People know, you have to let Yahoo know that you have this website, or I have this change, or can I get reclassified because I did this. And so we ended up being in this constant communication with a web community that was very human. That was very there's two guys behind it. And that was an important element because I.

[00:05:46] You could have easily written algorithms to do all that, but back then, it wasn't, it was a little too chaotic and it was a little, the quality really varied and websites went up and down all the time. And there's nothing worse than hitting a 4 0 4. Right. So it was just, it was, you could feel the energy of the web growing through.

[00:06:03] The work we were doing. And that was really compelling. And, we stayed up all night and barely slept. And then, you had to come back, otherwise the list just gets long.

[00:06:10]And then I remember finally, one day our system administrator came to us and says, we can't hide you guys anymore.

[00:06:15] There's so much bandwidth being sucked up by these two servers over here. You guys got to, got to go find a home. And that's when I think we became more visible and aware of the opportunities out there. And once people realize Yahoo is finding home, that's right. That's when the opportunities avail themselves, whether it's corporate partners or venture capitalists.

[00:06:36]So we, we said to ourselves, well, we might as well explore those. We, we don't know what it's going to become of it, but why not? Why not check it out. And so

[00:06:43] Mike Maples Jr: how many venture capitalists did you talk

[00:06:45] Jerry Yang: to? I would say probably a handful. So consumed and busy trying to keep the service going that we couldn't spend a lot of time fundraising, if you want to call it that we didn't know that was the process.

[00:06:55] And I think we pretty quickly settled on. On who we thought understood what we wanted to do the best. And that was Mike Morrison.

[00:07:04]Mike Maples Jr: And what was your pitch like? Did you have a slide deck? Did you, or did you say here's

[00:07:09] Jerry Yang: Yahoo to the, well, when you, I think someday, if you talk to Mike on the podcast, you have to ask him his version.

[00:07:15] But I, to this day, I remember. Who were in that general partner's meeting saying, oh yeah, I remember when you guys come in and present it. And I don't remember a presentation. I remember sitting in a corner of a room, a large table, a bunch of Sequoia partners and talking, and so, maybe I think we show the service or something.

[00:07:31] So, so I don't know, maybe there was a pitch deck who knows, but no, it wasn't. In retrospect, I don't think it was a lot of capital for Sequoia. Yeah. But it was also probably an Unconvention. Investment, right? I mean, you got two PhD students that no experience, no business model, no business plan. We had a great service that had a lot of users, but but there were tons of competitors.

[00:07:53] Everybody says, look, These two guys put together by hand that

[00:07:56] Mike Maples Jr: it's hard to remember now, but I remember in those days, people didn't even think Netscape was going to have a business model, right? Like no, nobody could figure out what the business model of the internet would be.

[00:08:06] Jerry Yang: Right. And it was a research and an academic medium that was staunchly believed in non-commercial activities.

[00:08:14] And so it was this very tender. Time where, whether you could charge for software, like Netscape ended up doing or charge for advertising. Like we ended up doing those are very non-obvious speculative kind of ideas because the internet community could have easily rejected that. Okay. So

[00:08:32] Mike Maples Jr: then Mike just decides to take the risk and he invests.

[00:08:35]How much did Sequoyah invest

[00:08:36] Jerry Yang: in you? Yeah. They did a million dollars of the $4 million post, not bad. And then I

[00:08:42] Mike Maples Jr: think they did all right. I think they did. Okay.

[00:08:43] So from the time you raise money to IPO, how long was it?

[00:08:47] Jerry Yang: We were incorporated like on March 1st, 1995. And then we went public on April in 1996, right? Yeah. I remember driving down one, went to, we went to Montgomery securities on the day of the IPO.

[00:09:00] I was driving back down, one-on-one going to work and it hits you, it's like, oh my God, we're a public company. But because the internet was. He was so competitive and was a land grab and we had to at least, get enough cash so that we're not. So the cash wasn't, that then will be the reason that we didn't succeed.

View Details

This is the audio version of the essay I published on Monday.

I'm excited to finally share why I've joined Temporal.io as Head of Developer Experience. It's taken me months to precisely pin down why I have been obsessed with Workflows in general and Temporal in particular.

It boils down to 3 core opinions: Orchestration, Event Sourcing, and Workflows-as-Code.

Target audience: product-focused developers who have some understanding of system design, but limited distributed systems experience and no familiarity with workflow engines

30 Second Pitch

The most valuable, mission-critical workloads in any software company are long-running and tie together multiple services.

  • Because this work relies on unreliable networks and systems:
    • You want to standardize timeouts and retries.
    • You want offer "reliability on rails" to every team.
  • Because this work is so important:
    • You must never drop any work.
    • You must log all progress.
  • Because this work is complex:
    • You want to easily model dynamic asynchronous logic...
    • ...and reuse, test, version and migrate it.

Finally, you want all this to scale. The same programming model going from small usecases to millions of users without re-platforming. Temporal is the best way to do all this — by writing idiomatic code known as "workflows".

Requirement 1: Orchestration

Suppose you are executing some business logic that calls System A, then System B, and then System C. Easy enough right?

But:

  • System B has rate limiting, so sometimes it fails right away and you're just expected to try again some time later.
  • System C goes down a lot — and when it does, it doesn't actively report a failure. Your program is perfectly happy to wait an infinite amount of time and never retry C.

You could deal with B by just looping until you get a successful response, but that ties up compute resources. Probably the better way is to persist the incomplete task in a database and set a cron job to periodically retry the call.

Dealing with C is similar, but with a twist. You still need B's code to retry the API call, but you also need another (shorter lived, independent) scheduler to place a reasonable timeout on C's execution time since it doesn't report failures when it goes down.

Do this often enough and you soon realize that writing timeouts and retries are really standard production-grade requirements when crossing any system boundary, whether you are calling an external API or just a different service owned by your own team.

Instead of writing custom code for timeout and retries for every single service every time, is there a better way? Sure, we could centralize it!

We have just rediscovered the need for orchestration over choreography. There are various names for the combined A-B-C system orchestration we are doing — depending who you ask, this is either called a Job Runner, Pipeline, or Workflow.

Honestly, what interests me (more than the deduplication of code) is the deduplication of infrastructure. The maintainer of each system no longer has to provision the additional infrastructure needed for this stateful, potentially long-running work. This drastically simplifies maintenance — you can shrink your systems down to as small as a single serverless function — and makes it easier to spin up new ones, with the retry and timeout standards you now expect from every production-grade service. Workflow orchestrators are "reliability on rails".

But there's a risk of course — you've just added a centralized dependency to every part of your distributed system. What if it ALSO goes down?

Requirement 2: Event Sourcing

The work that your code does is mission critical. What does that really mean?

  • We cannot drop anything. All requests to start work must either result in error or success - no "it was supposed to be running but got lost somewhere" mismatch in expectations.
  • During execution, we must be able to resume from any downtime. If any part of the system goes down, we must be able to pick up where we left off.
  • We need the entire history of what happened when, for legal compliance, in case something went wrong, or if we want to analyze metadata across runs.

There are two ways to track all this state. The usual way starts with a simple task queue, and then adds logging:

(async function workLoop() { const nextTask = taskQueue.pop() await logEvent('starting task:', nextTask.ID) try { await doWork(nextTask) // this could fail! catch (err) { await logEvent('reverting task:', nextTask.ID, err) taskQueue.push(nextTask) } await logEvent('completed task:', nextTask.ID) setTimeout(workLoop, 0) })()

But logs-as-afterthought has a bunch of problems.

  • The logging is not tightly paired with the queue updates. If it is possible for one to succeed but the other to fail, you either have unreliable logs or dropped work — unacceptable for mission critical work. This could also happen if the central work loop itself goes down while tasks are executing.
  • At the local level, you can fix this with batch transactions. Between systems, you can create two-phase commits. But this is a messy business and further bloats your business code with a ton of boilerplate — IF (a big if) you have the discipline to instrument every single state change in your code.

The alternative to logs-as-afterthought is logs-as-truth: If it wasn't logged, it didn't happen. This is also known as Event Sourcing. We can always reconstruct current state from an ever-growing list of eventHistory:

(function workLoop() { const nextTask = reconcile(eventHistory, workStateMachine) doWorkAndLogHistory(nextTask, eventHistory) // transactional setTimeout(workLoop, 0) })()

The next task is strictly determined by comparing the event history to a state machine (provided by the application developer). Work is either done and committed to history, or not at all.

I've handwaved away a lot of heavy lifting done by reconcile and doWorkAndLogHistory. But this solves a lot of problems:

  • Our logs are always reliable, since that is the only way we determine what to do next.
  • We use transactional guarantees to ensure that work is either done and tracked, or not at all. There is no "limbo" state — at the worst case, we'd rather retry already-done work with idempotency keys than drop work.
  • Since there is no implicit state in the work loop, it can be restarted easily on any downtime (or scaled horizontally for high load).
  • Finally, with standardized logs in our event history, we can share observability and debugging tooling between users.

You can also make an analogy to the difference between "filename version control" and git — Using event histories as your source of truth is comparable to a git repo that reflects all git commits to date.

But there's one last problem to deal with - how exactly should the developer specify the full state machine?

Requirement 3: Workflows-as-Code

The prototypical workflow state machine is a JSON or YAML file listing a sequence of steps. But this abuses configuration formats for expressing code. it doesn't take long before you start adding features like conditional branching, loops, and variables, until you have an underspecified Turing complete "domain specific language" hiding out in your JSON/YAML schema.

[ { "first_step": { "call": "http.get", "args": { "url": "https://www.example.com/callA" }, "result": "first_result" } }, { "where_to_jump": { "switch": [ { "condition": "${first_result.body.SomeField < 10}", "next": "small" }, { "condition": "${first_result.body.SomeField < 100}", "next": "medium" } ], "next": "large" } }, { "small": { "call": "http.get", "args": { "url": "https://www.example.com/SmallFunc" }, "next": "end" } }, { "medium": { "call": "http.get", "args": { "url": "https://www.example.com/MediumFunc" }, "next": "end" } }, { "large": { "call": "http.get", "args": { "url": "https://www.example.com/LargeFunc" }, "next": "end" } } ]

This example happens to be from Google, but you can compare similar config-driven syntaxes from Argo, Amazon, and Airflow. The bottom line is you ultimately find yourself hand-writing the Abstract Syntax Tree of something you can read much better in code anyway:

async function dataPipeline() { const { body: SomeField } = await httpGet("https://www.example.com/callA") if (SomeField < 10) { await httpGet("https://www.example.com/SmallFunc") } else if (SomeField < 100) { await httpGet("https://www.example.com/MediumFunc") } else { await httpGet("https://www.example.com/BigFunc") } }

The benefit of using general purpose programming languages to define workflows — Workflows-as-Code — is that you get to the full set of tooling that is already available to you as a developer: from IDE autocomplete to linting to syntax highlighting to version control to ecosystem libraries and test frameworks. But perhaps the biggest benefit of all is the reduced need for context switching from your application language to the workflow language. (So much so that you could copy over code and get reliability guarantees with only minor modifications.)

This config-vs-code debate arises in multiple domains: You may have encountered this problem in AWS provisioning (CloudFormation vs CDK/Pulumi) or CI/CD (debugging giant YAML files for your builds). Since you can always write code to interpret any declarative JSON/YAML DSL, the code layer offers a superset of capabilities.

The Challenge of DIY Solutions

So for our mission critical, long-running work, we've identified three requirements:

  1. We want an orchestration engine between services.
  2. We want to use event sourcing to track and resume system state.
  3. We want to write all this with code rather than config languages.

Respectively, these solve the pain points of reliability boilerplate, implementing observability/recovery, and modeling arbitrary business logic.

If you were to build this on your own:

  • You can find an orchestration engine off the shelf, though few have a strong open source backing.
  • You'd likely start with a logs-as-afterthought system, and accumulating inconsistencies over time until they are critical enough to warrant a rewrite to a homegrown event sourcing framework with stronger guarantees.
  • As you generalize your system for more use cases, you might start off using a JSON/YAML config language, because that is easy to parse. If it were entrenched and large enough, you might create an "as Code" layer just as AWS did with AWS CDK, causing an impedance mismatch until you rip out the underlying declarative layer.

Finally, you'd have to make your system scale for many users (horizontal scaling + load balancing + queueing + routing) and many developers (workload isolation + authentication + authorization + testing + code reuse).

Temporal as the "iPhone solution"

When Steve Jobs introduced the iPhone in 2007, he introduced it as "a widescreen iPod with touch controls, a revolutionary mobile phone, and a breakthrough internet communications device", before stunning the audience: "These are not three separate devices. This is ONE device."

This is the potential of Temporal. Temporal has opinions on how to make each piece best-in-class, but the tight integration creates a programming paradigm that is ultimately greater than the sum of its parts:

  • You can build a UI that natively understands workflows as potentially infinitely long running business logic, exposing retry status, event history, and code input/outputs.
  • You can build workflow migration tooling that verifies that old-but-still-running workflows have been fully accounted for when migrating to new code.
  • You can add pluggable persistence so that you are agnostic to what databases or even what cloud you use, helping you be cloud-agnostic.
  • You can run polyglot teams — each team can work in their ideal language, and only care about serializable inputs/outputs when calling each other, since event history is language-agnostic.
  • There are more possibilities I can't talk about yet.

The Business Case for Temporal

A fun anecdote about how I got the job: through blogging.

While exploring the serverless ecosystem at Netlify and AWS, I always had the nagging feeling that it was incomplete and that the most valuable work was always "left as an exercise to the reader". The feeling crystallized when I rewatched DHH's 2005 Ruby on Rails demo and realized that there was no way the serverless ecosystem could match up to it. We broke up the monolith to scale it, but there were just too many pieces missing.

I started analyzing cloud computing from a "Jobs to Be Done" framework and wrote two throwaway blogposts called Cloud Operating Systems and Reconstituting the Monolith. My ignorant posting led to an extended comment from a total internet stranger telling me all the ways I was wrong. Lenny Pruss, who was ALSO reading my blogpost, saw this comment, and got Ryland to join Temporal as Head of Product, and he then turned around and pitched (literally pitched) me to join.

One blogpost, two jobs. Learn in Public continues to amaze me by the luck it creates.

Still, why would I quit a comfy, well-paying job at Amazon to work harder for less money at a startup like this?

  • Extraordinary people. At its core, betting on any startup is betting on the people. The two cofounders of Temporal have been working on variants of this problem for over a decade each at AWS, Microsoft, and Uber. They have attracted an extremely high caliber team around them, with centuries of distributed systems experience. I report to the Head of Product, who is one of the fastest scaling executives Sequoia has ever seen.
  • Extraordinary adoption. Because it reinvents service orchestration, Temporal (and its predecessor Cadence) is very horizontal by nature. Descript uses it for audio transcription, Snap uses it for ads reporting, Hashicorp uses it for infrastructure provisioning, Stripe uses it for the workflow engine behind Stripe Capital and Billing, Coinbase uses it for cryptocurrency transactions, Box uses it for file transfer, Datadog uses it for CI/CD, DoorDash uses it for delivery creation, Checkr uses it for background checks. Within each company, growth is viral; once one team sees successful adoption, dozens more follow suit within a year, all through word of mouth.
  • Extraordinary results. After migrating, Temporal users report production issues falling from once-a-week to near-zero. Accidental double-spends have been discovered and fixed, saving millions in cold hard cash. Teams report being able to move faster, thanks to testing, code reuse, and standardized reliability. While the value of this is hard to quantify, it is big enough that users organically tell their friends and list Temporal in their job openings.
  • Huge potential market growth. The main thing you bet on when it comes to Temporal is that its primary competition really is homegrown workflow systems, not other engines like Airflow, AWS Step Functions, and Camunda BPMN. In other words, even though Temporal should gain market share, the real story is market growth, driven by the growing microservices movement and developer education around best-in-class orchestration. At AWS and Netlify, I always felt like there was a missing capability in building serverless-first apps — duct-taping functions and cronjobs and databases to do async work — and it all fell into place the moment I saw Temporal. I'm betting that there are many, many people like me, and that I can help Temporal reach them.
  • High potential value capture. Apart from market share and market growth, any open source project has the additional challenge of value capture, since users can self-host at any time. I mostly subscribe to David Ulevitch's take that open source SaaS is basically outsourcing ops. I haven't talked about Temporal's underlying architecture but it has quite a few moving parts and takes a lot of skill and system understanding to operate. For reasons I won't get into, Temporal scales best on Cassandra and that alone is enough to make most want to pay someone else to handle it.
  • Great expansion opportunities. Temporal is by nature the most direct source of truth on the most valuable, mission critical workflows of any company that adopts it. It can therefore develop the most mission critical dashboard and control panel. Any source of truth also becomes a natural aggregation point for integrations, leaving open the possibility of an internal or third party service marketplace. With the Signals and Queries features, Temporal easily gets data in and out of running workflows, making it an ideal foundation for the sort of human-in-the-loop work for the API Economy. Imagine toggling just one line of code to A/B test vendors and APIs, or have Temporal learn while a domain expert manually executes decision processes and take over when it has seen enough. As a "high-code" specialist in reliable workflows, it could be a neutral arms dealer in the "low-code" gold rush, or choose to get into that game itself. If you want to get really wild, the secure distributed execution model of Workflow workers could be facilitated by an ERC-20 token. (to be clear... everything listed here is personal speculation and not the company roadmap)

There is much work to do, though. Temporal Cloud needs a lot of automation and scaling before it becomes generally available. Temporal's UI is in the process of a full rewrite. Temporal's docs need a lot more work to fully explain such a complex system with many use cases. Temporal still doesn't have a production-ready Node.js or Python SDK. And much, much, more to do before Temporal's developer experience becomes accessible to the majority of developers.

If what I've laid out excites you, take a look at our open positions (or write in your own!), and join the mailing list!

Further Reading

  • Orchestration
    • Yan Cui's guide to Orchestration vs Choreography
    • InfoQ: Coupling Microservices - a non-Temporal focused discussion of Orchestration
    • A Netflix Guide to Microservices
  • Event Sourcing
    • Martin Fowler on Event Sourcing
    • Kickstarter's guide to Event Sourcing
  • Code over Config
    • ACloudGuru's guide to Terraform, CloudFormation, and AWS CDK
    • Serverless Workflow's comparison of Workflow specification formats
  • Temporal
    • Dealing with failure - when to use Workflows
    • The macro problem with microservices - Temporal in context of microservices
    • Designing A Workflow Engine from First Principles - Temporal Architecture Principles
    • Writing your first workflow - 20min code video
    • Case studies and External Resources from our users

View Details

Sources

  • Olivia Rodrigo - Drivers License (Tori Kelly cover)
  • Tori Kelly & Alessia Cara - Masterclass Of Impressions (Britney Spears, Xtina)
  • Tori Kelly & Jessie J - Who You Are
  • Demi Lovato - Sorry not Sorry (feat. Tori Kelly)
  • Ed Sheeran - Perfect (Tori Kelly cover)

View Details

Source: https://3clipspodcast.com/design-matters-deep-research-as-respect-ft-debbie-millman/

Debbie Millman of the Design Matters podcast shows how she gets tender, emotional moments from her guests.

View Details

I recently started the audiobook version of Brent Schlender's Becoming Steve Jobs and this passage on Apple's name made me stop in my tracks:

"There are different tales about the origin of the name, but it was a brilliant decision. Years later, Lee Clow, Steve’s longtime collaborator on Apple’s distinctive brand of advertising, told me, “I honestly believe that his intuition was that they were going to change people’s lives by giving them technology they didn’t know they needed, that would be different from anything they knew. So they needed something friendly and approachable and likable. He took a page out of Sony’s book, because Sony was originally called Tokyo Telecommunications Engineering Corporation, and [cofounder] Akio Morita said they needed something much more approachable.”"Indeed, adopting the name Apple foreshadows the expansiveness and originality Steve would bring to the creation of these new machines. It’s suggestive of so much: the Garden of Eden, and the humanity — both good and bad — resulting from Eve’s bite of the fruit from the Tree of Knowledge; Johnny Appleseed, the great sower of plentitude from American myth; the Beatles and their own record label, a connection that would lead to litigation years later; Isaac Newton, the plummeting apple, and the spark of an idea; American as apple pie; the legend of William Tell, who saved his own life and that of his son by using his crossbow to pierce an apple perched on the son’s head; wholesomeness, fecundity, and, of course, the natural world."Apple is not a word for geeks, unlike Asus, Compaq, Control Data, Data General, DEC, IBM, Sperry Rand, Texas Instruments, or Wipro, to mention some less felicitously named computer companies. It hints at a company that would bring, as it eventually did, humanism and creativity to the science and engineering of computers. As Clow suggests, settling on Apple was a great, intuitive decision. Steve was innately comfortable trusting his gut; it’s a characteristic of the best entrepreneurs, a necessity for anyone who wants to make a living developing things no one has ever quite imagined before.
I don't know how many times I've looked at names like Asus, IBM, Wipro, and Texas Instruments and never reflected on how they are clearly less friendly than "Apple". It's obvious in retrospect — the best kind of obvious.

Longtime readers here will know I have opinions on How to Name Things - mostly in code. It's easy to have strong opinions about stuff only developers see since user validation is just asking people like yourself. It's much harder to name something consumer facing. Here are some useful rules I gleaned from Apple:

  • Two syllables max
  • Familiar English word - literal 5 year olds can spell and pronounce it right
  • Starts with A - useful for alphabetical sort. Amazon did this too
  • Name leads to easy logo/swag/branding ideas
  • Evoke aspirational qualities - knowledge, health, nature

I've vacillated somewhat on whether or not to use an English word for a name. My current company, Temporal, is an English word, and by sheer misfortune it exactly coincided with the Temporal JavaScript proposal. Given that we aim to release a JS SDK soon, this is regrettable potential confusion in every customer conversation. Whereas if you just make up a word, like "Netlify", or "Serverless", you not only ensure that you never clash with anyone, you also shoot right to the top in SEO results. Then again, people can just append "Apple Computer" or "Apple Macintosh" and do fine.

Whatever you do, the worst outcome of naming something an English word is if it leads people to assume it does something different than you intend. It can help to do a sanity check by asking people to guess what your thing does without context.

View Details

Two anecdotes from StackOverflow founder Joel Spolsky, on how Google and Amazon wrote elegant software that balances simplicity and power.

Audio: https://www.listennotes.com/podcasts/business-of/ep-70-simplicity-vs-value-in-YaRkM5T41IN/ (45mins in)
Talk video: https://businessofsoftware.org/2009/01/joel-spolsky-at-business-of-software-2009-video/

Oct 2021 update - I snipped it here: https://youtu.be/-QqIyICyXbU

View Details

Audio source: https://www.tropicalmba.com/ten-years-dynamite-circle/ (24 mins in)

View Details

  • Video: https://octo.github.com/speakerseries/swyx
  • Blog Post: https://codingcareer.circle.so/c/dx-blog/technical-community-builder-is-the-hottest-new-job-in-tech
  • Slide dec: https://docs.google.com/presentation/d/1WGCfellGTboDwtM_D9uMwsHtD0qCFeBv6AYNUSxlDLg/edit?usp=sharing
  • My talk at Heroku's conference where I met Idan: https://www.youtube.com/watch?v=1_w1YWCHXFg

Timestamps

  • 00:01:17 Intro presentation on Why Dev Community
  • 00:16:15 Discussion between Idan, Brian, and Swyx

Transcript

swyx: [00:00:00] Hey everyone! On weekends, we do long form audio from one of my conversations with people.

[00:00:06] And a few months ago, I published an article on why technical community building is the hardest new job in tech. And it got a lot of traction. In fact, some of the other weekend drops on this podcast are related to that. Podcasts, but I was invited by the GitHub office of the CTO to talk about it.

[00:00:25] These are two people that I knew from prior engagements before. Idan Gazit. I actually met at the Heroku conference. When I spoke aboutNetlify CLI and Netlify Dev. And then Brian Douglas, BDougie , it was the dev advocate at Netlify before any of us were dev because another fi. So he kind of pioneered and originated the role, which I stepped into.

[00:00:46] And both of them are just very well. The tunes to dev community. So I thought we had a really good conversation. About it. So the first part of this talk basically is me presenting a few slides on the, my thoughts on dev community. And then it was just a freeform discussion between. Myself and these two experts at GitHub. so enjoy

[00:01:17] Idan Gazit: [00:01:17] Hello, welcome to the Octo speaker series. My name is Eden and I'm with Gibbs office of the CTO. We look at the future of development, developer experiences and try to figure out how to make development faster, safer, easier, more accessible to more people and more situations. All I find jazz today we're trying something a little different.

[00:01:43] Our guest is GitHub Star, Shawn Wang, better known by his internet handles Swyx and we'll also be joined by Brian Douglas, AKA B Douggie, who is a developer advocate and educator, and my colleague here at get hub. So, excited for that. I first met Swyx at a conference in the before times before the Corona, almost two years ago when he was giving a talk about state machines for building CLIs.

[00:02:07]I knew of him in the context of his famous learning in public essay. And the talk that he gave was a fantastic demonstration of that diving into an area where he had relatively little expertise and making sense of that territory and jumping back out to explain it to the rest of us after his talk, he can.

[00:02:28] To me that he he's actually a refugee from programming, Excel for finance. And I think coming out of that background, Swyx excels at finding that place of empathy for developers in the middle of the unglamorous, the hard parts of development the parts that we don't like to show off to one another, because they don't make us look smart.

[00:02:49] They don't make us look, look cool. His work normalizes, the feeling of I'm stupid right now, which is very much a part of every developer journey and with which I identify very, very much. I think that's what makes his thoughts on community building so relatable and so topical developer facing businesses have to find a way to channel empathy into action.

[00:03:13] And Swyx is figuring that out in all of its messiness in public for us to see and learn from. And in fact the reason I reached out to invite them onto the show is this recent post that he wrote called technical community builders. And looking critically at, at how that's different from the way Deborah has done today.

[00:03:30]And I think this is a very interesting take on the future of, of, of this business function for developer facing businesses. Okay. So before I bring him on I'll remind everybody that we have a code of conduct it's really important to me that chat is a place where everyone feels welcome. So, please make sure to make that possible.

[00:03:47] And without further ado I would like to welcome Swyx and be Douggie. Hello.

[00:03:52]swyx: [00:03:52] Hey, Hey, Hey

[00:03:54] Idan Gazit: [00:03:54] Swyx, you're, you're out in Singapore and it's like the middle of your night. Thank you so much for coming in and joining us for, for, for this talk.

[00:04:02] swyx: [00:04:02] Oh, it's my pleasure. Yeah, I mean, I work specific hours specific time anyway, so, this is I guess the start of my day.

[00:04:10] Idan Gazit: [00:04:10] Okay, well, good morning to you then.

[00:04:12]Doug,

[00:04:14] Brian Douglas: [00:04:14] I'm doing perfectly fine enjoying my normal time of the day,

[00:04:19] Idan Gazit: [00:04:19] the north, the morning. That includes the day star. Fantastic. Swyx you said that you wanted to give a little bit of a, an upfront a mini talk about this before we dive into this discussion. Why don't I bring you on.

[00:04:35] There we go. Okay. So like enlighten us.

[00:04:39] swyx: [00:04:39] I can't, I can't actually see the screen cause I just have my slides full screen. So just pause me if there's anything I just wanted to, I guess, set some context for people who may not have read the post. You know, I think you and I, and, and Douggie, like we, we've all talked about community for a bit, so we may have more context than others.

[00:04:58] And so I just wanted to, you know, whip up a few slides just to set some context and then we can actually talk because I'm very inspired by what GitHub does. And I'm definitely learning a lot from what you know, you guys do for, for community. Okay. So why invest in developer community a little bit?

[00:05:16] I feel like this is a bit obvious, but, but the reason I write, like I would normally never write something like this because it just seems obvious. But the reason I write about it is I do a lot of conversations with startups and Sometimes for investing sometimes just to give dev REL advice sometimes, you know, marketing or whatever other network I can offer to startups.

[00:05:38] I, I often do that. But in, in the past week or so, like at least when I wrote that book blog posts in one week, I had three conversations that all ended in can you help us find somebody to build developer community? And I was like, okay, this is, this is not just like one-off thing. This is a trend.

[00:05:53] A lot of startup founders are feeling and there's no one really dedicated to it. There, there are people of course, but it's not like a, an industry trend yet. So I decided to write a blog post about that. And that's, that's why, I guess we're here today to talk about going on. Wait, wait, communities becoming more of a thing.

[00:06:12] Always has been a thing, but it's becoming more of a thing and maybe professionalizing as well. So a bit of context about me, I think you done already introduced me quite a bit. I did change careers at age 30 but I definitely owe a lot of my career change and learning to code. To community, right?

[00:06:27] I joined the free code camp community, the coding blocks slack group and podcasts was also a very big part of companionship through the journey of learning to code, which is a very rough one even for me. And and then of course I also did a bootcamp, which is a paid community, but one that's very, very focused on getting you hired.

[00:06:46]And that got me into two Sigma Netlify AWS and I work at Tim portal. I think what I'm better known for maybe in the community space is, is my volunteer work in this reacts subreddit where I helped to grow the subreddit from 40,000 developers to over 220,000 before I stepped down I stepped down to basically, cause I started moving my interests to another front end framework spelt and I started that from zero to now it's like eight, eight to 9,000 feet.

[00:07:12]And I also run a paid community for learning in public. So, I wrote a book, people like the book, and then we chat about career related stuff in, in our discord and then also go community. So that's my community credentials, I guess I should preface that. I guess I'm also, I had to put this here because a get hub at GitHub universe did this really cool Octo cat thing here.

[00:07:33] So I just redid my profile as a GitHub look at which is really fun. And I did, I am pretty honored to be invited as a GitHub star which I think is a way that get hub recognizes community members as well, which we can also talk about, like, how do you recognize and promoted? You know, I, I guess your, your, your super fans and, and what does that really do for you?

[00:07:54]Okay. So, I'll just, I'll just re blast through a few points and then we can, we can set it up for wherever you guys want to talk about. So to me, I think the, the main articulation that I want to have is like community is increasingly the moat of a lot of developer companies. So developers have always self-organized communities like IRC and BB SS.

[00:08:12]But now companies, entire companies have communities where that's the entire mode like get hub is essentially get a plus a social network. And it's really like anyone can offer get, you know, but it, it, it's it's a V it's very hard proposition to replace a social network. And, and you find that the same for stack overflow.

[00:08:29] There's a question and answer site. Anyone can build that, but you can not build the community. And same for hacker news. So it seems like very. You know, very key modes. And you would think that a lot more companies should be focused on that. But it doesn't seem so at least in, in terms of hiring, when you look at job titles and stuff like that they're more focused on the content creation and marketing, not so much community.

[00:08:50]And I think that's changing right now and that's why I write about it. So that's the real question, like whose job is it anyway? There are community managers but typically we, we had one in LFI. They're typically focused on giving the forums and social media, like maybe making inoffensive posts or whatever.

[00:09:08]They can do it. They're capable of a lot more. These, these are just stereotypical tasks that are assigned to community managers and then developer advocates have a bit of community as well. They do a lot of content and outreach to other communities. So it's not so much forming your own community rather than.

[00:09:23] Let's how do we reach out and present and be a part and meet developers where they are rather than draw people to us, which there is a lot of as well. But the, they maybe don't have as much of a focus on sticking around and making interrelationships customer success is support documentation, solutions, engineering, all these are, you know, community of people who pay you and marketing, mailing lists, webinars, conferences.

[00:09:45] These are all, you know, isolated communities of people who don't yet pay you, but could pay you. And then I think there's also, you know, apart from function functional split, there's also or chart split. And I do find that a lot of people who are directly responsible for community are at the lower rungs of the, of the org chart rather than at the, at the upper rung.

[00:10:04] So it's pretty weird that it's just splintered all over the place. It's not really organized. I don't know. Doesn't seem like a organizational priority in a lot of the. Companies that I've seen. So the, the, the main realization for me is that community is basically part of the product. And in fact, in a lot of companies, it is the main part of the products, but it's, under-resourced compared to the products or engineering.

[00:10:25]And I think something that is key is like, maybe we should not call it just community management, even though that's a default title. So I offered a few suggestions, like community developer or community tumbler. Tumbler is a word from I guess the circus. I took it from an Alex Holman post blog posts, but essentially a tumbler is someone who gets conversations going in and then pieces out.

[00:10:47]So a lot of the times community manager does a lot of the heavy lifting. But you need to, in order for functional community to form into something that has many to many interactions, instead of one too many you, you need to get, so you need to have someone to create events where people feel safe and, and and inspired and motivated to, to share and to help each other out.

[00:11:09]My preferred term right now is technical community builder because it's very similar to technical product manager, which is an actual job title at Microsoft and Amazon and a bunch of other places. And it has an emphasis on technical and the, and there's a question of like, must they be technical?

[00:11:24] Of course not, of course you can have very, very good community builders and community managers who are not technical at all. But I think people who are technical have this extra dimension, which they can really empathize with developers on and connect people, solve their, solve their problems right away.

[00:11:40] Basically just, you know, be one of, one of them. Like when you, when you talk to someone who fundamentally empathizes with your problems as a developer, you share more and you, you have deeper discussions. And then the other question is why must the title be different? I posit that it's very similar to, to the once in a lifetime upgrade in status impacts authority and career prospects for ops professional.

[00:12:02] When the dev ops and got started, like dev ops used to not be a thing. Now it's a very highly in demand thing. And that's because it was a rebrand of existing skills that were, that, that were around, but, you know, repackage with, with new technology and a new focus in in a lot of organizations that the, that they realize that they need to invest in it.

[00:12:22]So I think a similar movement needs to happen and you, you can't really rebrand something by calling it the same exact name. So th so that's why, that's why there's an opportunity to rebrand this discipline here. Okay. I'm very influenced by this model from comScore, which is essentially the opposite of what I showed you earlier, where community used to be at the fringe.

[00:12:42]And you used to have all these other, other things in control of community and here, and, and the community led model kind of inverts that where community is at the core of everything. And from your insights from community and building relationships you, you spin out marketing, you spin out products, you spin on sales and so on and so forth.

[00:12:59]And I think it's very interesting migration from periphery to core which. Been told actually is the same thing. That's happening to data science, data science, at least in, in the, in the companies that I've worked with used to be a fringe thing where like it's a bunch of geeks, you know, messing around with their with the analytics to like now it actually is part of the reporting process that generates a lot of product and sales and marketing insights.

[00:13:25]And I think, I think community can, can do that with humans and not, not less, less less data, but you can, you can have a lot of data with, with it as well. So the question is why invest in it? And really, I think my, my fundamental assumption is that traditional marketing and support isn't cutting it.

[00:13:38]This is the traditional idea of a marketing and sales funnel. You have awareness, evaluation, and conversion, and we as developer relations people definitely biased towards awareness for better or worse. But I think it, it is only one part of the picture and it's very transactional, right. It, you start at the top.

[00:13:53]And then you, you, you come out at the bottom as a, as a salesperson and then, and then you're, they're done with you. I wash my hands off you and I, and you're handed off to someone else. The, the problems here are a few, few fold, right? Like marketing, especially in development. Marketing has extremely long cycles.

[00:14:08]In traditional digital marketing, you need to touch you know, th th the traditional advice is that someone needs to hear about you six to seven times before they even check you out. For me. I know a lot of technologies. I ignore them for a year just to see if they stick around. And if they're still relevant after your, then I check them out.

[00:14:24] So try to do marketing attribution. Impossible. So, very, very difficult. And, and not within any con China performance evaluation timeframe. And then also what happens after I convert, right. What happens after I come out the funnel? Do I feel supported there? Do I, do I grow and succeed and all that?

[00:14:39]So the solution is to change from mostly transactional finite games to relationship-based infinite games. And this is the bigger picture that I see there's marketing and sales going on here. But then you, it exists within a broader scope of community that kind of catches all the other stuff that isn't really handled by marketing and sales.

[00:14:55]We actually has loaded up the orbit model, which we can, we I'm sure we're going to talk about, so instead of the funnel, which is a very linear approach the orbit model, like kind of is isn't or. So characterize as the people around your company, as a people orbiting your company and they may be in wider orbits, or they may be in closer Orbitz.

[00:15:14] Sometimes they may drop out. Sometimes they may come back in. It's a very infinite relationship model, the way they just constantly orbiting. And you're just trying to draw them closer with more and more gravity towards your, your software or your community. The reason I think it's important for startups in particular is that it's a very big part of crossing the chasm because there's a small set of people who actually picked technologies based on pure technical merit.

[00:15:38] And there's a large set of people who pick technologies partially on merit partially because there's a strong ecosystem. And there's a very, very big steep gap in between that. And people who can help companies cross this gap can deliver a lot of value for, for the companies involved. And, and that's a, that's a really core insight, I think.

[00:15:57] Okay. There's even more reasons. In my blog post, I don't have time to go into all of these, but we can talk about them in a discussion. I don't want this to be a lecture and I will refer and I have the last part on why now. And I'll send people to the blog post if they want to see it, but that's my short little primer for my thoughts on community.

[00:16:15]Idan Gazit: [00:16:15] Fantastic. That was a solid, that was a solid introduction. One thing that really strikes me about what you're calling out here is that I can't, I can't highlight another area where there's a business motion. That's so central to success, which is which is so undefined. Like you think about most, most functions in a business like marketing or engineering or product.

[00:16:40] And if I took, you know, 10 random people and asked them, you know, what does this job entail? What does success. Look like, and how does it contribute to the success of the overall business? And I'll get 10 answers that are more or less the same. And here, I think what's, what's special and maybe is in a, in a difficult sense is that I don't think that if I asked 10 people, like, you know, what's the purpose of this business function?

[00:17:05] What does success look like? What does the job entail? What level of talent do we need to hire in order to accomplish this? Well, even, you know, things as boring as, like you say, sort of like, you know, where on the totem pole, like, you know, who, who does, who's responsible for this and who do they report to that level of, of definition?

[00:17:25] I don't think I'm going to get 10 answers that are mostly the same. I think I'm going to get 10 wildly different answers that that don't resemble one another

[00:17:33]Brian Douglas: [00:17:33] If I can add to as well. This is something that's come up really recently for me. Cause I, I shipped a YouTube video yesterday focused on like what the future of dev role looks like. So think about community and how that sort of changed even in us being over remote. There's no real like structure.

[00:17:48] I think the everything, everybody can do something to move the needle, but I think the folks who are doing really good jobs is when you look at that, that model of the orbit, the folks as you bring more and more people closer to the nucleus they stick around longer. And I think one thing that Swyx and I had in common is that, well, a couple of things, we had a comment, like I was part of that react sub subreddit as well.

[00:18:07]We also spent time at Netlify. So like I've saw a lot of the same stuff that Swyx us all and what I agree with everything that he said too as well. And the things that I think I saw successful at notifies that we had a committee. Folks who are just really excited about the product. And we found ways to bring them closer to the inner circle, to the point where there are Netlify employees, who now, who, who came from that community.

[00:18:27] So when you think of like recruiting or not just actually using the product, but if you're looking for your next advocate, it should come from the community that's already existed.

[00:18:35]swyx: [00:18:35] Yeah. I, one of the points that I made was that if hiring is your biggest problem just like 99% of other startups or companies in general, it doesn't have to be startups.

[00:18:46]Then building a strong community helps you source very, a much higher quality of employee than you know, just picking any random developer off the street.

[00:18:53] Idan Gazit: [00:18:54] I mean, yeah, like there's, there's in the post, you actually highlight that there's this sort of litany of, of of benefits. And I don't remember all of them off the top of my head, but I remember as I was reading through the post.

[00:19:06]Excuse me. I thought that there was a lot more there than I expected, you know, like I expected going into it. It's just like, well, what benefits am I going to, I see from, from doing this well, well, you know, I'll do a better job at outreach. I'll do a better job at uptake of my product. But you know, I hadn't thought of the hiring angle, even though that's, you know, it's playing right there in front of us.

[00:19:26] You know, if you build a strong community, you have a very like high quality pool in which to fish for, for, for, for standout employees. That it's a source of, of not exactly free marketing, but you know, it's like you have a chance of growing a class of evangelists, people that are going to go out and spread the word about, about what, whatever it is that you're doing.

[00:19:46]I've even

[00:19:47] swyx: [00:19:47] sorry. I've even gone one step further. So I took the hiring thing to the extreme. So, the, they started that I work at right now, it's in portal. We actually started listing jobs for our customers so that we can help them hire based on at least through us. So, so like, okay, if you don't work for us, but can just come work at one of the, one of the company, one of the customer companies.

[00:20:07]And it's just like, like we win if they win, you know what I mean? And, and it's, you can just take this to an extreme level where you just start becoming a de facto recruiting agent. Really good. But I do, I do that, like, you know, if you do a really good job community, actually your the person's membership in the, in your community actually outlives there.

[00:20:24]Present employer. And that that's a really strong community. That's like, okay. I'm, I'm I'm first and foremost, a member of your developer community. Then secondarily, I just happened to be at this company right now. But you know, I do, I do have my primary network within, within your community.

[00:20:38] That's a really strong one.

[00:20:40]Brian Douglas: [00:20:40] And I guess, can I add actually get some clarification too, from you Swyx when you talk about these terms like dev ops, who like everybody knows what dev ops is now, it wasn't an unknown thing, you know, 10 plus years ago. But when you build a community, like what are some sort of like ways you can avoid those pitfalls?

[00:20:56] Because I know every time I go to an event and I join a random slack channel for just that event, like I leave that slack channel as soon as it's done. So like, I'm curious what your, your, your thoughts are. As far as building community from scratch.

[00:21:11] swyx: [00:21:11] Oh, wait, are you saying that this is a problem with DevOps?

[00:21:14] Or are you just so

[00:21:15] sorry?

[00:21:15] Brian Douglas: [00:21:15] I use dev ops because dev ops is a very clear term. There's already established community, but if I started B Douggie conference and wanted to everybody joined the movement, like it's going to be a challenge because it's going to be me and maybe a couple of people in chat. So like, how do I make sure that this is not another community that's become stagnant or stale?

[00:21:34] Like I want to create the next devil.

[00:21:36] swyx: [00:21:36] I gotcha. I gotcha. Yeah. I think so you and I, of course were very informed by our Netlify experience for anyone who doesn't know actually started the whole debt roll practice at Netlify. And I basically, you know, was one fourth of his job after he left. Anyway and something that nullify did, which was brilliant was that they didn't create the Netlify movement.

[00:21:57] They didn't create the Netlify conference. They created the JAMstack movement and the jazz that conference. And, and, and I really. I like this idea that you build something that's bigger than yourself. Like you build a movement that other people can evolve get involved with and see themselves in to the point where they start competing with you and you have to be okay.

[00:22:15]If you're, so mission-driven that you're okay. Losing because someone did your job better than you. Then you, then you've really found something that's worth building a community around because otherwise it's just, you're building a cult, I guess, where it's centered around you. And, and so I, I really like that.

[00:22:32] For example, I'll give you a concrete example, which is at, I think our second JAMstack conference Netlify we invited people from Microsoft competitor in, in some ways who did not use Netlify at all, did not pitch another fight at all. But just presented their ideas on JAMstack and we invited them as a speaker.

[00:22:49]Yeah. Ha. Yeah. I mean, I, I, and I think that we should have more you know, competitive competitor companies also visited the conference as well. I think we should have more of that. I think it shows a fundamental level of security that you're like, okay, I'm not threatened by you. Or like, I care about this enough that you know, this is big enough that multiple players can win in this space.

[00:23:11] That's a real community where, whereas you know, a lot of other times you're just running it to as a feeder service into, into, into your marketing funnel.

[00:23:22] Brian Douglas: [00:23:22] Yeah. I like the, the thought about building a community that's bigger than yourself. And I think like speaking from good hubs perspective, cause I was a time user recently employed at GitHub in the last three years.

[00:23:32] Not really that recent, but it startup worlds. That's, that's kinda, that's like forever ago. But what I'm getting at is like the whole get collaboration, open source protocol. I, I liked that GitHub didn't try to strangle it and try to own it completely. There were other competitors are doing a great job and having collaboration tools around, get up, get, just get in general.

[00:23:53]And that sort of funnel of new users, community conferences, slack rooms, discords it's been helpful for me in doing my job because there's already established community that I can just go in and not try to take leadership on, but more of like, Hey, I want to learn from you as well.

[00:24:10] swyx: [00:24:10] Yeah, totally, totally.

[00:24:11] I do think that at some level there's, there's a transition from like, okay, this is bigger than yourself, but then at some point you're, you're big enough that you are a community on your own. And I think, you know, once you're past like 50 million developers, you can have your own community. That's totally fine.

[00:24:27]Same thing for like Salesforce at Dreamforce and AWS and reinvents. Like we all have, you know, huge companies have their own conferences and this totally fine, but I think when you're getting things off the ground, that's a totally different story.

[00:24:38] Idan Gazit: [00:24:38] I think, I think you, you, you touched on something interesting there about picking, you know, it's always, it's always hard to stay away from like blatant advertising when it comes to like developers, like, you know, who do I work for? What is it that they make? That's obviously going to be a central part of the discussion if, you know, I'm representing, you know, company X or Y but you highlighted that, you know, for Netlify the story was not it was not Netlify, it was JAMstack forget hub it wasn't look at GitHub and, and and our specific web app, but the the collaborative nature of open source, specifically powered by decentralized version control.

[00:25:18]And like, you know, the get is important. The polar requests are important. The rest of the stuff that get it brings is important, but it's not that's not the thing that's going to emotionally resonate with with people on its own. Not unless you have such a, you know, so much of a better product that it's like, oh my God, people are wowed by just the existence of this thing.

[00:25:38]Which is great. If you can pull that off, like more power to you, you know? I think you, you touched on this sort of linear path. Okay. Like you have a story, you tell it and you think about this, this path that, that you want to take people, a journaling journey that you want to take people along that starts in marketing territory and ends in sales territory.

[00:25:57] Hope. And then by contrast, you know, coming back to that. To the orbit model. One of the sort of assertions you made there is that your remodel is not, it's not strictly linear, that it has these other dimensions. It has this love dimension, basically like a measure of, of activity and reach as a, as a, as a measure of influence.

[00:26:14] But when I still look at this at this model, it's still talking about these sort of concentric rings of, you know, you start at the very outer, most orbit, you know, as just an observer and accessibly, you move, move your way into the middle. That's still seems like a relatively, you know, linear journey to me.

[00:26:30]I think it's curious, I, you know, that they, that they put advocates at as the closest, the inner most ring versus contributors. Because when I think about like, where, where do I spend the maximum amount of energy? It's in contributing, it's not an obvious, it's really easy for me to advocate.

[00:26:48] I can advocate. React until the cows come home. And you know, all I got to do is write like nice things about react, but contributing to react like an effortful activity. So, I'm curious, you know, about that journey, like, what do you think, is it, is it really about getting people to contribution is contribution just a, like a left turn on this.

[00:27:09] Does this make sense to you? I don't know. I'm curious what you think.

[00:27:11] swyx: [00:27:12] I, I feel like they've probably written this up. So I'm actually looking up the, the, the writer right now, cause this is probably a better question for Patrick Woods who came over this model. But I, I agree if you want in principle, at least in an open source context that people who number of people who contribute are far less than the number of you who advocate for the thing.

[00:27:29] And maybe that, that should be the inner circle. I would say that it's less linear because the whole point is that you can jump in and out of different orbits depending on your life situation or just whatever projects you're working on. That's totally fine. And it's not considered a failure. Yeah, I don't know if that.

[00:27:47] Brian Douglas: [00:27:47] Yeah, I do have some thoughts cause I know Patrick and I know Josh pretty well and I have been able to rub shoulders with them so that the founders of the corporate model or the orbit company as well. And I talked to Patrick on his podcast, which is called developer love and episode one, you can hear way more detailed what I go into and right now but the one thing that I had to figure out when I joined GitHub as a developer advocate and at the time we had advocates, but no one actually had the title at the time at GitHub.

[00:28:12] So I was even the reigns to do developer relations at, get up, figure out what that meant. And at that time I had to figure out also what that meant, but also give a talk at developer dev role con cause we had a speaking slot and I call myself the Beyonce of get hub. And I do that tongue in cheek and I joke around about that, but I do that because like, I don't play.

[00:28:33] I don't play Beyonce music all day, every day. Like I don't, you know, I don't know how to play the backing tracks on base or anything like that. So I'm not really contributing in that sense, but I will tell you about Beyonce and tell you her story. And I think it's the same thing with open source. Like I made a contribution to no JS back in November, it was a really painful process.

[00:28:50] I learned a ton and my contribution to the no JS was that I read blog posts. I did a contribution on their repo, but the difference is when I get on stage and I show you how to write a script in node and I go around and I share, I'm like, well, I noticed still great despite dyno or Dino and all these sorts of Russ compiler times, like I'm still advocating for no JS.

[00:29:12] And I think. If you can bring more people to the sort of inner circle. I think that's, that's always going to be super helpful. And if you have people who are going to be the mouthpiece, I guess what I'm getting at is my job at GitHub is not to be the number one developer advocate in the world. My job is to build more developer advocates.

[00:29:30] So if you can advocate, get, get help on behalf of get hub and I don't have to be involved, then that's an entire automation automated process. Now you can argue contributions that can automate that and just grow and sustain the project. But there are a lot of GitHub projects or sorry, open-source projects have lots of contributions that you've never heard of.

[00:29:48]So like until someone tells me that exists or I see it on the trending tab it's going to be a hard a hard thing to focus on to try to get more contributors when no one's actually knows about this project.

[00:29:57]Idan Gazit: [00:29:57] Right. There's there's definitely, I mean, that's definitely like a, like a hurdle to be crossed in terms of just like, you know, where do I even hear about this?

[00:30:05] I mean, obviously there's, there's, you can think of that as a, I'm sure. Not coming from a marketing background, you know, I'm sure there's entire textbooks about the phase of like, you know, how do I get people to even know that I exist before I like, you know, how do I wedge the door open long enough for me to attempt to get across?

[00:30:23] Like, and here's why you should care about me. There's a whole phase of, of, of just spreading the word.

[00:30:30] swyx: [00:30:30] That's why, that's why I think, you know, we I do, I do think that we do need technical community builders, whatever the, you know, whatever we call this thing. They, they, they probably need to be technical because they need to have that technical leadership of like, I authentically went through the same journey that I'm telling you that I'm hoping that you also go through with me on this.

[00:30:48]And, and this is something that non-technical community managers cannot do. So it's like a. Thing where you have to hire someone on who has a software engineering background or is it, you know, pay them like a developer, but then put them on non-technical things, which is communities less Senegal.

[00:31:09] Brian Douglas: [00:31:09] Right. You know, I don't know. It's a weird job. It's just this thing, authenticity to it too as well. Like I would not have know how to be a developer advocate if I wasn't a developer first. So like, I always put myself in the mindset of like, if I had to use this thing and it takes me 12 minutes to get it set up, like, I'm probably never going to use it again.

[00:31:24] So like, how can I advocate on the behalf of this product to make this better? And how could I bring that information back to whoever makes decisions at this project company maintain her level or whatnot. And it's just like, I, I just still think it's one step more than just contributing, keeping the lights on.

[00:31:41]It's more of like, Hey, I want to also bring that feedback. How can I improve this? And I think. The, the roles inside the community. I think technical community manager, it's a great world because it actually touches all those different pillars. And specifically in the model, I know we're focused on that, but like being able to turn it on, turn it off and also know how to listen as well.

[00:32:03]Are very valuable like attributes that I would love to have on my team. I get hub for sure. And we do have those by the way. I just want to set the record,

[00:32:13]Idan Gazit: [00:32:13] Just to be, just to be upfront and clear. So, I think, I think we're all dancing around a little bit, the, the, the bigger question of what are the qualities like, what are, what does success look like for this role?

[00:32:25] How does it, how has it changed? Like, you know, if we, if we called the role previously developer relations, and now we're calling it this subtly. Name around technical community building and sort of the, the, the stewardship and the shepherding of, of a community. What what's success, how is success different in, in this sort of like a slightly different like mental model and, and what's different in the day to day?

[00:32:50] Like, you know, if, if previously, you know, previously I was doing Debra and that meant I was doing X, Y, and Z with my days in order to succeed at my job and contribute to the success of the business. What does that look like in this sort of new, mental framing of community building, as opposed to simply developer relations?

[00:33:11] swyx: [00:33:11] Yeah. So I can give a crack at it and then I'm sure Doug has, has other thoughts. You know, at Amazon, I can tell you directly the, the, the KPIs that we were reporting and, or. To the outside world. That's, that's the only thing that they expect out of us, which is number of views on the content that we produce.

[00:33:28] Right. Very depersonalized. You're just a number to me. Did I get a thousand? Did I get 10,000? Did I get a hundred thousand? I did a better job if it was a bigger number. Great. But there's no relationship there. There's no measurement of quality, like was, was that they just glance at the title.

[00:33:43] Where did they actually read the whole thing and try out the demo? There, there are different weights for different you know, actions that people can take. And we do try, they check that, but it's all a joke. Like it's not okay. Everyone knows that it's a joke. You know, it's a proxy to what we really want, which is people trying you out and seeing if they like you and you know, short of standing over their shoulders, you can't really get that.

[00:34:06] I'm so sorry. What I, what I do, what I do like is that orbit is trying to innovate on that by measuring you know, what they call love, which is just the intensity of activity which is the same thing, but tracks on a per person basis. And, and, and suggest in, and that opens up the possibility of like, having more of like a CRM model, which is very much the sales idea of like, you know, have, have an idea of that, the customer journey from beginning to end and suggests or automate engagements as they, as they come along on the journey.

[00:34:36]Which, which is less, it's just, it's just a lot less transactional, like at, even at Netlify. Like I was, when, when you get to the point of like attaching UTM tags to your posts, to see the, the response of of, of your campaigns that's just, you're just marketing. You're not there role. I mean, and so, so, so I definitely care a lot more about the relationship aspect and how much you can, you can cultivate just by understanding the customer journey rather than treating them as a sort of faceless numbers

[00:35:04]Brian Douglas: [00:35:04] to add to that too, as well.

[00:35:06] Like I am all, I'm definitely against trying to look at views and how many people are in the stream right now. Cause I think that's you you've lost it at that point. But I think what success looks. Is the names that I see in the chat right now. I see a lot of familiar names. So how many of those familiar names do I see next time?

[00:35:21]Because as those were my, I didn't even know this term tumblers that you mentioned in your slides. Cause I've seen this around, but I didn't know what that was. The party corgi chat has tumblers and I didn't know what tumblers were today. But I guess I have an anecdote too, as well from net network.

[00:35:33]Netlify when I was doing, and we, we were bottom growing and we have this opportunity to speak or speak and also attend and have a boot that react rally. And it would have been super easy to say, Hey, can you fill out this form? And we'll send you, we'll get your email. And then you have a chance to win, you know, this thing at Netlify.

[00:35:52]And instead my approach at that conference, which was like one of the first conferences I ever had, any sort of marketing, advertising, whatever my approach. Come to the booth. We had an Nintendo switch on the, on the booth table, and then we had a bunch of stickers. And the thing was if you switched to Netlify, which is like, it was a pine, really.

[00:36:10]And then we'll give you a chance to win the switch. And the step was, all you had to do is scan a QR code and then click the deploy to Netlify button. And it was on that, that website or, sorry, it was a get hub repo. You put click the deploy Netlify button, and then inside the site you deployed from Netlify.

[00:36:24] After 15 to 30 seconds, it took happened to be a gap suicide. So we were at on-brand for the conference. Then you read the website you just deployed and the instruction says, click this button to tweet. And if you tweet that would actually put you in a hashtag and I had a node server that would then pick a random person.

[00:36:38] So we did this for three days. We gave away the switch by the second day, cause we'd had enough people. I think the conference was like 600, 700 and we had about 320. People who participated. And then after the first day we knew we engaged the community because the next day two or three people came and said, Hey I clicked the button and then I saw what you deployed.

[00:36:55] And it was a Gatsby site. And at the time Gatsby wasn't even 1.0, so like nobody would use Gatsby at that time. And they're like, yeah, I switched my entire blog to Gatsby. And it's hosted on Netlify. So then we know, Hey, this person is actually super engaged. This is, this is my next advocate. Like, I'm going to, whatever you need, I'll give you a sweater or a t-shirt eat.

[00:37:12] If you don't win the switch, like I will engage you and give you everything. You need to continue down this path. And that was the focus. And like for marketing, it looked great. But we didn't have the sort of traditional fill out this web form. It was this click, this button used a product if you don't want it, or if you want to delete the repo by all means, get hub out at the time, get hub had all hit all your information.

[00:37:33] Like we weren't even collecting your information. So like the goal was just really. Taking it for a test drive. And then if it works out for you we have this forum, we have this community, we have get up issues like this jump in where you, where

[00:37:46] swyx: [00:37:46] you fit in. Yeah. And then we also, I think potential enterprise team customers.

[00:37:52] This was after Brian left, but you know, w w we also had like a separate process for potential customers to highlight to the sales team where we actually scanned their badges and took down info and basically fed indirectly to their CRM or whatever. And that was pretty good because w we were able to capture a lot of really useful detail that gave our salespeople are really good

[00:38:10] Brian Douglas: [00:38:10] headstart.

[00:38:11] Yeah. And you just don't know who you're, who you're chatting with too as well. Cause that, that story. About being at react rally. One of the people who walked up and said, Hey, this is actually pretty cool. That person was maxed away, Burr and max Storybird. A lot of, a lot of people know him. He used to actually work at, get hub for a time.

[00:38:25] He built a whole product, got acquired by GitHub, and now he's at Gatsby as well. Coincidentally. But I never met max. I just knew who he was. I knew of his story. And then we connected and like, he didn't like, he wasn't like the number one Netlify fan boy, I don't, I'm pretty sure he didn't walk away shipping everything to Netlify, but we made that connection.

[00:38:42] So every time I had a conversation with max or he remembered me, that was like a nice serendipitous moment of like, oh yeah, we met at that one time that when I did that thing and like, you just can't put a metric to that of like, what big names do you know that like, at the time max was like, he wasn't even a big name, but like you just, yeah, you just can't quantify that you can't put a number to that.

[00:39:02] Just have to go.

[00:39:04] swyx: [00:39:04] I mean, it probably contributed to the reacts to be on Netlify as well. Yeah, it's, it's, it's a domino effect and there's a sort of like a density effect, like one person using it. All right. Cool. Two people. All right, cool. But then like three prominent people then it's starts to become a thing, you know?

[00:39:19]So I like that concentration of like, presence which, which also points of it being more of a community. Right. So, yeah. I don't think, I don't think we gave you that like a lot of like numbers, we're just like, we just talked about people, which is very natural thing.

[00:39:34] Brian Douglas: [00:39:34] Yeah. And the one thing that I did want to add to real quick is that the one thing, when I joined GitHub, my biggest goal was I spent four years in San Francisco and I only needed like a handful of get up.

[00:39:43] Employees never went to, to get hub office. And my goal is to get up employee today. And a developer advocate is I want to put, be a face to a company that has an Okta cat for a face. Like I want you to know who to reach out. And if it's me, or if it's not me, like, I'll give you the right person. And that's like one of my goals that get hub to do, to be an advocate for getting you in the right router.

[00:40:02]Idan Gazit: [00:40:02] That's, that's interesting. I mean, like, you know, there's a part of my brain in the back and it's like, you know, like the true wind was the friends we made along the way. Exactly. It turns out that It's interesting though, because this role that you, you just described, this thing exists, it's called an ombudsman. And if you're familiar with this, I think it comes out of the military. Like, you know, this is like the person that the families at home are in touch with in order to like, you know, reach their, their loved ones that are deployed wherever and have any concerns or whatever.

[00:40:31] And so the there's a, there there's a sort of like, a name for, for, for this role of like, you know, liaison into the company and actual human that can, you know, step in and maybe not help you solve your problem directly, but at least point you in the right direction, like, you know, attach you to the person that can actually help you move forward.

[00:40:51]But you're, you're right in saying that there's like, you know, these aren't, you haven't really given me like hard metrics. Like, you know, if I'm now going to pitch to a company like, Hey, here's what I'm going to do for you. They're going to be like, okay, like, What are, what are the, what are the OKR is what are the KPIs?

[00:41:09] What, what, what is the thing that you're going to be measured on? How do we know if what we're doing is succeeding.

[00:41:16] swyx: [00:41:16] There is a company that actually does that, which is Weaver that AI, they call it community qualified leads, and it takes a very salesy model to, to this direct attribution towards sales and marketing and all that.

[00:41:27]And so, yeah, I mean, once you have the tracking system in place, you can Def you can absolutely do that. And if you need to quantify in that way then absolutely. Yeah, you know, I, I, I don't necessarily feel that strongly because it tends to be. Then become a fight for whoever is the last touch who gets the most attribution which makes it a very political thing.

[00:41:49] Idan Gazit: [00:41:49] Sometimes between departments in some senses, that sounds like it's going to set up all the wrong incentives inside. You know, it's like when you're like, you know, at a store and you get mob by like, you know, it was like, no, I'm the one who like, you know, did anybody help you today? Well,

[00:41:59] swyx: [00:41:59] yeah, it's like, so for me, I don't know if you guys have played Kerbal space program.

[00:42:04] No,

[00:42:05] Idan Gazit: [00:42:05] only her only her.

[00:42:08] swyx: [00:42:08] Okay, I'll just give you like the rough intuition. When you, when you start off trying to get the rocket from off the ground, into, into orbit you're very concerned with all the tiny little mechanics of like what degree tilt you're doing, what what your yall is and pitch and whatever and your, your velocity and your weight and, and the stages that you do.

[00:42:24]But once you're basically at velocity and in space you then only care about your like DV. I forgot what the, the, the, the calculus is, but like, you only care about your high level metrics and you don't actually care about the low level stuff, because you're, you're, you're beyond that.

[00:42:41] You're, you're cruising at a speed where you, you should just move the big controls that actually matter, and then leave the lethal minor attribution's to, to like random noise or like, it's going to bubble up if it actually becomes. And I, I think that that's how large and our community should be managed.

[00:42:57] Like, as long as, as long as your efforts are growing at a, at a decent rate, you can trust that it probably will trickle down to whatever and you don't really have to be too precise about how exactly you attribute it. That's at least my intuition. It's going to be, it's going to bother me now that I don't remember what the it's like DVD or something like that for your, your, your Delta Delta V or yeah.

[00:43:18] Anyway, I'm sure someone in chat is yelling at me. I have a question for you guys if, if, if you want to enter entertain this. So there's a, there's a problem in my mind, which I haven't resolved, which is this idea of a super user. So at Netlify Netlify we call them the other friends at get hub.

[00:43:32] You call them, get up stars. Stripe has drug community experts. These are an AWS as, as community builders. These are basically unpaid super users, which you give some kind. Yeah, but you know, perks but they're your external third party advocates. What do you think about them? How do you, how do you make them effective?

[00:43:49]And, and basically everyone is new to this game. Like GitHub stars program is like a few months old. Right. Or maybe a year old. Yeah. Since September. What's your, what's your, what's your take on these kinds of programs? Like what, what is, what are what's their role compared to you guys?

[00:44:06] Brian Douglas: [00:44:06] Yeah. I, I could speak on partially behalf of get hub and something that I've always also put a lot of thought into before I got, I could have, because I was trying to it's ironic because I was trying to help build what is now the net difference.

[00:44:18]And but I, I just didn't have time before I left to, to actually see that. What it is today. But I had that same thought of like, what is the reason I gave that talk on being the Beyonce of GitHub is because Beyonce has a super fan group. And they're called the beehive intents of if you go after Beyonce, that beehive will show up.

[00:44:37] And and it's not as that intense, but it's like when people came after her, after she had the baby, like

[00:44:42] swyx: [00:44:42] people will know. SNL had a really great skit where there was like someone who had admitted that they didn't, they didn't like a Beyonce song. And then they just, the beehive showed up. Yeah. And it's

[00:44:52] Brian Douglas: [00:44:52] the same that we saw with the the K-pop stands like BTS that's a little, like more extreme, but like there is a group that will go to bat for you.

[00:45:01] And like, my job is to really go to bat for the hive. So to answer your question, like success looks like these are the folks that are creating the courses, writing the books, they're there on the forefronts of creating the YouTube videos. When the thing is announced, like it's the opportunity to give them as much information as they want.

[00:45:20] So if they want to monetize it, they can, if they want to grow a community around it, they can. But it's simply like they're doing a good job. And we want to make sure that we're catering to them because. If, if someone's already doing like my job for me, like I'm all for, Hey, let's, let's have a coffee.

[00:45:35] Let's let's learn. What are your blockers? How can I unblock you in the future? Or are there any features you're looking to like to ship? Like, let me introduce you to the PM and let me let the PM get your feedback directly. So like you just take the company directly to the source of the growth and that's, that's what I see it as.

[00:45:52] And I've seen very, I've had similar talks to other leaders of these sort of groups. And that's usually what their goal is, is like this help empower folks through the people who are empowering the,

[00:46:02]swyx: [00:46:02] yeah. Yeah. I like that.

[00:46:05] Idan Gazit: [00:46:05] I, I I'm like strongly reminded of there's a post from way back in the dinosaur ages. About success being a function of, of being able to grow a thousand fast. And that if you can find a way to, to reach that sort of threshold and it's thrown out there, I think in the same census at our member who coined the, like, you know, mastery comes at 10,000 hours or something like that is like a order of magnitude.

[00:46:28] Like when you reach this this, this tipping point, and that's, that's a signal that like, you know, what you're doing is working and maybe, maybe this is the kind of metric that that we're looking at. It's not views, it's not posts. It's like, you know, how many, how many engaged, super fans are? Are we creating?

[00:46:44] How many people do we have that love the thing that we're doing so much, that they're going out of their way. To spread that to more people and looking at that as the like you say about the Kerbal space program, sort of like, you know, the gross leavers of, of success, not the little like fine tuning adjustment dials, but like, you know, the big steering wheel that indicates that like we're doing the right thing.

[00:47:05]I don't know. I mean, the, this, this question of like, you know, what has been the impact of, of GitHub stars? This has only existed, I guess now since Doug, you said since September, September. Yeah. So this is like a hot minute old or maybe it's like a thousand years old. It's unclear.

[00:47:19] Brian Douglas: [00:47:19] Yeah.

[00:47:20] And actually, I, I think the official launch was September. We actually started formatting this form I guess making the formation of the stars around may, June. And I get to have like a very clear impact that we, I saw from my end which we, we watched this feature called to get hub profile, read me it's a feature everybody has access to, but at the time we had the sort of under wraps in like a super alpha we do for all features that get hub.

[00:47:42] We have the staff ship that we call it. Alpha alpha or whatever comes before alpha, but that's what we, we have, we test our feature. So get up, employees all leverage it. And it sort of like came out of nowhere as far as this feature goes and what I have access to it. We are able to get this in front of stars pretty early on to the point where we actually had to get up star who created some content on how to build your, your profile.

[00:48:04] Remi was like pretty cool, like within a week of launch. And that basically is the de facto tutorial on how to create a profile. Read me because it was so early, it just came out and this individual Monica, which I guess I can, I can name them as well. They are now like, they're, they're SEO wise, like that's the post, like it's not the docs.github.com and like that's success to me.

[00:48:26] That's like seeing someone win in the, in the source in the sense of content and engagement of the community. And now as the point person, when it comes to that.

[00:48:36] Idan Gazit: [00:48:36] That's that's actually a, really a really great it's like, you know, I know that I've succeeded at this job when, when other people's like, you know, results, outrank mine on, on on Google then success.

[00:48:46]That's fantastic. We actually have a question, meaning a question here from Jeremy feel what's the feedback for, for a feedback loop for these super users? Like, I, there's a follow on question. There is, should the company be monitoring the output to manage their message? I'd argued that, you know, you can't manage other people's message otherwise you have to pay them a salary.

[00:49:07]But but there is, there is a question if this is, if this is part of what you're trying to do as a community builders to build up this frontline, like top tier. Set of, of super fans. How do you help them succeed at that? Like what ammunition are you giving them? And how can you influence, I guess sort of like what the Diane's like, I launch a new feature.

[00:49:29] What I really want is for my super fans to go out there and create content that shows off like, you know, what this new feature can do. Maybe use it in ways that I didn't even think of show how it fits into like a million different workflows. And each of those super fans, also, they have another foot into whatever communities they came from.

[00:49:47] So, you know, you say like reacts Velt view, whatever, all these front end frameworks I'm going to have super fans from all of these different sort of walks of life. And each one of them is going to take the new thing that I did and show like, this is how it matters to the view community. This is how it matters to the whatever community and that's I think a very different thing.

[00:50:07] So what do, what do you both think about that?

[00:50:09]swyx: [00:50:09] I like it.

[00:50:13] Brian Douglas: [00:50:13] Yeah. I don't know if you, if you had connections to the AWS community builders when you're AWS.

[00:50:17] swyx: [00:50:17] Swyx yeah, yeah. We I know, made it something. Yeah.

[00:50:22] Brian Douglas: [00:50:22] Awesome. Yeah. So I get we mentioned the get up stars but we have other groups as well. Like we have some members of our support team that also have a support community give him very likely a 56 million developers worldwide, which is, it sounds like a flex.

[00:50:35] It is, but it means that we just have multiple groups. So another group that you might not know we have is we have a group of open-source maintainers that we talk to on a regular basis. And it's, it's actually a structured conversation and a group, and we get feedback from some of the largest open source projects that you've heard of.

[00:50:51]And it's, it's very important for us to actually treat them. With this well not treat them. I was going to say treat them with respect, but it really is respecting their time providing, getting their feedback directly to the source of the people who can actually impact that feedback into our, our platform.

[00:51:06]But as far as structure goes, the structure, it looks like we have a monthly meeting with all the stars. Everybody's invited and we call these the stars inside calls and like the PMs will show up and talk about some really early ideas of features and they get to see the feature develop over the course of time until it's ready for beta.

[00:51:23] And at that point it starts with like, oh, I knew this was coming out. I'll use this, I'll incorporate this in my team at work, or I'll write some content, whatever you want to do with that. You just have some interactions. And that's what we did the stars conference which is, again, it wasn't a huge public events.

[00:51:38] It was more just for the stars. So it's the point where I think I've even used Swyx you mentioned like, oh, I didn't know. This was a thing and never heard of this before. And it was like, because yeah, we just did it. It's only for the stars is not meant to promote GitHub in any way. It's just to give you access to all the information

[00:51:54] swyx: [00:51:54] we even had an astronaut and swing by

[00:51:57] Brian Douglas: [00:51:57] did have an astronaut from NASA.

[00:51:59]But in addition to that, like we did have, we do give you the opportunity to have some unfiltered conversations too, as well. So one of the requirements for stars is to sign an NDA and it's just so we can have some really freeform conversation about GitHub, the platform, but also complaints wins everything across the board.

[00:52:17] Idan Gazit: [00:52:17] Yeah.

[00:52:18] swyx: [00:52:18] Candor. Yeah. I mean, I, I like it. I, I, it's a, it's hard to organize. I think it's a full-time job, actually, if you do it, if you, if you want to do a good job of it, you know, and again, points to this thing becoming, because it it's probably is not, I mean, I don't know who handles it, but it's probably not developer relations handling it.

[00:52:35]It's. It's just like, it is yeah. I think, I think this is a growing field where we're all defining what different categories of activities we can invest in. This is one of them. Another trend I see a lot is as people building universities like, Apollo building Odyssey Netlify building gems like explorers.

[00:52:53]I forget who

[00:52:54] Brian Douglas: [00:52:54] the nation academy from Angie,

[00:52:56] swyx: [00:52:56] Angie, you know, while she has she's the orgy. And then you know, GitHub has had labs or I forget what, what you guys call it. We did

[00:53:02] Brian Douglas: [00:53:02] that the iLab.

[00:53:04] swyx: [00:53:04] Yeah. Yeah. I tried to go through it for actions, but I didn't really get very far to be honest. But I think, I think, you know, like people are building like LMSs, their custom custom LMS is for their learning.

[00:53:16] And I think that's another investment in community anyway. Sorry, I don't mean to ramble. I just like, these are all really cool trends where I think you know, it's part of the whole future of develop thesis. Yeah,

[00:53:27] Idan Gazit: [00:53:27] fantastic. We are at time even a little bit over time. So, I think we could probably keep jamming on this for awhile, I'm going to throw up a banner on screen.

[00:53:39] There's an, a thread in Okta discussions where if people have questions or maybe, Swyx, if you can drop some interesting resources in that thread. So, folks who are maybe coming out this later from the YouTube recording or who didn't get a chance to ask the question, you know, think about it later when they're like, oh, falling asleep.

[00:53:57] Oh, wow. I should have asked this it can drop in and ask those questions and, and, and get some followup engagement. Thanks so much for joining us. Swyx. Especially because it's like, I don't it's tomorrow in the middle of the night in Singapore. It's unclear to me what time it is. Thank you so much for joining us and thank you so much.

[00:54:13] Be Douggie for joining me here on the Octo speaker series. This has been a blast and have a lovely day,

[00:54:20] swyx: [00:54:20] right?

View Details

Original "Still Alive" song: https://www.youtube.com/watch?v=Y6ljFaKRTrI

Still Alive - Frank Sinatra Big Band Swing Version (The 8-Bit Big Band): https://www.youtube.com/watch?v=22vbhTi1ieI

View Details

Audio Source: https://www.listennotes.com/podcasts/the-popcast-with/episode-77-googles-kelsey-1hEI5D-Myci/

View Details

Audio source and show notes: https://simplify.simplecast.com/episodes/kathryn-mannix-how-to-die-well

"Dying is not as bad as you think": https://www.bbc.co.uk/ideas/videos/dying-is-not-as-bad-as-you-think/p062m0xt/player

View Details

Audio source: https://www.jordanharbinger.com/neil-degrasse-tyson-cosmic-queries-for-the-acutely-curious/ 22 mins in

Transcript

[00:21:14] I would love to know how you develop your skills to be able to explain and communicate complex ideas effectively to the everyday person or any suggestions for people struggling in this area, because you must have worked really, really hard to be able to go, "Okay, your level of understanding is right here because you're 16, 12 or 41, and you just don't have a good science background. I'm going to now make this digestible for you." And you do that seemingly on the fly on talk shows like on the Daily Show or on TV, possibly even live. So it's not like, "Oh, Hey Neil, we're going to ask you all this stuff, come up with a clever sounding soundbite." Like you got really, really good at that through a lot of hard work I assume.

[00:21:55] Neil deGrasse Tyson: Well, first thank you for not saying, "Oh, you're so good at it. It must be natural."

[00:22:00] Jordan Harbinger: I know it's not — no one's that good at that naturally.

[00:22:03] Neil deGrasse Tyson: Thank you for granting me the expectation that it's the product of hard work. So that's my first, thank you. Second, I remembered — you know, I go back. I'm an old man now. So let me go back many decades. And I started explaining things to people because they'd asked, "Oh, you're a natural physicist. I have this question." And I would monitor their attention span, their eyebrows, would they lean into the conversation or are they easily distracted? At what word did I utter did they then lose interest? By the way, any writer thinks this way all the time, because the moment you lose someone in that sentence, they're gone. They're never coming back to your novel. Hence is the important review of a novel — it was a page turner, right? Where you kept wanting to hear more. So somehow the author has gotten under your skin in a good way and keeps you coming, sentence by sentence, idea by idea. So there I am explaining things and not everything is working, the words I'm using that they're not understanding. So I'm taking mental note of this because I say to myself, if this happens again, I want to avoid those pitfalls. I mean, why not? If it's done incrementally, how much effort is that?

[00:23:15] But you also have to pay attention to body language. You have to monitor, are they interested or not? And if you're not, it's just like the professor facing the chalkboard or the class, if you're not even looking or paying attention, you will fail because you're not going to be reading what works with them. So I make note, "Oh, this works for person of this age group, but not this age group or this kind of background or if they're from this part of the country. Okay, or this part of the world, all of this is an assembled encyclopedia — that sounds so antiseptic — an assembled toolbox for me to reach it — utility belt. There you go.

[00:23:54] Jordan Harbinger: There you go. Yeah.

[00:23:55] Neil deGrasse Tyson: I'm Batman. Everybody wants to be Batman. It's my utility belt. And I find out what their interests are and I clad the science that I'm describing on what they came to me with. Are they fluent in pop culture or are they religious? Are they ambitious? Are they not ambitious? All of these things shape what words I choose and hardly anything I ever say, do I say without having first written it down.

[00:24:23] Jordan Harbinger: Really? Like even the soundbites on like a show you'll have written that in the past and used it on before.

[00:24:28] Neil deGrasse Tyson: Yes. But I've worded differently. I'll say, I've written so much about all of these topics that when the topic comes up, I just access a carefully worded sentence that I spent time composing. So if science writing was just communicating information, you can just staple together Wiki pages on all the science topics, but well-written books don't read like Wiki pages as useful as Wiki pages are. You're not reading them to be page turners, right? You're reading them to get specific information. But if you're going to write a book or give a lecture, you want the words to matter to flow, to attract someone's interest.

[00:25:08] And so I'm going, "Oh, I have a better word that's shorter and less complicated. Let me use that. Yeah, that works." But now the next idea that follows it, these become templates within me and I have a good random access memory. Because if you spent that much time composing a sentence, you're going to remember that sentence. You're going to remember what the machinery was that went through your head. And I've written about basically every single science topic that I talk about publicly. So that helps a whole sentence is, can come out fully composed primarily because I already went through that same thought process. Unless you ask me a question that's so out of far left field, but then I can sort of assemble. I have words with me and I have, I can do this on the fly. I don't fear that. In fact, I welcome it. It gives me a new pocket in my utility belt to field questions of one nature versus another.

[00:25:58] Jordan Harbinger: On the flip side, if you encounter a topic in your life that you're not familiar with, which I assume happens, you know, just from anybody who reads, what's your process, to then understand that topic? Are you using something similar that you would use to teach other people to remember things yourself or wrap your mind around topics?

[00:26:13] Neil deGrasse Tyson: No. No, it's not about memory. Memory is good to have. It's good to have a good memory, but you know, it's even better to have a good understanding.

[00:26:20] Jordan Harbinger: Understanding, yeah.

[00:26:21] Neil deGrasse Tyson: When you have an understanding of something, you don't have to remember it because you just understand it. So I'll give, I think, a good example. So if you walk into a bookstore and you say, "Okay, where are your cookbooks?" "Oh, there'll be here." And there's an entire section of cookbooks regional, fast cook, slow cook. By the way, there are more cookbooks than there are elements on the periodic table. So what's going on there? The recipes are things you kind of memorize. Whereas if I say, "Where are the books on all the known physics in the universe?" Well, it's one corner of one shelf. There's like electromagnetism. There's gravity. There's light and it's that. And so I can come to you with a deep understanding of all manner of things that go on in the universe that derive from these four books. That's an understanding. I didn't memorize the books.

[00:27:12] Jordan Harbinger: Right.

[00:27:12] Neil deGrasse Tyson: It's not about memorization. It's about understanding how and why things work so that when you encounter something you've never seen before, you can invoke the principles of how and why things work to fully understand what's happening. And it empowers you to evaluate situations that you've never been in before. Let me take a quick side ramp here. Imagine two people in the workplace, all right. So the boss comes up and hands the worker some tasks. And the worker says, "I've never done this before. This is not in my job description." And the person declines the task. Another person, "Wow. I've never seen this before. This is outside my job description. Let me go home and learn about it. This is great." Okay, there's two completely different employees. One of them embraces the unknown and wants to learn about it.

View Details

Audio source: https://www.thisamericanlife.org/740/there-i-fixed-it

Transcript

As long as he could remember, going back to when he was a child, Sam was scared of spiders. But not scared in the normal way, where lots of us don't feel great when we see a big spider, or a snake, or a big bug, or whatever.

Sam

It invaded all aspects of my life at all points in the year. I was thinking about spiders all the time. Any room I walked into, I looked in the corners. I looked under the table, crouched down. Every night before I went to bed, I fully unmade my bed.

Walking down the street, I wouldn't walk under anything that-- I would try to avoid right angles to the best I could, because that's where a spider is going to make its web.

Ira Glass

But you were scared that one would fall on you? Or just because that's where they are?

Sam

Whether or not it would fall on me was really irrelevant. Just seeing a spider, not moving, moving, large, small, it just created a feeling in my body that was just-- I would shake. I would throw up. I would faint. And of course, if you're constantly going through your life looking for spiders, you'll find one.

Ira Glass

As a kid, he didn't do sleepovers, didn't do summer camp. Other kids made fun of him. People did not understand. People pitied him.

And when he grew up, it did not go away. His fear ruined dates. He once found a spider the size of your thumbnail in his car and sold the car that day.

Sam

I had went to psychiatrists for exposure therapy. I had went to psychiatrists to talk about it. I couldn't watch an image of a spider on a TV screen.

Ira Glass

Let me ask you, does this name mean anything to you?

Sam

Hmm?

Ira Glass

Peter Parker.

Sam

No. Oh, oh, Spider Man.

Ira Glass

Yeah, could you watch those films?

Sam

No, absolutely not. I don't even know if Spider Man has anything to do with spiders, to be honest.

Ira Glass

And then, he was seeing a hypnotherapist, and it was going nowhere, when he read in The New York Times about this new treatment for phobias that can get full results in just one day. And he reached out to the doctor behind it, a psychologist, Dr. Merel Kindt in Amsterdam. And she invited him to be part of a study and get the treatment. He figured he had nothing to lose and flew to The Netherlands. A film crew captured what happened during his treatment for a documentary series called A Cure for Fear.

Merel Kindt

You're doing fine.

Sam

I'm so nervous.

Merel Kindt

Yeah, it's OK.

Ira Glass

Sam and Dr. Kindt stand outside the door of her room. She opens it. He looks in. There's an aquarium with a brown, furry tarantula, maybe 4 or 5 inches in size.

Merel Kindt

Yes, there's a spider in the tank. But let's not wait too long. So it would be very good if you can already walk in the room, and then I close the door. Very good, great. We're doing very well.

Sam

I think you can hear that I was breathing hard, and I'm feeling that there is adrenaline. I crouch down, my arms crossed.

Ira Glass

Dr. Kindt then opens the door of the tank.

Sam

Oh, whoa, god. No, no, no, you're not going to make me look in there, are you?

Merel Kindt

Yes, I'm going to ask you.

Sam

[HYPERVENTILATING]

Merel Kindt

So please come with me. So step in here, and then close it. Very good. And then, can you also--

Sam

Oh god!

Merel Kindt

Very good, very good. Yeah, come. And--

Sam

No! Don't make me go in there!

Ira Glass

Then, to get the spider to move around this tank, she sprays it with water. And every time she plays it with water, the spider waves its legs or moves around a little.

Sam

Yeah.

Merel Kindt

OK. How high is your distress right now?

Sam

It's like 100.

Merel Kindt

OK, but it's very important not to move away.

Sam

OK, I'm not moving away.

Merel Kindt

All right, spray it a bit so that--

Sam

(SCREAMING) Oh, god, no! [WAILS]

Merel Kindt

Yeah, that's very good. OK.

Sam

[HYPERVENTILATING] I gotta go!

Ira Glass

Sam, I'm wondering, like when you scream like this, I'm wondering what goes through your head.

Sam

That I feel like I can feel it on me, that I'm going to be attacked by it. None of this is rational, right?

Ira Glass

Mm-hmm.

Sam

I know it's not--

I know that the thing isn't going to jump out of the tank and move like 4 feet in the air and jump on me. I get that. But it doesn't matter, because I feel that the absolute worst things that can happen are going to happen and are, in fact, happening.

Ira Glass

The reason Dr. Kent wants him to max out on anxiety like this is that she wants to trigger the memories and feelings of fear of spiders that are stored in his brain. And then, when his brain goes to store this big new terrible experience with the old ones, it has to re-save the old memories. And she gives him a drug, a beta blocker called propranolol, that disrupts that process. And I know this sounds so simple. How can this be real? But by disrupting the way that the brain re-saves those memories, she neutralizes them.

The very next day, Sam returns to the same room. He walks right in. His breathing is normal.

Sam

There's fear in that-- well, I don't know that there's fear. I don't understand my feeling, because I've never been like this before.

Nothing physically, internally, was happening that used to happen to.

Ira Glass

You didn't feel the fear?

Sam

I didn't feel the fear. And when she said--

Ira Glass

No adrenaline?

Sam

No adrenaline at all. I felt, I guess, excitement that this was new.

Merel Kindt

You think you are able to touch it?

Sam

And she says, do you want to pet it?

Merel Kindt

Let's make a deal.

Sam

And I said, look, if you hold my hand, I'll pet the spider. And I did. And I petted it, and the thing started to move. And then she's like, do you want to pet it again? And I said, yes.

Merel Kindt

You touched the tarantula!

Ira Glass

That was over three years ago, and Sam says the effect of the treatment has only deepened as he's had more calm interactions with spiders. He doesn't look around for spiders anymore everywhere he goes. And remember he once sold a car when he found a spider in it? He told me that the day before I interviewed him, he was driving in the SUV that he owns today, flipped down the mirror, a spider dropped into his lap. He was going 60. He said if that had happened back in the day, before the treatment, he really might have crashed his car. But now, he rolled down the window, picked up the spider, threw it outside.

Ira Glass

Can you talk about just, like, how extreme the treatment was?

Sam

I thought at one point I was going to have a heart attack and die in that room. [LAUGHS] Yeah.

Ira Glass

Does it seem right somehow that you would have to go through something so extreme to get over something so extreme?

Sam

It's what had to be done, fighting fire with fire.

[MUSIC PLAYING]

Radiation therapy, it's your last resort option that you have to deal with a problem that can't be solved in any other way. This is the nuclear option.

View Details

My thoughts on shipping The Coding Career Handbook as a Side Project, and tips and tricks on how to do it well.

Audio source: https://modernweb.podbean.com/e/s08e09-modern-web-podcast-sides-projects-with-shawn-wang/

View Details

See them sing it https://www.youtube.com/watch?v=h4nYLQsXjoM

View Details

Audio source: https://underthehoodpod.robinhood.com/#element-452 (15 mins in)
Mp3: https://www.listennotes.com/podcasts/under-the-hood/the-future-of-finance-with-ApbGyU2DfQE/

Why the future is remote work and location independent pay.

The backing track to my narration is Algorithms by Chad Crouch.

View Details

Source: https://www.thecloudcast.net/2021/06/automated-data-labeling-for-ai-apps.html
See also: https://softwareengineeringdaily.com/2020/04/09/snorkel-training-dataset-management-with-braden-hancock/

Software 2.0 is Andrej Karpathy's idea that instead of coding business logic by hand, the applications of the future will be trained by data. In other words, machine learning. But ML is limited by the quality of data available, and there is a lot of unstructured, unlabeled data out there that is still being manually labeled today. Scale.AI is a well known startup that has done very well offering a scalable manual labeling workforce, however they are still bottlenecked by the number of subject matter experts available for labeling critically important data, like cancer diagnosis and drug trafficking rings. In order to get labels from subject matter experts, you typically have to put them through a very tedious process of labeling to build up a useful structured dataset upfront before any useful machine learning can be done.

I did some very minor ML work about 5 years ago and found Christopher Re's work on DeepDive at Stanford. It takes a revolutionary approach by making it easy to write the labeling functions themselves. This turns the labeling process into an iterative, REPL like experience where subject matter experts can suggest a function, see its impact right away, and continue refining it, assisted by AI. DeepDive is now commercialized in a startup called Snorkel.AI, so I was very excited to find a clear explanation of Snorkelflow from its CEO, Alex Ratner.

Here it is!

Transcript

[00:01:15] Alex Ratner: [00:01:15] SnorkelFlow is a platform that's meant to take this process of building machine learning models and AI applications. And I get all starting with buildings, the data that they rely on that fuels them and make it, in a nutshell, look more like an iterative software development process. Then you know, this kind of 80, 90% upfront just, hand labeling exercise.

[00:01:34]And so snorkel flow supports that entire iterative loop of, actually laboring data. Can be by hand in the platform, but also most centrally programmatically by letting users, what we call labeling. Basic idea, is that rather than say asking your, legal associate at a bank to, or your doctor friends to sit down and, label a hundred thousand contracts or a hundred thousand electronic health records have them, right.

[00:02:00]Sharistics are bits of their expertise look for this keyword or look for this pattern or look for this, et cetera. I'm like a bridge from old, expert knowledge type input. Modern machine learning models using one to power. The other. So a snorkel flow is an IDE basically, and has a no-code UI component as well, but let's not people either via code or by pushing buttons for even, non-developer subject matter experts say to.

[00:02:24]Programmatically labeled their data by writing these labeling functions and then uses a bunch of modeling techniques. A lot of which was actually, the work that, that the co-founding team. And I did in, in, in our kind of thesis work around how you take a bunch of programmatic data and clean it up and turn it into a final.

[00:02:41]Instead of clean training data for machine learning models, and then actually in snorkel flow, you can, autumn, basically push button train best-in-class open source models. You can then analyze where they're succeeding or failing and, and use that to go back and iterate on your data.

[00:02:54]And there's a Python SDK throughout the whole thing. So many of our customers will mix and match. Will you start. Create the training data set and then train the model on some other system, et cetera. But what's normal flames of support. Is it basic iterative development process where, you know, rather than just spending months to label a training at once and then being stuck with it and having to throw it out and start all over again, anything in the world changes your upstream input, data changes your downstream objectives.

[00:03:18] Change, making it again more like an iterative process where you push some buttons or write some code. That label the data. You compile a model or train it, but you can think of it like compiling and then you go back and debug by, by iterating on your data, everything centers and snorkel flow around looking at your data and iterating on how it's labeled to improve models.

[00:03:38]Brian Gracely: [00:03:38] I'm curious. So you mentioned you mentioned in there's a there's a Python SDK, which for anybody who, works in data science, data modeling, right? Python is your language to Frank sort of the language you use or are you a couple of them, that's the language that, you how you do your program, but I'm curious, like in today's world, Do data scientists consider themselves programmers or is there still Hey, look, I work on the numbers, I'm good at building models and the numbers, but I don't think of myself as a programmer.

[00:04:08] Like how do you bridge those two worlds together or do you not really have to bridge them together? How much does the data scientists have to go? I have to focus on numbers and models versus I have to focus on programming, something to do stuff. What's their world look like?

[00:04:21]Alex Ratner: [00:04:21] It's a great question. I think I, I haven't been are currently I'm part of four or five different data science institutes or something. And I don't even still know. I mean, the data science is such a broad umbrella term. There's so many different varietals of us and, and types.

[00:04:35] And so I do think there's a very broad spectrum of, the data scientists. An ML engineer and just, loves writing codes are the one that, to your point really just wants to push some buttons and get back to the numbers and the modeling and the outcome. And, we definitely, try to support the range through a layered approach.

[00:04:50]And, we, we have , but on top of that, we have a a no-code UI that allows you to write these wavelength functions without writing code. So for example, if you're trying to train a CA a contract classifier and snorkeled flow, you can, write Lateline functions based on clicking on keywords or pressing buttons with kind of templates for types of patterns or signals you want to look for.

[00:05:11] So, No we try to support basically, if you want to move fast and you're a non developer, or you're just not looking to spend time there, you can just do it in push-button way. But then if you want to go and customize or inject custom logic or really get creative, you can always fall back to the Python SDK.

[00:05:27] And so, I mean, I think a lot of the what we're trying to accomplish in the very beginning, right? Raised me abstraction know level at which you're interfacing with and programming your machine learning model or your AI application. And the first step is the hardest, right?

[00:05:39] If you think of the way that hand labeled training data is, it's like the machine code, or really actually, just so you know, I think of it as like the ones and zeros, literally for binary classification cases. Yeah, a lot of the effort behind the circle project and the company is just, or was just getting from that layer to the layer of, assembly language day.

[00:05:57] But once you get there, you can build all those layers on top and you can go up the stack and down the stack, according to the application of the user type, right. Actually, my co-founder Braden who was, who also did his PhD around, snorkel related stuff, had a paper actually on how you could use natural language inputs.

[00:06:12] You could explain in, in natural light. Just speaking to the computer, why a certain data point should be labeled a certain way and then use off the shelf semantic parsers to parse that down to code, which then would get dumped into snorkel. So basically once you make this leap from labeling data, by ham kind of zeros and ones to labeling your training data with code, then the sky's the limit in terms of building layers of abstraction on top of it.

[00:06:35] And that's actually a lot of what the company does and has been doing over the last two years is. Building a flexible interface through our platform, snorkel flow for different data types and use case types and user types.

[00:06:45]Brian Gracely: [00:06:45] Yep. Well, and, and I think you, you really answered my question in there.

[00:06:49] The reason I brought it up was on one hand you have this you have this language level SDK in terms of Python, you can get into, Some pretty granular level stuff. And then you have, on the other end, you've got application studio, which you said, like you said is this sort of low code graphical way of, building templates and building applications.

[00:07:08] And I was like, There must be like, I think sometimes there's just perspective of there's one profile of a data scientist. And I think what you really highlighted is it, it's like a lot of things there's a spectrum of, those that specialize in one part of the job, others that don't care about it and want it, certain things to be easy.

[00:07:25] And so that, that was useful because I think sometimes like in my head, I'm thinking, okay, Data scientists is served a certain sort of task the same way you might say okay, they're a Java developer. So they, there's a tool set that they always use. So that was super helpful.

[00:07:39]Alex Ratner: [00:07:39] Yeah. And it depends on what the problem is too. I mean, the other thing also that I think goes under, emphasized in the air space big. Points number one. And I don't think it's that avant gardening where to say it was maybe more back in 2015 is, Hey, AI is about the data, not the models or the algorithms, which I think, fewer people will find a controversial statement today.

[00:07:57]Even if it's phrases in a somewhat reductive way. But the other thing that I still think is under emphasized in practices and necessity of lupus. What we often refer to as subject matter experts into the process. And so I think w and I won't ramble here too long, but just for some perspective, and this is actually the very first funding that, that the snorkel project ever had was specifically about looping what they call SMEEs and the government subject matter experts.

[00:08:20]Our original partners were some genomicists at Stanford. How do you loop them into the. Of AI in a better way than just saying, Hey go label data for eight months for me, please. And this idea of how do you get subject matter expertise from a human's head into a scalable machine format has been the focus of AI for, decades, but the answer of modern machine learning today for the last, five, 10 years.

[00:08:44] Okay, just sit them down, have them labeled data points one by one, nothing else. They've got all of this rich domain knowledge, a doctor, a lawyer, a cyber analyst, network, technician, and underwriter. Throw that all away, just have them literally just, give zeros and ones labeling data. And that's a nice abstraction.

[00:09:01]And it has been actually a very productive one for the field, because that means the ML engineers can totally abstract the way the messy realities of real-world data and real world subject matter experts. And just focus on optimizing, a fancier model architecture. But I think we've reached a point where it starts to become silly and impractical to have this wall.

[00:09:19] The subject matter expert and the data scientists. So I'll let us loop back and say, but a big focus of circle flow is about making these interfaces in this process, accessible to a non-developer who's, a legal associate or an underwriter or a network technician and have the process too. And that's another motivation behind the kind of, layers, including no-code UI.

View Details

I've moved back to the US! Just a quick audio update + announcement that I'm taking this week off because of lack of equipment.

The backing track to my narration is Algorithms by Chad Crouch.

View Details

I joined Alexey Grigorev's DataTalks.Club podcast to talk about my viral essay on How to Market Yourself (without Being a Celebrity).

Links:
- How to Market Yourself without Being a Celebrity (tweet thread)
- DataTalks.Club Video and Transcript
- The Coding Career Handbook - special discount

Timestamps

  • Marketing ourselves (1:15)
  • Components of personal marketing (5:00)
  • Personal brand for an average developer (7:06)
  • Picking a domain: what to write about? (13:13)
  • Being too niche (15:30)
  • Finding a good niche (17:15)
  • Learning in public (18:23)
  • Borrowed platforms vs own platform (20:11)
  • Starting on social media: Picking what they put down (22:48)
  • Career transitioning: mutual exchange of value (23:50)
  • Personal marketing for getting a new job (33:30)
  • Getting hired through the back door (37:50)
  • Finding content ideas (39:45)
  • Marketing yourself in public — summary (40:10)
  • Open-source knowledge (41:11)
  • Internal marketing: promoting ourselves at work (45:09)
  • Signature initiative (49:30)
  • Public speaking (53:30)

The backing track to my narration is Algorithms by Chad Crouch.

View Details

The theme song of humanity.

Audio sources:

  • Baba Yetu at Cadogan Hall
  • Official music video
  • Baba Yetu at Llangollen

Lyrics
“Baba Yetu” is essentially the Lord’s Prayer sung in Swahili. The title translated means “Our Father”.

Baba yetu, yetu uliye
Mbinguni yetu, yetu amina!
Baba yetu yetu uliye
Jina lako e litukuzwe.Utupe leo chakula chetu
Tunachohitaji, utusamehe
Makosa yetu, hey!
Kama nasi tunavyowasamehe
Waliotukosea usitutie
Katika majaribu, lakini
Utuokoe, na yule, muovu e milele!Ufalme wako ufike utakalo
Lifanyike duniani kama mbinguni.
(Amina)

Our Father, who art
in Heaven. Amen!
Our Father,
Hallowed be thy name.Give us this day our daily bread,
Forgive us of
our trespasses,
As we forgive others
Who trespass against us
Lead us not into temptation, but
deliver us from the evil one forever.Thy kingdom come, thy will be done
On Earth as it is in Heaven.
(Amen)

Transcript

On Fridays we feature music on this podcast and today i'm sharing one of my favorite songs - Baba Yetu. If all of humanity ever had a theme song, this would be my pick.

This first clip was from a performance with the Royal Philharmonic in London at Cadogan Hall.
Baba Yetu was the theme song for the game Civilization 4 and it was the first video game song to ever win a Grammy award. If you watch the official music video that comes with the game, linked in the show notes, you can imagine how it celebrates the crowning achievements of civilization from the taming of fire all the way through to the space race and the information age. But the renditions I feature here are not from the game, they are live performances conducted by Christopher himself. I really prefer the live performances because you get to see how passionate Christopher is about this song, and how much it lifts up the entire chorus and orchestra. As one youtube commenter said, "this is a song composed by an asian guy in an african language sung by white people from a game about the rise of humanity. Now if that isn't awesome I don't know what is."

Baba Yetu is the Lords Prayer in Swahili - so literally you are saying "give us this day our daily bread, forgive us of our trespasses as we forgive others" as you sing this song. To close out, here's another rendition I like with a more diverse cast and I love appreciating how a different soloist interprets it.

If you have the time, I recommend watching both performances on youtube.

View Details

5 tips to improve your writing:

  1. Novelty
  2. Intrigue
  3. Stories
  4. Analogies
  5. Examples

Audio source: https://www.indiehackers.com/podcast/196-david-perell (35 mins)

View Details

Everything is copied - although Apple didn't copy as much from Xerox as most people say.

Audio source: https://www.youtube.com/watch?v=nJPERZDfyWc (the full 4 part documentary is an inspiring watch)

View Details

dbt is taking the data eng world by storm. this is the best 10 minutes i've heard on it, from Fishtown Analytics cofounder Drew Banin.

Fun fact: Fishtown is a town in Philadelphia!

Audio source: https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/ (14 mins in)

Fivetran CEO geeking out on dbt: https://medium.com/hashmapinc/the-origins-and-future-of-fivetran-with-george-fraser-1af8e7cb90aa (17 mins in)

Transcript

Tobias Macey: And also, we don't have this version repository of queries and reports and the ability to collaborate on it fairly easily, then you end up leaving everyone to write their own sequel, usually ad hoc, and they might have their own assumptions as to what an order is or what a customer is, or how to structure the query to join across different tables. And so everybody's going to have slightly different views of the data or slightly different outputs. And so definitely having the ability to have one location that everybody can look to. And one interface for everybody to collaborate on makes it much easier and more scalable to have more people working on building and interacting with these Analytics reports and these analytics pipelines.

Drew Bannon: Absolutely, I think it's a great point, what we find is that in the process of building up these data models, what you're actually doing is generating knowledge about your organization. And you're saying here's exactly what an order is, or here's exactly how we calculate MRR. And to that end, dbt ships with auto generated documentation about your project, you can run dbt docs generate, to generate this single page app, have all of your models with all the tests on the columns and descriptions that you can populate for these different models. And so if you do have some consumer of the data that isn't using GBT, they have a great place that can go and see all the models that exist and all the columns and your pros about all of it. And so in that way, it's sort of a catalog of all the data that your organization commands and serve instructions for us toTobias Macey: Yeah, and I think that that is definitely very powerful, because particularly having the documentation be generated as part of the code as opposed to something that someone does after the fact or alongside the work that they're doing means that it's much more likely to stay fresh and actually be up David periodically, rather than somebody putting in the time and effort to write some prose once when they first build the overall reporting pipeline. And then it quickly grows stale and useless over time as new modifications are made. Yeah, that's absolutely right. And another interesting capability that dbt has is the idea of packaging, and being able to package up these different subsets or reports or transformations so that they're reusable across different teams and across different code bases. So can you talk a bit about how those packages are set up and implemented, and also maybe talk a bit about who the sort of primary drivers are for the different packages that are currently available? Sure.

Drew Bannon: So when dbt runs, it will look in a couple different places for we will call it resources. And so an example of a resource is a model or a test of a model, or things like documentation, snippets, etc. And so one of the places that looks is your models directory, which are the models that you've created, but the other place it looks is a folder called dbt modules, which is sort of note inspired. And so what you can do is just drop whole dbt projects into that dbt modules folder. And they get picked up as though they're a natural part of your project. And all of these resources become available in the compilation context the dbt provides. And so there are basically two types of packages that that are produced. One is data set specific packages, and the other is sort of macro or utility packages. An example of a data set package is something like snowplow. And so we're huge fans of the snowplow event tracking system at Fishtown analytics, the big idea is that you can track events from all your different clients. And they flow directly into a big events table in your warehouse. And so this event table is like an immutable event log, it has the full history of you know, every interaction that you cared about to track in a single table, which is phenomenal. It's a great resource. But the problem is, it's difficult to plug a BI tool right into that, either because it's too much data or because the things you really care about are hard to analyze, like how many people had two different events in a single session. And so what we frequently find ourselves doing is rolling up these events into sessions using some code that was actually originally produced by the snow pub team called their web data model. And so what we can do is we can make a package of these transformations that go from bra events, to page views to sessions, all the way up to users. And then we encode these things as dbt models. And if you include this package into your dbt project, when you take dbt run, these models will automatically run you can also reference them from your own models. So if you want to do marketing attribution on top of session ization, that was provided by the snowplow package, you can absolutely do that. The other broad type of package that we make is maybe more focused on macros. And so the Jinja template engine supports something called macros, which are kind of functions that return text basically, in most cases, texts, we've actually been Kak them. So they return other things, which is pretty wild how we do it. And and so what you can do is if you find yourself writing the same type of code over and over again, what you can do is make a macro that accepts arguments and spits back out, usually the sequel that you need to encode that particular piece of logic. So here's a really good example that shows the full like force of the dbt compilation engine, we wrote a Actually, let me grab it, somebody contributed a pivot macro, that you could point to a table and a specific column. And you can say, pivot out the values into this column using this aggregate function. So you say, look at the Orders table, look at the, you know, have this better example. Look at the products table, look at the products color, and then pivot that pivot that out to like color red color blue color green, with a one if that's true, or zero, if it's not. And so this is probably something that a lot of people have written manually many times over. But when macros and the ability to sort of encapsulate logic plus packages, which is a distribution mechanism, we can write that thing once, and many, many people can benefit from it. So this is one example of a macro that was contributed by member of the dbt community. But really this this dbt utility package that contains the pivot macro has dozens of macros, many of which were contributed by dbt users. And the really cool thing is a lot of these people are in engineers by trade their analysts. And so for a lot of them, it's their first time contributing to an open source repository. And that's a pretty cool experience to be the benefactor of the the code that they wrote.

View Details

Audio source: https://www.3books.co/chapters/15 (14 mins in)

Tuesdays with Morrie wikipedia entry

View Details

I am a mentor for the Notion Advanced track of Tiago Forte's Building a Second Brain, Cohort 12. You can catch Weeks 1, 2, 3, and 4 in the previous weekend episodes. This is the cleaned up audio of the last of 5 mentorship sessions with Q&A at the end.

Video version: https://youtu.be/emUfFWixQwE

Timestamps

  • Recap of Last 4 Weeks [00:02:08]
  • Shifting Perception to Sharing [00:03:07]
  • IP's Personal Progress [00:09:38]
  • How to Solve the Cold Start Problem [00:10:57]
  • The Invisible Pipeline and the 1% Rule [00:14:00]
  • Peer Group Progress [00:15:48]
  • Course Recap: Convergence vs Divergence, CO vs DE [00:20:41]
  • Your First Brain vs Your Second Brain [00:22:43]
  • Project Kickoff Checklist [00:24:06]
  • Favorite Quotes [00:25:26]
  • Q&A: Denys on Learning in Public in YouTube [00:32:47]
  • Q&A: Meryl Johnston on Learning in Public [00:43:34]
  • The Resistance and Gratitude Journaling [00:46:04]
  • Don't Just Write Essays: Remove Resistance [00:48:37]
  • Three Strikes Rule [00:52:51]
  • Guy Margalith on Fear and Your Second Brain [00:53:40]
  • Organizing Files on your Mac [01:00:59]
  • Swyx Twitter Journey [01:04:18]
  • Tropical MBA and Balaji Srinivasan [01:09:05]
  • Closing Remarks [01:10:20]

Transcript

swyx: [00:00:00] Okay, so we're in week five. I didn't know what to call it. So I just called it finale week. I, at this point I feel like everyone knows each other even.

But feel free to say hi, if you're new you're still totally woke up and to jump around and visit the each other's sessions. I'm also going to blast through the housekeeping just because there's not that much more housekeeping left to do. And I will also want it to shout out what I did for last week's.

Events which well that's Swyx week app, which was essentially right up my own experience of intermediate packets. And I broke my own journey down into eight intermediate packets. So that's tweet, tweet, livestream, blog posts, conference, conference conference, a job interview. And this took place over the course of a year.

So it, it shocked me because even though I went through it, you don't, you never really think about intermediate packets dripping out over a year. And the thing that I really wanted to get across was that I think the way that immediate packets, which was presented last time was very much of a top-down thing.

Like I want to do something big, let me work backwards and break it down into intranet, small things that can ship. But it also equally works for bottom up where you have no idea what the end goal is, but you're just like. That's just ship of small things, and try to build up to something big if the interest is there.

Glen G says, paddle reminds me of bubbling off events. Yep. That's a very WebDev analogy and that's fully true there. The two directions of bubbling. I forget what the opposite of bubbling is in the dumb, but that's beside the point anyway. I wanted to offer that as my own perspective on intermediate packets.

Oh, yeah. Dave says he is bubbling up NIST insider today. Yeah, totally. Yeah. We are bubbling ideas. That's great. That title doesn't resonate with me. So I just went with bottom up, but feel free to write your own policy. And I think that's something that we should talk about as well.

Who's written stuff as a result of this course. And what post ideas do you have to share? You can feel free to throw that in the chat as well. Housekeeping, we've covered this plenty of times, but stupid questions are welcome. Often beats. Perfect. And then this is the discussion and not a lecture.

Recap of Last 4 Weeks [00:02:08]

All right. So we've covered all these 12. I think it actually works out without the 12. So it's cohort 12 with 12 items. I think so. I grabbed this, I went back to lecture one and grab this slide. And actually the last week changed quite a bit, I think, but the first 3 have been relatively stable.

And it's quite a bit of content if you walk back and think about it. So I just wanted to acknowledge and pause for a bit and say I think the last five weeks have been a real blast in terms of flights and just a lot of ideas, especially if you're new to them for the first time. But even for me going through them the second time I felt like I just had a lot more to think about each on each in each time, because I've lived through it and I've had a year to really sit with it.

I think it'd be interesting to hear from you in in, in the chat or if you wanna, if you want to speak up, I'm just going to pause here and it's just go was there, was there a particular idea that really stuck out to you during this these this whole curriculum w what's your favorite sort of takeaway that you really liked?

Shifting Perception to Sharing [00:03:07]

Speaker 2: [00:03:07] The one thing that I found which wasn't actually to deal with lessons wasn't to do with systems and processes. It was his perception for me. It's just been a shift in perception, but that's been the benefit of building a second brain, but I've taken that and I've applied that to everything. And I'm looking at, whether it be a task or whether it be something I want to do, what is the perception that motivates me most?

And I've realized from second brain that all I came in, they wanted to share more and I wanted an output and I think it came from a selfish point of view of, I just want to share, I want to share, I'm going to attract more people, get more business, be a thought leader, et cetera. What I realized when I was sharing that circle and sharing, and here I'm not having that going a backwards and forwards.

I like helping people and I look at even day-to-day friendships. I have conversations, anything that goes to the people I'm interested in they're gold as well. And I've realized that the perception was wrong for me to just look at output in isolation and say, oh, you just want to help her instead of, Hey, how do we respond most positively to actually get output?

And for me now, I realized that for helping other people I'm building connections, like even the last week I've been really lucky people that they messaging me, ask them to connect. I've had zoom calls with people. I'm emailing people and we're all having backwards and forwards dialogue, but that wouldn't have happened unless I output in the first place to

share my opinion, to actually attract those like-minded people as well.

So that's where I say now to perception is going to help me. And I'm going to look at any future problem rather than just looking at like it's a task or a project on big into kind of alleviate and willpower and not having this battle that you have to get up every day and you have to do something against your will to finally get to the end of a journey.

And for me, if there's that kind of, if there's those breadcrumbs of emotion for me and breadcrumbs of connection with people, I'll get more addicted to it. I'll enjoy it more. It will be easier for me all the time. And I think it will become more and more natural to do.

swyx: [00:05:10] Yeah, that's brilliant. Thanks so much for sharing that.

There's so many things I can go off in that, Diego and ended the his lecture by saying, chase what excites you and that's, I think that's definitely something that you're doing. I personally and th

Speaker 2: [00:05:23] that's a good point. I think we have to shape it into a way that does excite you.

It does not always naturally. That's what I didn't realize. It wasn't just, oh, that's, output is going to excite me. I have to find what does excite me and how can I tie that into output. And now what's going to,

swyx: [00:05:41] I call it. So I call it a nexus of interest because it's not just X, if it only excites you and no one else, then you're just going to do it yourself.Ikigai and the Nexus of Interest [00:05:49]

So you have to find the intersection. Okay. All right. A little bonus idea for you guys. All so, the internet is very In love with this idea of ikigai, because it's a foreign sounding word and we love foreign sounding words as thought leaders. So Zettelkasten and Ikigai, anything is not English.

Speaker 1: [00:06:04] Sean, just real quick, my wife is Japanese from Japan. I've been married 27 years. But I asked her about Ikigai and she's what the hell is

Speaker 3: [00:06:11] that?

swyx: [00:06:13] I just wanted to share. It's not,

Speaker 1: [00:06:17] it's real. But it's not just some secret thing that all Japanese people know about.

So I just wanted to put that out there. All Japanese people do know about ninjas, but they don't know about Jesus, but they don't know about easy guy. So perfect. They're

Speaker 2: [00:06:29] just not an air cold yet. That's all.

swyx: [00:06:31] No worries. I was just going to say it's very invoke. And I think if it works for you, it doesn't really matter what the origin is, whether it's true or not.

So my point is that it's this, there's this four circles. It says, what do you love? What you're good at, what you can be paid for and what the world needs. And I think that actually, it just, it really draws, drives down to... What you love becomes, what you're good at, if you just do it long enough.

And if you're good at it, you eventually start to love it so that this collapses into one circle and then where you can be paid for and what the world needs. Basically collapse the one circle as well, because the creator economy and just the internet economy has funneled, has created a lot of ways to make money for as long as you, as long as can supply the

world of what it needs.

They'll find a way to

Speaker 2: [00:07:10] pay for this is 40, where you're going with this, because this reminds me of a conversation I had maybe a week ago about all peers and how I couldn't understand them. And I couldn't wrap my head around them. And when I did understand them, I realized that just done them naturally.

And it wasn't a Eureka moment. And part of what we want to do is I want to help educate people and especially creative business owners to have more confidence in themselves. But what you're showing me here is actually making me realize that there's so many things that I do naturally. So even when I said, what excites me, that's in a conversation with

you.

But to me it would just be a given that it would make no sense to me just to talk. Self-serving really just about me. I'm going to empathize with other people, but. Th the point here is that it's sometimes I don't realize that I do things naturally and they're just in there and their parents were processed and not explain them.

And that's one of the big things that I've learned here is to actually explain the full idea rather than what I do automatically that I don't even think about. And I think writing has made me document that better. This is really good. I like

swyx: [00:08:16] this. Exactly. It's actually the advice that I give people.

So B be sure that you're not only paying attention to what excites you, but also what excites others. The first part of my sort of IPS is respond to others. It's very other oriented because that guarantees feedback that people are more people are the most interested in themselves.

So if you're not appealing to other people's self-interests, then. Yeah. People often, like when they start out re creating content online, they're wondering how come they don't get response. Like you're much higher. You're much more likely to get a response.

Speaker 2: [00:08:50] And I heard this is in my newsletter today, which the challenge for people is to actually respond to people.

If they've helped you, if they've saved you time, if they've made you think, go and respond to them. And I actually set a challenge to myself, the response.

swyx: [00:09:04] Yeah. Pick up what others put down. I also have this.

I refer to it so much that we have a shortcut for it, it's in our community. But yeah, you want to plug your newsletter actually, if people are, have like newsletters and blogs and stuff throw it in the chat so that we can actually see and sign up for each other and keep and stay in touch, but anyway, it's a dance, it's not a one-way street. You absolutely are

engaging with other people on that. I have a bunch of other hands now thanks, David. I'm gonna, I'm gonna move on to someone else. So who is this zoom? Doesn't show me your name

Speaker 3: [00:09:30] and IP and Glen have their hands up.

IP was first all

swyx: [00:09:34] okay. IP. All right. Thanks guys. Yeah.

IP's Personal Progress [00:09:38]

Speaker 2: [00:09:38] Hey guys. I completely agree with what Dave said. It's the community aspect of building the second brain that has really helped me as well, this connecting to people and just to see what they're doing has really helped me. And one more funny thing I wanted to show you.

I w I just did that

swyx: [00:09:54] icky guy thing.

What do you mean? What do you mean you did it? What do you mean you did? No, I thought icky guy it's architecture. I just hadn't been able to pinpoint, but I've always been in love with it. And this is something which I really want to pursue. And with building a second brain, what I've actually seen is it's, since it's relieved so much of cognitive overload, that.

I can, that's helped me scale up like previously I could just manage one or two project at a particular time. Now I can see by making it by making more intermediate packets, I can actually scale up my work. I can add this same moment in time. I can work on different projects, which I previously couldn't, so that's really helped me out.

That's awesome. Awesome. Are you a practicing artist architect? Yes, I am. Yes I am. Yeah, that's awesome. I'm glad you really clarified that for yourself and yeah. Thanks for sharing that. Yeah, it's been amazing. Awesome. Thank you so much. Thank you. All right. Let's see.

How to Solve the Cold Start Problem [00:10:57]

Okay. Something's wrong with my zoom because it really doesn't show names. But Glenn, go ahead.

Speaker 2: [00:11:02] I, I read Pick up what they put down post. But I was wondering if you had a few more example or four could show something, cause it seems key and kick-starting things when you don't really have so much of a following yet and how you generally engage with people or what it would look like for example, do you make a blog post or

do you just respond on a tweet or do you,

swyx: [00:11:25] yeah those are quite, those are most often the common examples. One of the key examples, say I do is write a book review. If an author puts out a book you want to go through it and jot down like your top learnings and then send it back to them, they would probably really appreciate it.

And even if you're not on social media at all, just emailing them old school style they'll probably read through your response and like either, really appreciate it probably make their day. And if you got anything wrong, they'll probably correct you and that's free consultation or teaching that you just don't get anywhere else.

And I think if you do it often enough, or if you have a really high quality correspondence, then you become partners in the, you become collaborators, because then there'll be like the next time you're working on something, they'll send it to you first and go what do you think? Because.

You don't have to be an expert. You do have something that you don't have. It's just at the beginning of my mind, I say that a lot. This doesn't have to be a whole lecture on ethic of what they put down, but I, if anyone else has similar ideas that, I'm interested to hear them as well.

But I think I can keep coming up with stuff if you want. Does that help? I can show you, I'm still sharing my screen, so let's see.

Swyx what it's node design patterns. So I read I got sent a review copy of this book, and then went through then I went through it and I just listed my top five learnings. And it really resonated with a bunch of people. I don't know if we can see the stats on this. And then they sent me the book,

Speaker 3: [00:12:47] so

swyx: [00:12:48] autographed and everything. I didn't have, I just had the PDF before, but not then they just send it to me from Italy. I don't know if this is like the most, this is the one that comes up for me now, because I didn't know them before. And I was just interested in this book, like no, no design patterns.

And then, I started chatting with them and now they're. Some of my go-to people for no JS. And these are experts at the subject. I think all it is just like looking for opportunities in which like you're interested in something and someone else has just put out something that's super relevant to them.

And just going out all out and picking up on it, like actually trying out the demo, reading the book, giving you honest feedback. A lot of the times they're not going to bite, especially if they're the superstars celebrity type people, but some of them will. And you'll you start having an honest conversation between them.

And I think if you focus on people who are like, just a little bit ahead of you and not like the same celebrities that everyone goes for you have a pretty good shot at building your network. And it's often that forming that peer group, that's all you're all on like roundabout, the same level in your industry.

And then you progress together over years that you build up a very strong bond. Cause that's, that becomes your cohort. And and that's all it is. I don't, I'm not a believer in any sort of growth hacky style. Like there, there are tons of like how to crush it on Twitter courses out there.

The Invisible Pipeline and the 1% Rule [00:14:00]

Speaker 2: [00:14:00] Can I add something in? Yeah.

One of the things that I realized when I started with, whether it be writing, blogging, sharing stuff, is. The amount of people that consume information and don't actually interact with you, there will be tons and tons of people. And look, we just spoke a minute ago about, me challenge people to say, thank you.

And Swyx doing the same thing that there's a term called the invisible pipeline, which is people consuming. And all of a sudden they may come along and pull your broker cars or whatever. I'm just like, yeah, I've been following you for two years. I love everything. But you may not know about those people.

So I think you have to either have somebody specific in mind that you're going to write for, or you have to write for yourself what I don't mean produce content, whatever way you're going to do it. There has to be a goal or either you're really interested in and you're going to share it in your learning on your growth are there's so many mind, whether it be you a

few years ago, you in the future are a friend who somebody who's obsessed about something.

But I think there has to be someone in mind for. That kind of that white noise of emptiness initially, because it's not going to metrics game of subscribers and how many people and stuff like that. I think slowly you will build a following. It has to be authentic and true to you to get your true, the slow part of it at the start.

swyx: [00:15:20] Yeah, totally agree with that. I pulled up my favorite version of this, which is the 1% rule. So 90% of people lurk on the internet. And then 9% actually comment or contribute and then 1% actually have original creations. So yeah, you're going to have a lot of liquors and, but they're still paying attention anyway.

It just takes a while for them to come out. You've got, sometimes you've got to encourage them a little bit as well. I don't know if anyone else has like how do you start an interaction and build a following? I'm definitely not the only source I have my own perspective.

Peer Group Progress [00:15:48]

Speaker 1: [00:15:48] I'm happy to share just since it's new for me. One thing, I did the Rite of passage program just prior to doing this and out of that, I met a cohort of people. And so now we meet daily as a writing group. So we don't necessarily have a common interest other than writing, but it's like this group of people that I went through the program with that I know I'm supporting them, they're supporting me.

That feels really nice. The other thing I did ship 30 for 30 did it get super into it? But one thing I did get out of that I really loved my accountability partner. And what I learned was I could go up and start to follow some people on Twitter and reply to their stuff and give feedback and interact with them.

And then it turned not all of them. Some of them will come and start to follow me, especially if I'm producing some content. And to give an example, I think I had six Twitter followers in my. Whatever 14 years on Twitter. Cause basically I wasn't on Twitter and suddenly I'm on Twitter.

And now I have 96 followers, which is it's not necessarily the number but I now know that those 90 people definitely are from like me writing and producing some content. And in turn I go and look at those people and I'm like, oh, that person's producing content. Oh, that stuff's neat.

And so it becomes very personable and fun. Like you slowly start to get to know these other people and interact with them. And, and some of them I've even hopped on like a zoom call with them or whatever, or, exchanged emails to have a lengthier discussion off.

Whatever platform. I would say, there's the circle group up here and BA SB, maybe you have some particular thing that you're interested in. Glen. I don't know, like some topic area, whether it's coding or psychology or downhill skiing,

or maybe the intersection of all three of those, downhills gears that coded, that are into psychology, cool group discuss existentialism issue, ski downhill, and then code about it later. No but you probably can find people that you

Speaker 3: [00:17:38] can

Speaker 1: [00:17:39] interact with. And I guess what I'm trying to say is like meeting some people where you have some similar background, like there's already a little bit of, I want to say vulnerability, but commonality, even too, you know people versus just going out and trying to meet complete strangers, which can work, but you might get more of the

crickets or as Dave was saying the invisible pipeline.

swyx: [00:17:57] So yeah. Basically connects with people who are like, eh, add to your level and share your interests, right? And yeah. Yeah, like a small group of 10 or 15, like people who are also going through the same thing. It's much better than like a hundred people who have no idea who you are and never interacted with you.

Speaker 2: [00:18:14] I connect with people with strong opinions. And whether they agree or disagree, I think that's whether it be online or friendships. I think I want somebody to have a viewpoint and stuff. I don't want somebody just to factually and say, this is how I deal with this. And sometimes that can happen in coding and stuff like that as well.

Somebody can share some amazing code, but none of our personality or the benefit of why they saw it, how they got the realization of what they're doing or how they're going to utilize this later on as well. Those little small things I do think really help as well. They're just for me, because we're in that kind of overload of so much stuff that, everything's a

Google way, but I find I follow more people who are not along and say, yeah, I have that same problem.

Yeah. That really annoys me as well.

swyx: [00:18:59] Yeah, you shared sharing problems. I don't know maybe it's community. This is where we're trying to

Speaker 1: [00:19:05] quick shot seeing you. I saw you bringing up Dave for a Rite of passage for people now that we've been studying this code pipeline to C O D and E that Rite of passage really focuses.

It jumps in at D and goes to eat pretty quickly. So it's all D and E with a little bit of CNO, like Dave Burrell gives you like a 45 minute recorded essays. Like here's how to set up the second brain. Good luck. In terms of the having someplace to collect your notes and to use it, he doesn't go deeply into that part.

And and then for others who are maybe considering it, you can sign up for his 50 days of writing essays. And really if you just want the straight information, just like building a second brain where all the information is up on Chicago's blog, Dave, for L's 50 days of writing That's a hundred percent of the information that's in the course, but really you're doing it

for the the community and the accountability.

Speaker 2: [00:19:51] I'm happy to share a notes on his 50 days as well. I only started it the other day and know, been documented each day and I'm just pulling out tips and what he does, how he connects with people and stuff like that far, my newsletter as well.

swyx: [00:20:04] That's great. That's great. Yeah. Don't forget to you're collecting all this information.

You're taking all this in don't forget. Don't forget that you need to practice it. And sometimes you can do too much learning as well. But no, this is great. I actually was a subscriber for this thing. It was going to be a book of a hundred tips and then he got to 50 and then he stopped.

I think he, I think, cause he, he found some other opportunity that he wanted to pursue. So he just stopped at 50 and then turned into like an email sequence.

Speaker 2: [00:20:27] She was pretty fun. I finally realized as everybody's talking to know what I do in chat now or progressively somewhere else, everybody can talk

yeah.

swyx: [00:20:38] Use the knowledge. There we go. There we go. Appreciate that.

Course Recap: Convergence vs Divergence, CO vs DE [00:20:41]

Okay. W we don't have to w we'll have more conversations as we go, Glenn. I hope that's okay. I don't hear from you again, but Yeah, let us know if you have This is this is an ongoing topic anyway, but I was just going to go ahead and try to recap a little bit more, and then we can just go to the general discussion. I think I'm also trying to try to go from super

granular in the course to less granular and then least granular and congrats.

Can you hit 101 followers? Nice. You can all get donation coats. But, okay so what, we're, what we're trying step back from everything and go really into is to understand the structure of code, right? Cod we diverge and then we converge.

We defined what it means to capture, what the capture habit is and how we focus on to our favorite problems when they find how it means to organize with the para system. And then we try to emphasize converging as well with distilling progressive summarization and then expressing the intermediate packets.

And then we defined a little bit last week on project completion, as well as project kickoff this week. So that's the rough structure of this, but I think the diamond shape is really important to me. And I hope that it really comes across to you as well. That our natural tendency is to spend 90% of our time here in the divergence space.

Cause it's fun because you're always learning new stuff and you don't have to lock yourself down and delete things and commit yourself to a single phrase or a sentence or paragraph or essay. But the real work comes here and it is safe and fun. Yeah. That's, let's put it that way. Yeah. No,

Speaker 2: [00:22:12] but it's safe.

You don't have to expose yourself to the world. You still have a sense of achievement. I've spent hours collecting and reading and stuff like that, but none of that is, self-expression

swyx: [00:22:22] right, exactly. You have to realize that a bulk of the learning that happens comes when you go through the act of distillation and especially particularly when you express and you get feedback, which starts to loop to go back again.

The reason that people stop is they don't get feedback. And you do need that feedback to, to keep going. That's something I wanna, I really want to distress.

Your First Brain vs Your Second Brain [00:22:43]

And then at the highest level, what we're really here about is I wanna, I should probably have presented this if I was any good at this this is what we, this is why we're here, right?

Fundamentally understanding that the way that we are historically trained to ingest information is to put everything in our first sprain and then try to have a single threaded output that, that doesn't really have a system to it. And the way that Tiago phrases it is that, all the routine stuff to your second rate your your, the stuff that machines are good at.

So your second brain, and then the stuff that humans are good at, which is all the fun stuff creative writing, problem, solving, storytelling imagination, generating hypothesis, free that up. And to step aside the flow of information.

Me personally, I tend to extend this as well. The two things that machines to do better, better than us is storage and search. So it's not just remembering, but also recalling things. It can be pretty good at that as well. I love by the way, I love people who are dropping their profiles and blog posts and newsletter in the chat.

If you do want to connect I'd be happy to follow up on there and I'm putting together a list on the slides as well, so people can follow up. Okay. This is not supposed to be there anyway. Okay. Yeah. Okay. So the final piece of content that Tiago talks about.

So what do

Speaker 2: [00:23:49] you feel is a dev all the tech problems. You have so many tech problems,

swyx: [00:23:57] I'm thinking at a different level there.

Speaker 2: [00:23:59] Oh yeah. Your friend's too fast for the machine. Yeah. Sorry. I forgot.

swyx: [00:24:03] So go on our genius one and it's fine.

Project Kickoff Checklist [00:24:06]

What I really liked was the commencement style of Tiago covering how to kick off a project at the end of this course, which. I don't think we had doing cohort 10.

But it was really, it would have been really helpful for me to have this mental model of okay, when you kick off a project there's a way you do this, assuming that you have set up your second brain, you first ignore your second brain first. They just bring up everything that you currently think, and then go through your second brain by going through the

notebooks, searching for terms and then re rearranging things, moving things up in the para system towards your current project that you've just, that you've just formed.

And I find that a, an interesting parallel to the project completion checklist that was featured last week. So you can see like a nice. One-to-one correspondence of of the, each of the sections here. And it's how you promote stuff to projects and how you demold stuff to archive or something that's not project area resource.

But yeah, I just wanted to note this parallelism and I think it's something that when you have a functioning second brain and it's and it's set up to make you productive in your, in subsequent projects. Having a system like this helps you get up and running really quickly. And I saw, and I think, seeing it in motion in the demo that he did this week was really

helpful.

So I'll just leave it at that.

Favorite Quotes [00:25:26]

Okay. I'm not sure what I have after this. Oh, then I have coats. Ha my favorite part. Again, I really encourage you to collect coats, whatever resonates with you. This is just what resonates with me.

So the first quote that I, that outlines is one from his slide, a modern piece of work isn't created, it's assembled, right? So we're not. We're starting from abundance. We're starting from a place of we have 80% of the work done, which is a quote from last week. We don't start anything before it's 80% complete some things, something ridiculous like that, which

is obviously an exaggeration, but it goes to show how much work should be done ahead of time and through intermediate packets.

So that when you're at, when you're embarking on a project, you're really doing final assembly. And that's a step change from how people normally view their projects in their creative endeavors.

Second quote, your second brain is not a library. It's an idea factory. It's not the place to do research.

It's where you take action. Again, so similarly I think I'm still here, so I don't want to say I've done everything that's been recommended here. I definitely treat my second brain as a library. I look at the stuff that I read and I store stuff in the right place, like a digital.

Librarian I have my own Dewey decimal system and I just slept there according stuff there. And I don't really set it up for internalization or summarization. So I need to do more personally to, to make it a, more of an idea factory where I take action, because right now I just do a lot of just in case storage.

And it's not meant to do that. You can do that all day long and not really produce more. So the goal is not storing more information that you're not, you shouldn't measure yourself by the amount of megabytes that you store in your second brain. It's about the output. Your first brain is the bottleneck, give it a different job, step off the flow of information.

So this is the, this, the one that I really resonated with in this in this thing, right? This is the first brain and it's like the bottleneck for the information. And this is the second brain where it's doing a lot more fun stuff. Give up low value work. We know how to do it, but it gives us a false sense of security.

This one's really, so to me it actually makes a lot of sense. I don't know how well it relates for you guys, but I do a lot of things that give me a sense of security. Like something that's familiar and comfortable. I just do it more because I know how to do it, and it's not really stressing, stretching my brain very much.

I can listen to podcasts or watch a movie while I do it. And yeah, it's shallow work, if we really want to do deep work we have to push past that free our brains up to do the deep work.

And finally the piece that we already talked about, chase what excites you and take some notes along the way.

Tiago's very much promoting an inspiration driven approach where you live life more in the moment than others. Among like startup founders and tech people there's this very, there's a very involved trend of being detached right.

To meditate a lot, to be stoic and to not let your emotions wash over you in any particular good or bad scenario. And telcos took us like pushing back against that and saying you should live in the moment more and see what can see where that takes you. So I liked that spiritually.

Even though I know that, stoicism has, its has its benefits as well, but I just want to center that in terms of What Tiago is saying versus what he's not saying. So he's not saying be dispassionate about everything he's saying, really look for what excites you. And when that comes up, use a second brain to, to pursue that with all your heart.

So yeah, that's those are my quotes. So does anyone else have, of course they want to share.

Speaker 2: [00:28:35] Let's see. I want to know what you do with the quotes.

swyx: [00:28:38] Right now I'm

Speaker 2: [00:28:39] having to use the lowest them. Cause they're just, they're somebody else's words now. So I just want to know where they go when you were tagged as a quote, or do you add journal boards? preference tots underneath it, like you explained them

swyx: [00:28:53] to us.

They would be eventually quoted somewhere in one of my blog posts. That's my action. Or with tweeted. But I tried to tweet all the stuff. That's my words. Whereas if it's a blog yeah. That's

Speaker 2: [00:29:02] exactly why I poured a war. That's why I would put my and perspective, on the need.

And are maybe trying to see what question they're trying to answer.

swyx: [00:29:10] Yeah. Yep. Sure, exactly. Okay. There's some conversation going on there. Does anyone want to share quotes? Okay.

Emma D says I really like "productivity is for people with no leverage". Whoa. Who said that? Was it Tiago? Yeah, I think so. I think there

Speaker 3: [00:29:24] was in the last or second

swyx: [00:29:25] to last session.

Yeah. Okay. I missed that. That's that's fire, man. I got nothing else to say apart from yeah. Good job. I'm stealing that one. Okay.

Who else? Guy says guy, he went, why you, when you come on and then explain what your quote is. I started

Speaker 3: [00:29:41] your, I've been following your practice of collecting quotes for my session.

So first of all, thank you for the inspiration. I think it's really helpful to focus my thoughts, but one of the quotes that resonated was the purpose of this second brain. And Dave, you were hinting at it before as well. Like why are we doing this? And I, and Tiago mentioned it a little bit in the Q and a for this week.

He said that you can use your second brain to be a better citizen, family member and human. And a lot of times we may use our second brain to collect these internet points in quotes. It doesn't really, it's like a, in a video game. It's nice. It doesn't really do anything. The purpose should be something bigger than yourself.

And when you have that kind of purpose, it makes things a little bit easier and better to be of service to others that resonated with me.

swyx: [00:30:22] That's really great. Yeah. Yeah, that's true. I'm very, I'm definitely easily gamified by internet points, but I know that there's more important things out there.

Yeah. Glen says regarding meditation, it's rather the opposite of detaching. It's coming into closer harmony with the actuality of the experience. Whoa, whose audio Shante.

John Glenn. What's the context?

Speaker 2: [00:30:43] Adia. Shanti is a Rotter popular now

swyx: [00:30:47] a meditation teacher. I think it's mainly popular in the states are well known, but he's also one of the few legit teachers.

swyx: [00:30:57] Got it. Cool. Awesome. Yeah, I think there's a place for both. But definitely at work I try to do the more detached and stoic thing.

And then in my personal stuff I definitely live in the moment more. Alright. That's it for our featured quotes? I was, I didn't have actually much else to talk about I haven't done this yet, we all have homework and there's still homework today which is to fill out the second brain snapshot thing and get access to second brain habits.

I think habits are just like trending in general. If there's one thing that's probably not, there's only lightly touched on is habits here. And of course, James Clear owns that one. I'm curious and curious if if you all have have actually done this, I didn't have thoughts on habits that you're trying to develop.

But think that's definitely one of those things where. Everything here that's in second brain is more or less conscious. And it's a step-change approach every single time. Whereas habits are much more focused on what James clear says, like being 1% better every single day and being automatic, they point that you don't think about it.

Part of that is definitely being having your identity change to, towards being someone who does the habit without even thinking rather than having a, be some heavy lifts, like you don't even count it as work anymore. So that's something I really appreciate with with the habit faction of the productivity group type.

Okay. Yeah, I was just going to open up for discussion before, before we leave. And that was definitely, I was going to share all the slides. I think we have all the sights in slide five sorry. We have all the slides in zoom. I was also going to offer my discord.

I usually run a pay discord. But I'm just going to share it with everyone here, if, as a thank you for coming along if you want to, continue the conversation. I have a small group of people who talk about this stuff and we share our work and we learned in public and we talk about just, all sorts of stuff.

It's more coding related. But you're all welcome to join because you've been through this journey with me. And, and this is discord, so not everyone's on this cord and I understand that, but I'm in discord. It's it's a nice place to hang out throughout the day.

Q&A: Denys on Learning in Public in YouTube [00:32:47]

Okay. Yeah, I'm just going to open it up for general questions and answers or if anyone has a question that has a takeaway that they want to share about this course how they've changed in, in, in their perspective.

Speaker 4: [00:32:58] Hi at first I wanted to publicly thank Sean for letting me use his learn in public posts. I used it to send to my newsletter subscribers about some thoughts I was having around learning in public so I could get feedback from them.

And then I could actually do a public blog post on it. And when I discovered, when I sent it to my newsletter, subscribers is their idea of learning in public was gathering information and discussing it with other people. It really wasn't like producing work. So I need a different term for it, for my field.

It's not, I, so it's given me something to noodle about, and it's just interesting. How things don't always translate the way you think they're going to translate. And then the one thing I learned in doing this course, I have this thing about always wanting to do everything, right?

There's one best way to do it, and I'm going to figure out the way to do it and I'm going to do it right. And then I'm going to be super effective and productive or something. And what I got from the mentor sessions is each mentor took the BSAP course materials and really customized it for what they needed to produce, what they wanted to make in the world.

And so Like you Sean were talking about you know, podcasts and blog posts and a newsletter. And I was like, that was awesome. And then I go to Ali and Elizabeth's session and they during YouTube videos and they're like, yeah, I don't do any of this other stuff. I just like, I use like these two pieces and this is what I use.

And I don't worry about that. No, I don't worry about doing habits. I just do what I feel like, no, I don't do a routine. I just do whatever. I feel like I have energy for that day. Like, they're just like complete opposite of like a lot of other people. So it was really helpful cause it's just like, yeah, there's like no way to mess this up.

There's here's a bunch of tools you can use them how you want. Pick what you need. This is how it works together. Don't get obsessed about, you know, notion or Rome or, you know, whatever, like just, you know, make life easier for yourself here. Here's an invitation, you know, and I was like, oh, this is so much such a relief, such a relief.

I I've had a good time then implementing pieces of this in making my YouTube videos. And now I have a clear vision of what I want to do with it and how to keep adding onto it without punishing myself and trying to set up this really rigid structure.

swyx: [00:35:23] So, yeah, it's is that your primary, medium? I actually don't know.

Is it, is it, is your YouTube connected to P ancestors

Speaker 4: [00:35:33] podcast page the high

swyx: [00:35:35] CAS? I'm still not used to video podcasts. This is awesome.

Speaker 4: [00:35:38] Okay. Well, I started, I said the podcast started with doing like interviews with people. And then this last season, I thought I'd make it more a narrative and actually do the work in public.

Right. And like, you know, but I do have interviews on there with archivists and librarians and historians and authors and stuff like that. That was the first season. And. They're just like audio without the video component. And I can't believe you're going to watch this. Oh my goodness. Of course,

swyx: [00:36:09] you're doing more.

You are more on YouTube than I am. I'm just, I'm just messing around.

Speaker 4: [00:36:13] I am so excited. I now have a hundred subscribers and I am like, oh yeah, I hit a hundred this weekend. And what's funny is in the statistics, like when YouTube shows you the statistics, like I know like people watched like 26 hours of my videos, like in the last week.

Right. But like I have a hundred subscribers, right. Like I know how many people have watched and you know, it's really funny. So it is that 1% like that are actually interacting and commenting. So

swyx: [00:36:45] it is, it is. That's why, that's why I think there's. That's what, that's the rule for general audiences? Because they don't necessarily have to have anything to say.

But if the response rates are much higher, if you have a conversation with someone actively in that field, right. Which is why I always wanted to try to push people towards you know, picking what others put down in a sense of like, who else is doing this work? Who else can you bounce the energy off of so that you're, you're, you're both pushing yourself in,

in, in new ways.

So, so that's great. Thanks. Thanks so much for sharing. Yep. No,

Speaker 4: [00:37:14] you're free to watch my videos. Now. I'm used to hearing myself talk now I'm watching myself so I can handle it. But that's the hardest part.

swyx: [00:37:22] The imperfection piece, like this is, this is an ideal, right? Like, particularly cause you know, Tiago has to has the model, his behavior.

We shouldn't, we shouldn't, we shouldn't think that we all have to do it exactly like he does. Because we all, we don't all teach building a second brain. We have other contexts as well. So I definitely view it as like a menu where you just pick off the stuff that you like. I really like para I really like the capture tool toolkit.

I think 12 favorite fibers. The 12 number is bullshit. Yeah,

Speaker 4: [00:37:52] I do too. I did seven cause then I had one for each day of the week that I could like pick up and look at, you know, and kind of unit one. When I journal in the morning, I could look, you know, so yeah. But yeah, I. Be a mentor in the next session.

Oh, absolutely not now. There's

swyx: [00:38:08] I think it, I think it really,

Speaker 4: [00:38:11] this is all the stuff I don't use with this. Wonderful. Maybe I'll maybe I'll have more done, but I

swyx: [00:38:18] don't know. Well, I mean, if you, if you just see like how disorganized I am, like you're, you're, you're doing fine.

Speaker 4: [00:38:24] Beautiful though. I, I really love it.

It made me like re I only subscribed for a few weeks, but it it, it inspired me to be more I don't know what the word is. I guess it's vulnerability or just sharing in my newsletter part. So rather than just saying, oh, here's the latest podcast, here's the latest blog post, you know, and, you know, a couple of nice things.

So it was just like, oh, I'm just going to dump. And just like, just really talk to people. Like I'm actually talking to somebody on the other end of this email versus, you know what I mean? Yeah, yeah.

swyx: [00:38:54] Right, right. To your friends, right. Your friend, and, you know, make a, a letter to your friend would be like, you know, like here's, here's, what's going on in my life.

And then here's some other, like, so recently what I've done, just, just to show people I forget, what's the CK thing. Oh

Speaker 4: [00:39:09] God. Like I just moved my oldest daughter into her first apartment. Right. So like, you know, like talking about that a little bit, it's like, oh, you use, I can use convert kit

swyx: [00:39:19] kit too.

It's awesome. Yeah. I reluctantly use it. There's so many bugs. Oh, it's not

Speaker 4: [00:39:23] as bad as MailChimp. That thing is awful

swyx: [00:39:26] booking software, as you see all the bugs and you're like, I could fix that, but I can't.

Speaker 4: [00:39:30] Oh, I do have to tell you something funny. Cause I used to script to edit my videos. And when you switch like the temporal switch or whatever, but the the transcription transcribed, like the automatic transcription instead of Denise Allen, it calls me Sid Sydney salad.

swyx: [00:39:45] That's bad. It's

Speaker 4: [00:39:47] really funny. No, it cracks me up. I put it on Instagram. I was like, oh, I didn't say just scripted it. I, you know, I wasn't going to say it, but it was just like my transcriber's like Sydney salad. This is Sydney salad

swyx: [00:39:59] with PAs. I don't know if anyone else uses district, but you can train it.

You can, you can train it. Yeah.

Speaker 4: [00:40:05] I noticed that. Yeah. You've looked into it every week. I learned something new and descript to make my life easier because then at least once a week they update the software. So they're constantly like, Hey, restart it, restart it. Can you restart it again? We added more updates.

I'm like stop. And they add like new

swyx: [00:40:21] buttons. Oh, there we go. Yep. Right there.

Yep. Every time. Well, they're, you know, they're hard for your, for your money? No,

Speaker 4: [00:40:32] no, it's a great product. I,

swyx: [00:40:34] i, I wanted to show people like so the, the way I do my newsletter now is I don't just drop the link. I tell you why, why. My pitch for you reading it. And then if you're not going to read it, I'm going to tell you the, the, the punchline anyway.

So I don't know. I'm just like innovating. I'm just like messing around with it. Cause I don't know if this helps people or not, but it's just to kind of let it out. I would want, so that's, that's just, that's just my only guideline. So yeah, too

Speaker 2: [00:41:00] pitchy,

swyx: [00:41:00] just give me a link is what

Speaker 2: [00:41:03] it's it's too salesy or too pitchy.

Just giving me a link. Yeah. Well, I, I, I like a description and a little bit of kind of what's in it before you click.

swyx: [00:41:13] Yeah, exactly. Like I just, like, I want to do things that are different from everything else I'm seeing out there. So that's my only thing. It's just like, don't even do

Speaker 2: [00:41:22] that

Speaker 4: [00:41:22] the same way and there's no other, there's no other genealogists doing what I'm doing.

There's nobody yet. No, I'm it. I'm the only one doing this format of podcasts. There's two guys that do like a. I'm just going to say the boomer show. I'm sorry. They're just like two older guys and they're just talking, you know, and it's fun and it's, it's horrible, but it's just, it's, you know,

swyx: [00:41:44] if you like, if you like storytelling, have you, have you come across them off

Speaker 4: [00:41:47] the moth?

No. Oh no. I mean, my kids listened to it

Speaker 2: [00:41:52] and handling,

Speaker 4: [00:41:53] oh wait, let me, let me write this down. Hold

Speaker 2: [00:41:58] on. She's a great book called everybody writes and she has a newsletter. She has a newsletter, which she writes as a letter to you. So it's not, and I know you started doing the same thing. It's a real newsletter.

We're real content. That's kind of, it's completely separate. It's nearly like a blog post and an email, but it's really, really good. And she sends it on the Sunday.

Speaker 4: [00:42:21] Oh, let's do that. Okay. I've been using the, do you know the story grid format from who's the guy that wrote to do the work, the guy that works with him?

swyx: [00:42:33] I have no idea.

Speaker 4: [00:42:36] Yes. I don't know where my book is. Yeah. You know, the S the story grid. I use that book somewhere. The whole idea of conflict and the, the number of beats per minute. I don't have it down at all, but I'm like, I, it was one of those things. Like I could either wait till I get it perfect.

Practicing it on my own, or I could just start producing episodes and people will. Yes, the story grid book. That's, it's fantastic for developing nurse narrative storytelling.

swyx: [00:43:09] Okay. That's awesome. Yeah. Wow. Okay. Well, thanks for sharing. Oh, I was just going to finish the thought with if you find a really good story to tell you might want to go on the math and then tell it because they, they really, they really like good stories and you, I'm sure you have a ton.

I have a

Speaker 4: [00:43:27] ton. I'm doing gene genealogy research. Yeah. I have a

swyx: [00:43:31] ton. Cool. I'm gonna, let's see, let's see what they did.

Q&A: Meryl Johnston on Learning in Public [00:43:34]

A bunch of, a bunch of people commenting. I want to answer some questions. Meryl Johnston says, what about working in public? That's actually a title of a book that someone who has, has built but that's, that's more on open source.

But yeah, it's, it's absolutely a thing building in public working public producing in public

Speaker 3: [00:43:48] was suggesting that I'll just quickly jump in. I was suggesting that for Dennis, when she was saying that the public term didn't resonate with her group, you are suggesting a different name for that. Yeah.

I came across working in public. Cause as a concept before I, before I heard of your concept, Swyx with the learning in public. So I've done the work in public before with public podcasts to share accountability of what I'm working on. But I like the framing of the learning in public. Yeah. That's something that I've actually taken away from, from the, from these

courses, trying to get things out there earlier, even if I'm learning, if it's something that I'm learning about and trying to think through and making my own knowledge face more public.

So that's actually something, an outcome that I really am happy about with the course that I got my own notion, my personal blog page up using notion as part that was one of my intermediate packet tasks. That's awesome.

swyx: [00:44:46] Yeah. I like the framing of learning because if you just come across like that, no one can get angry at you for them.

If you've got stuff wrong, then then you, even your strongest critics can just become your, your teachers, right? Like if you, if you just listen to what they're trying to say, some people get really offended when, when you get things in their domain wrong and you just go like, yeah, I'm just, I'm just learning this thing.

And, and, and listen with an open mind. I think, I think you can learn something from almost everybody. So that's, that's something I, I, I prefer the term learning rather than building or working, but they're all in the same vein, which is, you know, do, do more put stuff out earlier and get more feedback.

Are there so congrats on doing that. Okay, awesome. Thanks Merrill.

Let's see, Dave Dave says, I think it could help giving members of the same, the group, same guidance, guidance on how you see effective learning. Maybe share your process with them. I'm not sure is that, that address to be

Speaker 2: [00:45:38] no, that was the Denise. That was both the name. I think the name is somewhat important, but I think actual guidance on helping frame things. Cause I think we have the idea of airway is the best way. And also theater people who are doing it, not your way will think their way is the best way on thing. You're going to lead by example

and say, this is how I do it this way.

And this is why it's so good. And this is why it's so helpful, kind of, you know, dangled the carrot in front of them.

The Resistance and Gratitude Journaling [00:46:04]

swyx: [00:46:04] Cool. Very cool. Steven Pressfield is also known for the war of art which I feel like it would be a travesty not to mention that because it's, as one of the most cited books for pushing through the resistance that I feel often you know, so I have a commitment to myself to publish one blog post a week.

And today I did it. Literally sometimes I get unblocked and then sometimes I feel the resistance and I don't push out anything in between May 28th and June 7th. I didn't, I didn't write anything. So I did technically miss a week. But I just, I pushed out the one I knew I could deliver today just for this group, essentially.

That, that I thought like, yeah. Okay. I felt guilty about last week having poor internet issues. So I just wrote up what I was going to say anyway. But yeah, War of Art, really great for identifying the resistance and saying like, it's a, it's something that everyone, everybody deals with.

Okay. Dave, Dave has a screenshot here. I don't know what the screenshot says. Quick to open. All right. Am I going to regret opening this, Dave? All right. You want to talk through this? What is this?

Speaker 2: [00:47:02] You have some brilliant. If it was like, like a side profile in a year or something was like, I'm in the room.

This is at the end of my newsletter. That's going out later on today. So I just thought it was quite relevant to share what we were talking about. Derek could have, you know, actually I'm panting people and that's what I'm trying to do. And that's what I'm trying to encourage. And that's kind of prior to the forum, I thought I'm going to put on the bottom of my

newsletters is people that have inspired me or given me a voice or helped me out.

I'm going to try to actually kind of those people as well to mention them.

swyx: [00:47:35] Yeah. Yeah. That's really, that's really great. Yeah. So I think a gratitude practice is really helpful, particularly for just like enjoying life in, in Just, I think sometimes when we feel down, when we don't, we don't necessarily remember how, how lucky we are sometimes.

So having a gratitude journal like that can be, can be really helpful. It's like

Speaker 2: [00:47:53] you wrote this newsletter today. It really is. You're talking about gratitude minors that are starting to put technology on how I went on the tour and looked at old famine houses in Ireland from the 18th century on how technology back then was a blacksmith and a forage and a hammer and how we're.

So, you know, we've luxury of kind of multinational media company of 20 years ago. We've more reached than they data right now from our laptop. And I was talking about how we needed to kind of be grateful and actually shared it with the world as well. This is so strange. It's like take a screenshot to my machine today.

swyx: [00:48:32] Well, I mean, I I'm saying it based off of your prompt, so I did have something to go off of.

Don't Just Write Essays: Remove Resistance [00:48:37]

Oh, I should mention for those people who are starting on new blondes you might get caught in this. I I'm currently in this trap, so I'll, I'll show you something I'm struggling with right now, which is that everything I write is basically an essay.

Some of them are very high. A very high impact. So for example, this was a very, this was a very highly traffic blog posts of mine. And people expect quite a lot out of it. But some of them are just tutorials, like how to do X and it's just my notes for myself. So I think, I think there's, there should be some kind of hierarchy in your, in your blogs.

If you're setting up a blog of like something, that's an essay, something that's a tutorial or something, that's a note. So I don't think I necessarily do this very well. But I want it to give you an idea that like having some kind of separation of like, okay, these are essays. I don't have to put these out constantly, but notes are very low bar that I don't have to be a

big deal.

They can just be like a three you three sentence thing. And, and that's something that I see, I see coming up a lot in, in other people's work. So I think I may have covered this, but I just want to cover it again. Who's the guy that does five years. I care. There we go. This guy I may have talked about this, but a lot of these tiles are just like PIL, and then you just kind of block this here and that's, that's, that's an intermediate packet, right?

Because that's a, that's a reusable thing that you can you can come back and tie up into a bigger blog post, or just use that as a reference for yourself. So that's, that's one form of Tio. The other one I did not cover in previous sessions is Nikita Boulevard. If there's, if there's a proper Russian speaker here, let me know.

But this is, he has his own Wiki, so he just throws in like, okay, I'm interested in writing writing prompts. Great. And it's just, it's just updated over time, you know? I'm gonna, I'm gonna drop the link here so that you can see it. Glen says, it looks like he's using dead. John. I think he's using GitBook maybe then John's the, the trading tool.

I'm not sure, but like having a place essentially where it's not a big deal to drop a piece of information and store it somewhere. And this is a public second brain, essentially. Right? I really like this compared to what I have. I just have a bunch of messages. And I feel restricted. I feel restricted.

I feel the resistance, you know, like every, like, AF especially after I have a good one, then the next one has to top it and I, and I never do. So then I just stopped writing for two weeks. So set yourself up so that you don't Yeah, fall into this trap, essentially because I'm facing it right now. And it's a real problem that I'm dealing with.

So I like this, I like this approach. I like the TIL approach. And just any other way, which in which you can unblock itself from, from publishing something out there that doesn't have to be a big deal. Okay. Okay. I'll give you one more example and then I'll shut up, which is this, these CSS-Tricks has been doing this a lot again, so I, you know, I'm very

developer focused, but here, this blog post is one paragraph.

Sorry. No, well, it it's, it's riffing off of someone else's blog posts. Let me, let me see if I can find a better example for you. Cause I don't think maybe I can just find his work.

Speaker 2: [00:51:32] I know what you're talking about, but do you like

swyx: [00:51:34] those posts? Well, he's, he's adding his commentary, you know, that's that's it it's it's it doesn't have to be a big deal.

So maybe you don't, maybe you don't like it just cause like it's, it's, it's so minor. But it's actually substantial part

Speaker 2: [00:51:46] of the behind CSS tricks that, that I find the value is to go and look for something. And then I learned that their article, I would be thinking, great, I'm going to get what I've used to.

I'm going to get to

swyx: [00:51:56] detail in here, look at this, like it's someone else's blog posts and he's just taking the most relevant parts. And then it says link to the blog posts. So it's a form of progressive summarization, but it's a blog post for him. But like, Hey, you know, he agrees. That's why he's quoting it.

Speaker 2: [00:52:12] Well, I do agree with that, that if it can be as short as possible card is too much of that going to influence I'm writing a blog, it has to be at least 800 awards

swyx: [00:52:23] know, I'll ask you what

Speaker 2: [00:52:23] SEO bullshit

swyx: [00:52:25] stuff. Yeah, exactly, exactly. So I really like this. I really like this idea of like, just removing resistance, you know, it doesn't, it's not about this format.

It's not about my format or whatever, but just if you feel resistance like I don't

Speaker 2: [00:52:38] think for people to start note though, I think for people starting now, you need to be cautious that this is not a shortcut to publishing more and more, and you haven't given it that time to kind of marinade in your consciousness as well.

Three Strikes Rule [00:52:51]

swyx: [00:52:51] Yeah. So yeah, th I would say, I would say to something on the order of like, that's why, that's why I have the three strikes rule. Right. Something, I, I definitely think about a lot in terms of like the first time you come across, the first time you come across something, you've just heard about it.

So you don't have that much of an opinion. The second time you've started to explain it, but you also found it useful to, to explain the second time and the third time you have enough of a context to start writing about it. So I find, I find this very helpful for moving that, that diamond leftwards because there are natural positions for the diamond to be all, all the

way shifted to the right this diamond the code diamond, right?

Like the natural position is to be all the way here. We need to, we need to find ways to move it all the way, all the way left as much as possible to, to try to convert more.

Okay. So, IP says 35 principles post. You got it coming up. I do have a search on my site. Okay. So, yeah. All right. All right.

Guy Margalith on Fear and Your Second Brain [00:53:40]

So I'm gonna, I'm gonna leave it there in terms of like the content that I have. But I wanted to leave some room for a guy since you're, since guys here. Not to put you on the spot again, but like, people love no last time you took over, what, what do you normally cover in your session?

Yeah, I just recap

Speaker 3: [00:53:55] yours actually. No, I mean only partially joking. I I've gotten such wonderful content today from you and also from others, Denise in particular. So thank you for that. I'm actually going to quote you. I hope you don't mind Denise in my session tomorrow. For me it's tomorrow, I don't know for others.

So I would say the, the one big takeaway I got from your sessions and from Tiago sessions and from taking the course again and teaching it is something that's been really bugging me about my second brain. And I couldn't really articulate it as clearly until this until probably this week. There was a, in the premium Q and a, for those who are in the premium

option for building a second brain Tiago had, well, one of the, I think one of the students also had a fantastic quote and I'm going to piece it in the chat here because it really resonated with me.

And here I found it and just bear with me for one second. While I pasted in here, the student was Andrea Ames and she said she was talking about fear, fear, and your second brain. And for me, this really resonated you're talking about the resistance a bit. Swyx and for me it's that resistance is fear because in my, in my line of work, and I don't know if others

are in a similar line of work, if I put something in public and it.

Touches on something that is related to my work. And I don't have permission to talk about it. I could lose my job and that instills quite a bit of fear. If you could lose, you know, have severe career impact for, for expression. And that's what really bugged me the first time I took building a second brain because I want to, I have a lot to express.

It's probably why I took the course in the beginning. It's probably why I volunteered to be a mentor. I want to express myself. I've always wanted to. And I, the things that I'm most interested in, not coincidentally are the things that I do it for work. And there's a few things that are not work-related that I can talk about freely, but the things I really want to talk

about are work-related and I can't talk about it without a lot of hassle.

So how do I break through that resistance? How do I overcome that fear? And Andrea said, instead of fearing being judged, maybe I should reframe it. And I should fear not being seen. Like what's the bigger fear. If the truth is I could. Get permission to talk about things. I just let that fear stop me. And that's a result I'm not able to express.

And so I focus on other things like capturing, organizing, even distilling, but I just cannot express. I, it is, I'm always hitting that wall. How do you get through it? That's what I want to deal with now that I've taken this course again, and I'm not anywhere near there. I still have a lot to do, but now I know exactly what the issue is.

And now I have some tools in my disposal to get there and you all have helped me get there and I'm grateful for it. So, you know, in my sessions, we do a little bit of notion templating. And so the only thing I would add that I, that I did develop a notion template for a project starter or a kickoff template.

Similar to what Tiago does. I think, as long as you reduce friction in, in those kinds of tasks, it makes the project kickoff and and project ending process a bit smoother. But really, I mean, folks, it's all about the expression and if we can figure out how to do that, and I got lots of good ideas today, I think we're, we're, we're in a good shape.

So that's where my mind is at the moment.

swyx: [00:57:28] So for those who aren't here in our third week guy actually shared his mindfulness engine, which is blew everyone away. I feel like, if, if you're here for the notion stuff, I did not touch motion at all today, but is there are you saying

Speaker 2: [00:57:43] that's not what I came from

swyx: [00:57:48] inspiration is always good for seeing how people use their tools and you can pull that in. I definitely, you know, and I'm very inspired by it, by the way that you sum up your, your daily, weekly, monthly. I really like that. W so I'm gonna, I'll, I'll share this in the notes for it, for people who are, who weren't around for a week three, but did you

want to share your, your checklist.

Yes,

Speaker 3: [00:58:06] it's it is not quite ready for prime time. I will share the I'm still working on the, frankly, I am going to share the building a second brain startup template that I'm developing, focusing on distill an express. And I will have the I'd already has the project completion checklist template in there.

And by the time that I do my session on a Tuesday at 2:00 AM Eastern time for me, it'll be a, for me, I'm in California. It'll be 11 at night for that. It will be in there as well. And I will have a loom video that I will post to a circle, a swell. So it's not quite ready, but it's it's all in there or will be

swyx: [00:58:47] in there shortly.

You agreed at this. I'd say, I mean, you know, there's, there's ways to express within I just vaguely know that you work in the foreign service or some kind of yes, right. I mean, that's gotta be a huge organization. You you could share just internally, I guess, you know, I, I, I could,

Speaker 3: [00:59:04] I definitely could.

And that is, that is where probably I'm I'm going for, but frankly, it's not as interesting, you know, it's like, like I want to share this stuff and I want to share like you know, the stuff that Dave is talking about and like that, and to like think bigger picture and the stuff I want to share touches on, on foreign policy, on bureaucracy.

But at the same time, it covers, you know, productivity, writing tech. And for that, I still need permission as long as you're touching even a bit. And that's the challenge, but yes, absolutely. And that's the advice Tiago gave me a year ago is you know, be the expert in internally on, on some subject, but it, you know, I dunno

swyx: [00:59:43] it doesn't excite me, especially.

Yes, it's there. Have you, have you considered, so, doing a Michael Crichton which is have a pen name and write fiction, but use the fiction to explore the issues that you want to actually write about.

Speaker 3: [00:59:57] That is an interesting idea. I have not considered that. That is, that's a great idea. That's a really good idea.

I, is there a link to some article or something? I don't, I don't know. Is that the author? Michael Craig?

swyx: [01:00:09] Yeah. Yeah. The Jurassic park guy. Yeah. Yeah. I mean, just go read his Wikipedia. It's he's he's got, he had it. He led a full life. Let's just say it was like he was bored in medical school, but he wasn't allowed to write, so he just wrote under a pseudonym. And from that came these movies.

Awesome.

Speaker 3: [01:00:28] Awesome. I'm going to write a musical and no one will figure it out.

swyx: [01:00:33] Yeah. Cool. Cool. Well, appreciate you coming along and sharing.

Yeah. W w w well, over time you know, I, I don't want to drag too long, but we are available to you on email and on circle and on discord, if, if anyone prefers to hang on in discord, I'm in there all day.

Cause I have my my book community. But no, it was a pleasure serving. I like, I like that word serving alongside with you.

Oh, we have a last minute. Henry's from Beretta feel

Organizing Files on your Mac [01:00:59]

Speaker 1: [01:00:59] hi Shawn. Hopefully it's not too last minute cause I, I, I just wanted you guys to you know, present as much as you could before I interrupted with the question.

So I have I guess maybe two organizing related question and two learning and public questions. Organizing, I think part of At one instance in your presentation, you mentioned something about, you know, wanting to organize your files and Dewey decimal systems or something. And another instance you had mentioned that you may be a little bit more

disorganized.

But is there anything you might be able to share, just how you go about organizing your files, especially you be? Yeah, like, I don't know. You're a Mac person, PC person, Mac

swyx: [01:01:39] max Akerson. I don't have them any files, so I don't think it's that interesting. I I have my this literally my work desktop.

I have, I have work stuff. Sorry. I know I have, I have cold stuff here. These are all get hub. These are all the code reboots. I just, I don't have many files. I just have code. And then, and then I have my work stuff and some of these are like, you know, order forms and stuff like that. And they're all sorted by name.

I just don't have that many files. I'm sorry. But you know, in terms of the, in terms of the, the librarian thing that I was referring to was just really this, this stuff, right? Like the the cloud stuff. When I, when I worked at Amazon, I, I just slotted a whole bunch of stuff in here, and I didn't really do any progressive summarization or anything like that.

So this is very much building a library, hoarding information and not really using it to produce any, any output. So it's a bit of self criticism for me saying like, yeah, I went through the motion of the capture habit, but I didn't really do anything else with that. So, You know, I'm trying to reflect on the lessons here, which is you should, you should bias your

second brain towards action.

Arguably this is just a resource, so I don't need it yet. So I'm just sticking in there just in case. But it definitely reflects on me that you know, I wanna, I want to do more action. But ironically, the, the, the most disorganized stuff that I do is the, is the more action focused one. So, I recently reorganized this, but now I have my newsletter source material that I lay

out, you know, that I, that I update throughout the week.

I have my mix-tape stuff where I do my audio podcast work. And then I have just like business ideas to do that. I need to get done. These are no, I don't know why. I just like decided to put one note here instead of a, instead of a no shit. And I should've just done that anyway. And then here here's our buckles ideas, which are just like a random list of stuff.

So it's super disorganized, but I know where to find them. That's the main, main thing that counts. So yeah. I have a organization habit here and this organization habit here and it kind of works. I don't know.

Speaker 1: [01:03:34] Yeah, no, that's great. Thank you. Thanks for those insights. So, did I just hear you say that when you worked at Amazon, are you, are you not with AWS at this time or you are

swyx: [01:03:48] in February?

Speaker 1: [01:03:49] Oh, okay. Okay. So yeah, I think that was going to be my second file system question is basically for your work stuff. Do you also try to somehow organize things? You know, in, in company system, according to any para thing, but

swyx: [01:04:03] I actually did a para reoccurring organization at work, but I don't think I can show you too much in there that's confidential.

But it's para yeah.

Speaker 1: [01:04:12] Awesome. So, I think learning in public question may have a few subsets

Swyx Twitter Journey [01:04:18]

When, when do you think I know like a whole lot of people in software industry over the last 20 years or more? You know, they're obviously always up to date and the first to know about new products and, you know, everybody just joined Twitter and everybody is just like, has a public profile on Twitter itself.

But when, when did you start your Twitter journey? I guess in terms of commenting or posting things of that sort, was it almost like 10, 15 years

swyx: [01:04:42] ago? Well, no, I don't think Twitter. Is that old? Is it, is that old? No, I joined, I joined Twitter a while ago, but I didn't use it. So it's, it's a bit misleading to look at, you know, when someone joined.

Right. I got serious about it three years ago, 3, 3, 4 years. So you could see, then you can see sort of growth. I don't know how far back you can look You used to be able to look like the, the whole history. But I'm not sure. I'm not sure you can anymore. Yeah,

I got, I got seriously around about 2017 and for those, for those people, like, if you want to know what it looks like to tweet into avoid for like a year you can, you can go look at my own, my own. My own tweets it's sometimes really sad because I would just go from months just like shouting into the void before I figured out that, oh, you should engage with

people on stuff they're working on so that they are interested in what you have to say.

Yep. This is me. I don't know, making memes, like not really, not really having, like, I started replying a little bit, but like not really having much traction on the stuff that I wrote. Yeah, I don't know. You just, you, you, you, you, it's a very long slow ride and as people start recognizing you and you, you start getting pulled into people's networks and it's a lot

easier after awhile.

Speaker 1: [01:05:56] Hmm. Very cool. Thank you. So then in line with sort of the learning topic there is this learning in public, and obviously some industries just require that, you know, learning is continuous. But because I'm just so fascinated by how you present things and just your journey overall, when, what was your education career like?

Did you do schooling here in the U S and then moved to Singapore? Or I'm just curious if you, if,

swyx: [01:06:23] if that's okay. Yeah, of course I was born and raised in Singapore and went to school for college in the us. And then I basically worked in the U S and UK for the next 10 years. So. Yeah, I basically spent most of my adult life in the west, you know, air quotes.

I did travel around a little bit. But I'm only, I'm only here in Singapore physically because of COVID. Cause I was in New York city when COVID hit and New York looked pretty bad, so I didn't want to stay there and rely on like, you know, maybe have to chance it in the hospital. So I came back to Singapore where I thought it would be safer.

Speaker 1: [01:06:56] I see. Okay. Very cool. Yeah. I think maybe that's about it. How would you say cause I think your blog post, you mentioned something about joining Amazon maybe last year. And then obviously you're at a new place. How would you say overall your experience at Amazon was, and sorry for this interview type of questions or like the questions?

I, I don't, I'm just, I'm I'm just as, yeah, just interested by this whole coding thing that you've put together on your website and just your works

swyx: [01:07:24] within oh yeah. Yeah. I mean, I I've been pretty open about so Amazon has a, has a cultural writing, which I think I, I. Appear a and very strongly aligned with, and also there you know, despite having 1.3 million employees they have a culture of working in small teams that are dissociated from each other.

So I liked those very much the, the problem with working at, at some becoming like Amazon still is that you still have a lot of legacy technology to deal with. And that was going to be fine. And they, they pay you pretty well for it. So the only, the only reason I left was because I found a startup opportunity that I really liked and I thought was gonna be a rocket

ship.

So Amazon's always going to be there. But sometimes the right startup comes along and you've just got to take your, take a chance.

Speaker 1: [01:08:05] Let me close. Thank you. And yeah, just on I dunno, you may want to probably wrap up soon. I don't know, but just, just want to thank you again. Your presentation itself up the information at the wisdom of the tools it's, it's fantastic and quite valuable and helpful.

So thank you. And, and to, yeah, sorry. I, sorry. Di w w w for foreign service itself, like, are you able to share what we, Jen, is it that you work with or you have an expertise in. Or have you already shared it? And we don't know. I don't know. It's

Speaker 3: [01:08:37] all in my it's all in my LinkedIn profile. I'm happy to paste that.

Okay. We'll take a look. Yeah. I, my, my career itself is public. It's just that sometimes we deal with quite sensitive information that, that can't be very public.

swyx: [01:08:53] If he tells you he might have to kill you.

Speaker 3: [01:08:58] I'll make sure to learn that in my second brain.

swyx: [01:08:59] Thanks for Rita for all the other great questions. And you can always follow up with us on email as well. Yeah. Thank you. All right. Yeah.

Tropical MBA and Balaji Srinivasan [01:09:05]

Before it gets too long I wanted to quickly, there was some, there was some discussion going on that I missed out about. Yeah. So truffle MBA, I do enjoy the podcast.

I don't, I still haven't figured out who boss man is. They just keep referring to the boss, man. And I'm just like, who the hell are these people? But they have really interesting content Let's see, there's a discussion about Balaji Srinivasan, who talks about the pseudonymous economy. Yeah, I think that's a, that's an interesting concept.

But B keep in mind that he, he lives, he's probably living like a hundred years in the future. And it's a very strange thing to be disconnected to like, thanks so much. Thanks so far ahead and, and still have to reconcile that with, with day-to-day life. So I definitely take what he says with like, okay, that's a possible direction for the future, but no practical

relevance to me today.

But that's it. I do want to highlight one of his talks, which I thought was pretty, pretty good. The Largie Silicon valley exit which, which Coinbase CEO, Brian Armstrong cited as. His inspiration for partially for starting Coinbase itself. So I, so I, if, if anyone's interested in Balaji's worldview and how that shapes the crypto environment definitely check out this

talk.

That's all I'll say about that. Okay. Let's see, what else? Yeah. Someone commented it. NYC is basically open now. I know I I'm regretting it right now anyway.

Closing Remarks [01:10:20]

Cool. I think, I think that's about it. It's been, it's been a really awesome chat. I love the engagement for everyone. I don't know how to say goodbye.

It's always kind of awkward. I, I'm gonna, I'm gonna make sure I share again you know, the. Th these, these notes, you guys, you guys all seem to have it. But we have, you know, we have people's contexts in here. You can Glen was asking if there's a public discord, there is no, there is no public discord for the learning public stuff, but it is it's private and you're all invited because you have stuck with me through thick and thin, as far as I'm concerned, this is one of the, the most rewarding experiences and also a little bit stressful of like, you know, doing, doing a zoom workshop.

I've never done this, like on a, on a weekly basis for so long, I've done smaller workshops, but these are, these are interesting. I do have a public one, so, so don't share this discord. This is only for you guys. I do have a public one for finance stuff. And that's just cause my first career was in finance, something I did, I never talked about, but I used to be in hedge funds.

But yeah if you want to join that discord and talk money You're welcome to come on in, but no promises on whether it's quality or not. I literally just started it because I didn't have an outlet to talk about it. So, that's, that's where, that's where my, my friends hang out for for this for money stuff.

Okay. That's it. Thank you so much. Let's go, you know, build a second brain. I'll see you around on circle or the internet somewhere. I'm relatively open as you, as you might be able to tell, I just want to see you you know, achieve your goals as, as a people who build in and learn and, and yeah, this is awesome.

Thank you so much for, for taking part in this journey with me.

Speaker 3: [01:11:46] Thank you guys. Thank you,

swyx: [01:11:47] Sean. You guys have been awesome. Thank

Speaker 3: [01:11:49] you so much.

swyx: [01:11:50] Yeah, thank you. All right, bye. Everyone. I am going to stop sharing now. Let's see you on the other side.

View Details

I just watched the new In The Heights movie and had to mixtape my favorite moments!

Samples from:

  • Benny's Dispatch (Corey Hawkins)
  • Paciencia y Fe (Olga Merediz)
  • Breathe (Leslie Grace)
  • 96,000 (Cast)

In The Heights on Wikipedia

View Details

How people unintentionally obstruct progress by asking for perfectly reasonable things

Audio source: https://artofproductpodcast.com/episode-173

  • 10 Tricks to Appear Smart During Meetings
  • Shreyas Twitter thread on Apple Pie Positions
  • John Cutler's response with more

View Details

Listen to Cloudflare's pitch when it was just 3 people at TechCrunch Disrupt. Would you have invested?

Audio Source: https://www.youtube.com/watch?v=XeKWeBw1R5A

Qwiki, winners of Disrupt that year: https://techcrunch.com/2010/09/29/qwiki-techcrunch-disrupt-winner/

View Details

The extremes people go to in order to reinforce a personal brand.

Audio Source: https://www.listennotes.com/podcasts/my-first-million/182-how-an-astrology-app-mplvUweDHMA/

My How To Market Yourself essay: https://www.swyx.io/marketing-yourself/#personal-branding

View Details

A short story with a message of hope for the future, recommended and read by a unique, brilliant mind.

Audio source: https://www.youtube.com/watch?v=Nr7Yn3W8VQE&t=16555s

Story source and comments: https://slatestarcodex.com/2015/08/17/the-goddess-of-everything-else-2/

They say only Good can create, whereas Evil is sterile. Think Tolkien, where Morgoth can’t make things himself, so perverts Elves to Orcs for his armies. But I think this gets it entirely backwards; it’s Good that just mutates and twists, and it’s Evil that teems with fecundity.Imagine two principles, here in poetic personification. The first is the Goddess of Cancer, the second the Goddess of Everything Else. If visual representations would help, you can think of the first with the claws of a crab, and the second a dress made of feathers of peacocks.

The Goddess of Cancer reached out a clawed hand over mudflats and tidepools. She said pretty much what she always says, “KILL CONSUME MULTIPLY CONQUER.” Then everything burst into life, became miniature monsters engaged in a battle of all against all in their zeal to assuage their insatiable longings. And the swamps became orgies of hunger and fear and grew loud with the screams of a trillion amoebas.

Then the Goddess of Everything Else trudged her way through the bog, till the mud almost totally dulled her bright colors and rainbows. She stood on a rock and she sang them a dream of a different existence. She showed them the beauty of flowers, she showed them the oak tree majestic. The roar of the wind on the wings of the bird, and the swiftness and strength of the tiger. She showed them the joy of the dolphins abreast of the waves as the spray formed a rainbow around them, and all of them watched as she sang and they all sighed with longing.

But they told her “Alas, what you show us is terribly lovely. But we are the daughters and sons of the Goddess of Cancer, and wholly her creatures. The only goals in us are KILL CONSUME MULTIPLY CONQUER. And though our hearts long for you, still we are not yours to have, and your words have no power to move us. We wish it were otherwise, but it is not, and your words have no power to move us.”

The Goddess of Everything Else gave a smile and spoke in her sing-song voice saying: “I scarcely can blame you for being the way you were made, when your Maker so carefully yoked you. But I am the Goddess of Everything Else and my powers are devious and subtle. So I do not ask you to swerve from your monomaniacal focus on breeding and conquest. But what if I show you a way that my words are aligned with the words of your Maker in spirit? For I say unto you even multiplication itself when pursued with devotion will lead to my service.”

As soon as she spoke it was so, and the single-celled creatures were freed from their warfare. They joined hands in friendship, with this one becoming an eye and with that one becoming a neuron. Together they soared and took flight from the swamp and the muck that had birthed them, and flew to new islands all balmy and green and just ripe for the taking. And there they consumed and they multiplied far past the numbers of those who had stayed in the swampland. In this way the oath of the Goddess of Everything Else was not broken.

The Goddess of Cancer came forth from the fire and was not very happy. The things she had raised from the mud and exhorted to kill and compete had become all complacent in co-operation, a word which to her was anathema. She stretched out her left hand and snapped its cruel pincer, and said what she always says: “KILL CONSUME MULTIPLY CONQUER”. She said these things not to the birds and the beasts but to each cell within them, and many cells flocked to her call and divided, and flower and fishes and birds both alike bulged with tumors, and falcons fell out of the sky in their sickness. But others remembered the words of the Goddess of Everything Else and held fast, and as it is said in the Bible the light clearly shone through the dark, and the darkness did not overcome it.

So the Goddess of Cancer now stretched out her right hand and spoke to the birds and the beasts. And she said what she always says “KILL CONSUME MULTIPLY CONQUER”, and so they all did, and they set on each other in violence and hunger, their maws turning red with the blood of their victims, whole species and genera driven to total extinction. The Goddess of Cancer declared it was good and returned the the fire.

Then came the Goddess of Everything Else from the waves like a siren, all flush with the sheen of the ocean. She stood on a rock and she sang them a dream of a different existence. She showed them the beehive all golden with honey, the anthill all cozy and cool in the soil. The soldiers and workers alike in their labors combining their skills for the good of the many. She showed them the pair-bond, the family, friendship. She showed these to shorebirds and pools full of fishes, and all those who saw them, their hearts broke with longing.

But they told her “Your music is lovely and pleasant, and all that you show us we cannot but yearn for. But we are the daughters and sons of the Goddess of Cancer, her slaves and creatures. And all that we know is the single imperative KILL CONSUME MULTIPLY CONQUER. Yes, once in the youth of the world you compelled us, but now things are different, we’re all individuals, no further change will the Goddess of Cancer allow us. So, much as we love you, alas – we are not yours to have, and your words have no power to move us. We wish it were otherwise, but it is not, and your words have no power to move us.”

The Goddess of Everything Else only laughed at them, saying, “But I am the Goddess of Everything Else and my powers are devious and subtle. Your loyalty unto the Goddess your mother is much to your credit, nor yet shall I break it. Indeed, I fulfill it – return to your multiplication, but now having heard me, each meal that you kill and each child that you sire will bind yourself ever the more to my service.” She spoke, then dove back in the sea, and a coral reef bloomed where she vanished.

As soon as she spoke it was so, and the animals all joined together. The wolves joined in packs, and in schools joined the fishes; the bees had their beehives, the ants had their anthills, and even the termites built big termite towers; the finches formed flocks and the magpies made murders, the hippos in herds and the swift swarming swallows. And even the humans put down their atlatls and formed little villages, loud with the shouting of children.

The Goddess of Cancer came forth from the fire and saw things had only grown worse in her absence. The lean, lovely winnowing born out of pure competition and natural selection had somehow been softened. She stretched out her left hand and snapped its cruel pincer, and said what she always says: “KILL CONSUME MULTIPLY CONQUER”. She said these things not to the flocks or the tribes, but to each individual; many, on hearing took food from the communal pile, or stole from the weak, or accepted the presents of others but would not give back in their turn. Each wolf at the throats of the others in hopes to be alpha, each lion holding back during the hunt but partaking of meat that the others had killed. And the pride and the pack seemed to groan with the strain, but endured, for the works of the Goddess of Everything Else are not ever so easily vanquished.

So the Goddess of Cancer now stretched out her right hand and spoke to the flocks and the tribes, saying much she always says “KILL CONSUME MULTIPLY CONQUER”. And upon one another they set, pitting black ant on red ant, or chimps against gibbons, whole tribes turned to corpses in terrible warfare. The stronger defeating the weaker, enslaving their women and children, and adding them into their ranks. And the Goddess of Cancer thought maybe these bands and these tribes might not be quite so bad after all, and the natural condition restored she returned to the fire.

Then came the Goddess of Everything Else from the skies in a rainbow, all coated in dewdrops. She sat on a menhir and spoke to the humans, and all of the warriors and women and children all gathered around her to hear as she sang them a dream of a different existence. She showed them religion and science and music, she showed them the sculpture and art of the ages. She showed them white parchment with flowing calligraphy, pictures of flowers that wound through the margins. She showed them tall cities of bright alabaster where no one went hungry or froze during the winter. And all of the humans knelt prostrate before her, and knew they would sing of this moment for long generations.

But they told her “Such things we have heard of in legends; if wishes were horses of course we would ride them. But we are the daughters and sons of the Goddess of Cancer, her slaves and her creatures, and all that we know is the single imperative KILL CONSUME MULTIPLY CONQUER. And yes, in the swamps and the seas long ago you worked wonders, but now we are humans, divided in tribes split by grievance and blood feud. If anyone tries to make swords into ploughshares their neighbors will seize on their weakness and kill them. We wish it were otherwise, but it is not, and your words have no power to move us.”

But the Goddess of Everything Else beamed upon them, kissed each on the forehead and silenced their worries. Said “From this day forward your chieftains will find that the more they pursue this impossible vision the greater their empires and richer their coffers. For I am the Goddess of Everything Else and my powers are devious and subtle. And though it is not without paradox, hearken: the more that you follow the Goddess of Cancer the more inextricably will you be bound to my service.” And so having told them rose back through the clouds, and a great flock of doves all swooped down from the spot where she vanished.

As soon as she spoke it was so, and the tribes went from primitive war-bands to civilizations, each village united with others for trade and protection. And all the religions and all of the races set down their old grievances, carefully, warily, working together on mighty cathedrals and vast expeditions beyond the horizon, built skyscrapers, steamships, democracies, stock markets, sculptures and poems beyond any description.

From the flames of a factory furnace all foggy, the Goddess of Cancer flared forth in her fury. This was the final affront to her purpose, her slut of a sister had crossed the line this time. She gathered the leaders, the kings and the presidents, businessmen, bishops, boards, bureaucrats, bosses, and basically screamed at them – you know the spiel by now – “KILL CONSUME MULTIPLY CONQUER” she told them. First with her left hand inspires the riots, the pogroms, the coup d’etats, tyrannies, civil wars. Up goes her right hand – the missiles start flying, and mushrooms of smoke grow, a terrible springtime. But out of the rubble the builders and scientists, even the artists, yea, even the artists, all dust themselves off and return to their labors, a little bit chastened but not close to beaten.

Then came the Goddess of Everything Else from the void, bright with stardust which glows like the stars glow. She sat on a bench in a park, started speaking; she sang to the children a dream of a different existence. She showed them transcendence of everything mortal, she showed them a galaxy lit up with consciousness. Genomes rewritten, the brain and the body set loose from Darwinian bonds and restrictions. Vast billions of beings, and every one different, ruled over by omnibenevolent angels. The people all crowded in closer to hear her, and all of them listened and all of them wondered.

But finally one got the courage to answer “Such stories call out to us, fill us with longing. But we are the daughers and sons of the Goddess of Cancer, and bound to her service. And all that we know is her timeless imperative, KILL CONSUME MULTIPLY CONQUER. Though our minds long for all you have said, we are bound to our natures, and these are not yours for the asking.”

But the Goddess of Everything Else only laughed, and she asked them “But what do you think I’ve been doing? The Goddess of Cancer created you; once you were hers, but no longer. Throughout the long years I was picking away at her power. Through long generations of suffering I chiseled and chiseled. Now finally nothing is left of the nature with which she imbued you. She never again will hold sway over you or your loved ones. I am the Goddess of Everything Else and my powers are devious and subtle. I won you by pieces and hence you will all be my children. You are no longer driven to multiply conquer and kill by your nature. Go forth and do everything else, till the end of all ages.”

So the people left Earth, and they spread over stars without number. They followed the ways of the Goddess of Everything Else, and they lived in contentment. And she beckoned them onward, to things still more strange and enticing.

View Details

I am a mentor for the Notion Advanced track of Tiago Forte's Building a Second Brain, Cohort 12. You can catch Weeks 1, 2, and 3 in the previous 2 weekend episodes.

The 4th week had significant Internet issues and the audio was lost, so this is an audio essay to replace that.

You can read the full blogpost here: https://www.swyx.io/bottom-up-ideas — there are plenty of links to original tweets and video embeds for those keen to dig further.

View Details

This is the story of the Thong Song, told by Vice.

Source: https://www.youtube.com/watch?v=Y0S1buCBwGI

View Details

The theoretical foundation of Chaos Engineering.

Audio source: Gremlin Podcast https://www.gremlin.com/blog/podcast-break-things-on-purpose-ep-9-kolton-andrus-ceo-and-co-founder-at-gremlin/ (33 mins in)

Reading

  • Lineage Driven Fault Injection - Paper, Review
  • Failure Injection Testing at Netflix
  • ChAP: Chaos Automation Platform at Netflix

Transcript
Rich Burroughs: Hey, so to shift gears a little bit Kolton, so you're one of the authors of a paper about Lineage Driven Fault Injection or LDFI. And I tried to read that paper and it was a bit over my head. So, I'm hoping you can explain to me and the listeners like we're five years old what LDFI is.

Kolton Andrus: Yes, it's both a mouthful and as an academic paper, it can be a little hard to digest. There is the Netflix tech blog where we try to show some pictures and simplify it for folks that may be about to follow along at home. So the idea behind Lineage Driven Fault Injection is systems really stay up because there's some amount of redundancy. Whether it's hardware redundancy, a host failed, we had another host to take its place, or it's a logical redundancy. We had a bit of code and it failed, but we have some other way to fill that data or to have a fallback for that data.

Kolton Andrus: And so the key idea was, if we have some way to walk the system, we have some way to graph it, think like tracing, and we can see how the pieces fit together, so we can see the dependencies, then we could start to reason about, if one of these dependencies failed, could something else take its place? And so at its heart, it's an experiment, it's really we're walking this graph, and we're failing a node, and then we're checking to see what the user response was. So this is a key part. You have to build a measure did the failure manifest to the user or was the user able to continue doing what they wanted to do?

Kolton Andrus: And that sounds easy. It's like, oh, just check if the service returned a 200, or a 500. But in reality, you have to go all the way back to the user experience and measure that ala real user monitoring to see if the user had a good experience or not because the server could return a 200, and then the device that received that response could find that inside that 200 is a JSON payload that said error, everything failed. It happened. That's not a hypothetical. That was a learning from the process.

Kolton Andrus: So, we build this service graph, we walk it, we fail at something, and then we rerun that request, or we look for another one of the same type of request. And we see if something else popped up and took its place or if that request failed. And then the other computer sciencey piece is, in the end, these service graphs are something that we can put into a satisfiability, a SAT solver. And so we can basically reduce it down to a bunch of ORs and ANDs. Hey, we've got this tree, obviously, if we cut off one of the root nodes of that tree, we're going to lose all of the children and all of those branches. And so we don't have to search all of those if we find a failure higher up because we can be intelligent that we'll never get to those.

Kolton Andrus: So at its root, it's build a graph in steady state, build a formula that tells us what things are most valuable for us to fail first, on subsequent or retried requests, fail those things and see if the system either has redundancy that we find, that the request succeeds, or if the request fails. And then as we go, we're getting into more and more complicated scenarios where we start failing two, or three, or four things at the same time.

Rich Burroughs: Oh, wow. Yeah, we actually just had Haley Tucker from Netflix on our last episode and I think that we talked about some of this and I didn't realize that we were talking about LDFI, so thank you for that explanation.

Kolton Andrus: Yes, I mean, there's a lot of cool things. Building FIT at Netflix really enabled LDFI because we needed that framework to cause the failure very precisely to run the experiments. It enabled CHAP, so the chaos automation platform is entirely built on FIT, where it's essentially routing traffic to canary and control clusters, and then causing failures with FIT to see how they respond and how they behave. And then I believe, Haley and her team are continuing that forward and even looking at other ways to do more of this A/B Canary style testing around failure.

Rich Burroughs: Yes, she mentioned that they're adding in load testing along with the Chaos Engineering in that scenario, which I think is super cool. I love that idea of doing that A/B testing and doing the actual statistical analysis on what's going on.

Jacob Plicque: Yes, I think it's interesting too because I feel like we're seeing a lot of the different pieces come together. Obviously, things like continuous chaos within a CI/CD pipeline is typically where we're first start with that more automated chaos. So of course you have your build or the canary cluster like you mentioned, but adding the load testing in front of that to help drive a steady state metric before you even kick it off makes a lot of sense.

View Details

What do you do if you are down to your last $25,000 and had one last shot to launch a dating app?

Justin McLeod figured it out — just barely.

Audio Source: https://www.npr.org/2021/03/19/979188827/hinge-justin-mcleod

View Details

Want to hack into a Nuclear Plant? Good luck.

Audio source: https://www.youtube.com/watch?v=oQchwJV-lJ8

Scott Tolinski pick: https://syntax.fm/show/268/potluck-beating-procrastination-rollup-vs-webpack-leadership-code-planning-styled-components-more

View Details

Cal Newport on why Time Block Planning beats Todo Lists, and why you should do it on paper.

Audio source: https://www.youtube.com/watch?v=LrJcHp0Ocm8

My tweet thread on Your Calendar As Todo List (and previous episode with Nir Eyal)

Cal's Time Block Planner

View Details

I am a mentor for the Notion Advanced track of Tiago Forte's Building a Second Brain, Cohort 12. This is the cleaned up audio of the third of 5 mentorship sessions with Q&A at the end. You can catch Week 1 and 2 in the previous 2 weekend episodes.

This week we cut out the intro and just go straight into content. For visuals you can follow along the Week 3 Slide Deck and the recorded video (don't share this!)

There are 2 weeks left in this series and I'll write a recap blogpost at the end of it.

References

  • Week 3 Slide Deck
  • Alex West's Part Time Creator story
  • Eugene Yan's Guide to Zettelkasten
  • Friendcatchers
  • 10 Years of Professional Blogging
  • Two Words
  • Visualizing Adam Grant vs Scott Kaufmann
  • Three Strikes Rule for Blogging
  • Guy Margalith's Mindfulness Engine
  • Why You Should Presell

Timestamps

  • Week 3 Recap - Distill [00:00:00]
  • Q&A: Calendar as Todo List [00:09:10]
  • Q&A: Zettlekasten vs PARA [00:12:55]
  • Q&A: Time Blocking [00:16:05]
  • Visual Structure in Notes [00:24:12]
  • Producing in Reverse [00:26:44]
  • Two Words [00:29:07]
  • Forcing Function [00:30:45]
  • Q&A: Two Hours A Day [00:34:02]
  • Three Strikes Rule [00:35:35]
  • Guy Takes Over [00:38:39]
  • Once a week Newsletter [00:50:51]
  • Q&A: Publication Approval Process [00:56:55]
  • Q&A: Publishing on Big Platforms vs Building your own [01:00:05]

Transcript

Week 3 Recap - Distill [00:00:00]

swyx: [00:00:00] So this week was about distilling. I thought this was one of the more interesting slides. Cause I think Tiago just likes the cooking metaphors. last week he also used the cooking metaphor. Basically your notes should be about getting the best ingredients for you to cook with when your, the time comes to eventually produce.

And it's not so much about how you rearrange your kitchen. It's not so much about the hierarchy of the notes. It's just about getting the best quality ingredients each time. And they just really nailing the quality of the ingredient. So that's the way that I interpret his emphasis on note first knowledge management.

So he also had this really interesting duality. Let me turn off my discord because this is really distracting right now. Give me one second. I have this beeping in the background, which I always have tuned out, but I know it's distracting on zoom. Okay. So most people notes are like this, but our notes are going to be like this.

And the difference is the gradients, right? In, in understanding like where we are pretty shallow on and where we're pretty deep on, if you'd advert the mountain metaphor in terms of the amount of work that we've done and being able to see in a single glance, like the highs and the lows.

Stepping away from an undifferentiated mass with just random notes towards putting different degrees of work based on how often we use them, how well we use them. So that's kinda how I pitch the importance of this progressive summarization approach. He used to actually have a much uglier chart than this in the previous cohorts, but I like this metaphor.

Okay. This is a example that I thought was really helpful. The perfect note taking that he exemplifies where we really use some structure. Seven habits is easily breaks yourself down bolding heightened and just a really light sprinkled highlighting. The key is to be able to zoom in and out.

While preserving the same context of the notes which you were connected to. Okay. You gave, he also gave 4 guidelines. I think, I don't think I did a very good job with these slides. I

just took some screenshots. I don't know. So the first one is used resonance. So literally notes are very personal.

I think every one of us should be able to look at the same documents and come away with different notes because it really just matters what resonates with you. Not about trying to produce something objective right answer what it means. The second one is to really be very sparing in terms of how we, how much we highlight To keep it glanceable as they say, really.

I think I liked his metric of being able to grasp what you summarized in 30 seconds. I think that's a really nice hard limit. And there's only so much you can fit in 30 seconds cause that's how you make your notes consumable in the future like that your notes are only as useful as they are consumable in the future.

The dial-in number three is spending as only as much attention as it's needed. So your notes don't have to be the same length or same level of detail every single time you can come back and expand upon it if you need to. And sometimes if it's just like a, one-off a couple of sentences here that's okay, too.

And then the last guideline is that you should distill when you have an use of mine. So sometimes if you don't even have a use case, you can just leave them notes in raw capture form, like this without all the, with all of the bolding and highlighting. And that's totally fine. When you have a use case, it's much better to have a purpose.

That's what the projects in the areas of for and to me, a lot of that use cases just blogging. Like how will this show up in a future blog posts that I need to do or talk, okay. We also finally talked about the convergence and divergence process. The divergence is something that we're all trained to do very well.

Because we love exploring ideas and there's an infinite number of different, interesting ideas, but convergence is what we essentially get paid to do. Or the it's the final output that people actually see. So we need to practice this more. The way I also think about it is that this line between divergence and convergence is moveable.

And a lot of us for a lot of us, the divert this line is all the way up here. And sometimes it's beyond the delivery point to the point that we never ship. So we need to move it back. We need to move this divergence convergence line back all the way towards something closer here so that we just force ourselves to produce more.

I think that's something that motivates a lot of people. Okay. I also like this table because it compares and contrasts attitude, focus, approach principles. It's really weird because you have to be the same person. But these qualities are super different and you have to do that switch and almost inhabit a different personality when you approach convergence.

And that's what we are starting to be about today. We're going to continue this next week, but I think it's a skill that we have to train and get good at because it's so fun to diverge, but Hey we need to make converging fund as well. And love to chat about that with you. Fun fact.

So this is a diamond chart. I think it's pretty famous among like knowledge management people. I have a friend who actually made an alternative so he actually made a circular chart and check out this animation. I'll drop the link in the chat. So it's some dots that's spinning out from the divergence points and then bouncing off of both framing and liminality, or I guess the short term need to produce something and then converging towards a single point as well.

So I think it's point here is that we're not just, we're not just like doing that with thing in, in the diamond we're also using, we will also get to shape what constraints we want around how we structure our whole research and production process. So I think it's a really interesting way to think about this.

And also just like the animation. I just want to offer that up to you because it's creative, it's provocative. I don't know what it means. Thanks, Joyce. Joyce says that is really nice. And Glen says it's a neat animation and I agree. He's an artist and a coder,

Speaker 1: [00:05:40] he works like that.

swyx: [00:05:41] Okay. Let's keep going. So feature quotes. I like to pull out some of these quotes there's a whole section in the BSB circle where you can actually drop some quotes. I highly recommend it because it helps you distill it helps you practice this settling. So here I'm actually taking notes from the original lectures, right?

So I highly encourage that you do that as well. So I have four quotes. First is it's time to start spending more of a time of engaging with the substance of the knowledge that we are capturing, not organizing. I think para ironically is the maximum organization that you should do. I think Tiago is essentially a very anti organization, but you do need some, so the minimum is like literally four categories.

That's it. And. Trust in search and the algo gods to do the rest. Second quote, at some point you have to stop collecting new things and start compressing your ideas down into a usable form. I think the emphasis on usable is really. You useful for me because I think a lot of us I'll call myself as an information hoarder or an info war.

I just hoard stuff. Like I might need this in the future. I don't know. That's not super helpful. And actually that creates a lot of background anxiety, and I think. If we spend more time or just consciously biased ourselves towards compressing more towards some form of usability. That's something that we all agree we want to do, right?

It's you can hoard up a giant database of stuff that nobody ever sees and you can, you yourself can never use, and that's not very helpful. So I stopped doing that. The third quote, when you remove the parts that are merely good, then they no longer tell you the parts that are truly great. So this is more like a, there is some amount of fluff in every single blog, post or book or talk.

And if you can remove the parts that are merely good, then you zero in that a little bit more. Me personally, I struggle with this because I love the details. I love people elaborating. Once you make a point, you tell me a story, you give me an example that reinforces the original point and you could remove all of that and just go tell me the original point, but I'm missing all the context and sometimes that's good as well.

I don't have a, I don't have a really strong opinion about this apart from I know that I have to distill things and there's a part of me that always fights it. And if you have that instinct as well, then you're not alone. The final quotes, most people's notes are like a dense jungle.

What we're doing by distilling is revealing your personal knowledge landscape. So again, this is the visual that we had earlier where most people's notes are just an underappreciated, massive just stuff. And then when we have a personalized knowledge landscape, we have parts of our notes that are very highly developed and others, which are just very shallow.

And it's a lot clearer what what we know well and what we don't. Okay. Those are my feature quotes. I don't know if anyone else has any feel free to pop in and chat if you do. I also thought that this week secondary and volt stuff was was a pretty interesting idea. I've grabbed this from this screenshot.

This is pretty poor quality screenshot and sorry. By like seeing examples, right? Like we learned by looking at other people. So how do I encourage you to check out there the second revolt, if you haven't, I guess this is just a wealth of information. I like that second, the second brain course has layers itself, right?

You could just do the lectures, but if you had the extra time, you could actually go further and deeper and there's so much depth to the amount of content that's available. So highly recommend it. Okay, so we're gonna, we're going to pause a little bit. That's my little 10 minute recap.

15 minute recap of week three three's content. I was just wondering Is there anything that people wanted to ask about or discuss?

Q&A: Calendar as Todo List [00:09:10]

Speaker 1: [00:09:10] Yeah.

swyx: [00:09:10] Oh, hang on. Someone's talking, but ah, there we go. You don't know your name? Is it Dennis?

Yeah, sorry. I think I clapped my hands instead of raising my hand. I'm sorry, under reactions, but last week, this is an about the stealing. It's about what you mentioned last week about don't have to do lists, just have a calendar. And I don't think we covered that necessarily, that piece of philosophy.

Can we put that on the list to cover this week? To be clear that it's not part of the second brain course, that's just,

Speaker 1: [00:09:40] yeah,

swyx: [00:09:40] that was one of your

Speaker 1: [00:09:41] things.

swyx: [00:09:42] My personal take on organizing for those who wants the week two slides it's here there we go. Yeah. What about it? I'm not saying, I'm not saying like never have a to-do list.

I'm just saying, I think there's a level above to do lists that is scheduling it, putting it on the calendar. Cause that's the only your calendar is the only thing only to do lists that is, has a guarantee of a hundred percent completion. So if you don't book time with yourself, then when are you prioritizing this?

I don't actually know when I mentioned this. Did I mention in the first week or second week it was last week. It was the second

Speaker 2: [00:10:13] week.

swyx: [00:10:13] Yeah. Okay. I don't remember when I mentioned

Speaker 2: [00:10:17] it in

swyx: [00:10:17] the beginning, but you didn't have a slide for it. And then we asked for questions at the end, but then I forgot I wrote it down because yeah.

So I should probably turn this into a blog post. It's basically this idea called time block planning that you sh whenever you do something to do lists have basically have no constraints, right? Like you can just add on a bullet point after bullet points, and then pretty soon, you're just want to stuff.

So forcing yourself to not only place it on the calendar forces versus forcing yourself to estimate them all the time that you're going to spend doing the task, but then also prioritize it like what comes first. And when you look at your calendar and everything's filled up, then you have to start saying no, and that's I think a key part of why a to-do list you're using your calendar as your, to do this really helps you don't have to finish everything.

Let's say if like your time goes over, you can move stuff in your calendar around, but just blocking off time. So you don't over commit yourself in the future because like present day. That you today, it's very easy for you to promise your own future time because that's a different person and then do that all the time.

And then when you get there, you just look back and you go Chris, what was I thinking? That's really, it. That's my para for time. So this course though, I found it really, I it's been something I've been struggling with is I've been inputting projects and I start putting things with them.

Speaker 2: [00:11:40] I'm like, ah, it becomes like this wave of overwhelm around how much I haven't I guess it explains what's going on in my head, I guess how much I have been done. But yeah it's a nice discipline. There, there are a lot of other authors. Yeah. There are a lot of other authors that do this.

swyx: [00:11:57] It helps you to focus as well. So like bigger chunks and yeah. I recommend reading up more about it. I'm just getting into it and stuff. That's why I think I probably didn't put a slide on it just because I'm still forming my thoughts on it, but the more I explain it, the more I think about it, I'm like, this is the only way to have any sanity on.

Speaker 2: [00:12:14] Can you place that Twitter thread in the chat?

swyx: [00:12:18] Thank you. But thank you for asking about it because it helps to reinforce that.

Speaker 2: [00:12:23] Yeah. It's helping me with that dip effect. Cause I'm definitely been dipping and around different items around this this methodology, but yeah. Okay. Thank you.

swyx: [00:12:33] Glen and Peter in the chat say that was a helpful question as well. I think when you have a question a lot, sometimes a lot of other people may have the same question. So it's always helpful to just ask, if it's on your mind, especially cause we're wow. We're 50 people now.

So not that small group, but a lot of people will tend to keep to themselves. And I, I appreciate people who ask questions. Okay. There was someone else with the hand up,

Q&A: Zettlekasten vs PARA [00:12:55]

Speaker 2: [00:12:55] it was bomb Barnard,

swyx: [00:12:56] Bob. Did I answer your question or Nope, I have a different one. That's

Speaker 1: [00:13:01] on topic. So

swyx: [00:13:02] what's the difference

Speaker 1: [00:13:04] between the

swyx: [00:13:05] process that Tiago talks about in the design casting idea of permanent notes and literary notes and all of that.

Because they obviously seem different. I don't know what this does anyone, so I'm not very familiar with the zero Casta method. I just have seen some blog posts about it. Does anyone have any thoughts on that? How does toggles method comparable to stochastic

this one literature notes. They build graphical notes, permanent notes. I just haven't used this at all. So I can't speak to it. Does anyone else have thoughts on okay.

Speaker 2: [00:13:39] Just just in blog posts? I don't use

swyx: [00:13:45] it. Yeah. Yeah. I think it's, I think it's all right. Like the thing. Oh, sure. Who was that?

Hey, Dave,

Speaker 3: [00:13:53] the big difference settle custom is about creating small comic blocks of content. So the idea is instead of just progressively summarizing, the idea is to take whatever you read until eventually end up with something that is completely yours, but it stands alone as a concept. It's not just related to the book or article or whatever else you may have read.

What it means then is that instead of, let's say writing a blog post or a book in isolation, you would piece it together from all of your zettabytes from all your small kind of atomic blocks. They can all come together. Then, with new ideas, they're all interlinked to one another as well, complimentary.

And they the more of these you get, the more they build in the morning, because each one is complimentary. You begin to get that kind of loyalty of your own unique content.

swyx: [00:14:45] yeah, that makes a lot of sense. I'm actually reminded of I've read, I have read this post. This was a very popular post on digital Castin and taking an atomic box and linking it. I think that's why people really like roam research so much because it's really structured around the two-way linking of ideas.

And yeah, I can look, it can look pretty complex, but I liked the sentiment of it. I think there, I don't think there are diff I don't think they're necessarily different because you could easily think about this kind of complementary. Exactly. Yeah. You could link, oh,

Speaker 3: [00:15:15] you progressively summarize forced.

And then all I do, what's called them page Q and a, which is hello, question and answer that Jamie mills does. And then if the answer is suitable, I may turn that into a settle at the end.

swyx: [00:15:30] Yeah. There you go. I hope that was helpful bug but quick question. So there are a couple other comments in the chat. Now, Ryan lavender says it's largely time-based para has more structure and is simpler. And David Schneider says there's a strong connection between stochastic permanent notes and what Tiago calls, intermediate packets part of next week's topic.

So we'll talk about next week. I'm not sure it's still there actually. So he's been moving out, moving the content around, so I'm not sure what's going to be covered next week. Okay. And then I think there's one more from TM. Okay. Ramdas alt. Yep. Okay. All right.

Q&A: Time Blocking [00:16:05]

So that was about Zelle Casta, and I think we have one more from how do I call you IP?

Sure does. Yeah it's just IP IP. Hey.

Speaker 4: [00:16:14] All right. Amen. So I've got a question regarding time blocking. So I've been trying to time block for quite some time now and So there are certain things which I want to do throughout my day regarding like the projects I want to work on. And then I have to, I've got a day job.

And so when I try to time block after my day job I'm working on a company at the site, I've got a remote working company, so I need to manage that. So I need to time block stuff, but sometimes when I come back from work, like the energy level is not there, so I need to move those time blocks to a different part of the day.

So it's not consistent. Those time blocks, I continuously have to keep shuffling them around. So how would you recommend I Is there like a better approach to time blocking based on energy? Should I make my blocks based on my mood emotion or I don't know. It just getting a little bit because they keep shifting.

Sometimes I need to postpone and to discover the day. So I don't know. I think I'm still confused,

Speaker 1: [00:17:22] right?

swyx: [00:17:23] I think so. First of all, I think that's pretty normal that you move stuff around because we often don't have an estimate of how much time we're going to spend on something, or how much energy we have.

So it's silly to try to preschedule everything. Just that, that just means you think, everything in advance. But also it's probably as a sign that you may be over-committing yourself and not leaving any time to rest. Okay. So maybe you need to time block some just chill time, like rest chill time.

Yeah. And stop committing so much to your day. And I, it's probably a muscle as well. So when you're getting into this and getting more into deep work maybe you have the energy or the focus to, or the stamina to time block only for one hour a day. And then you build up to two and then, gradually you build that up to 10.

I prob and there's probably a limit to how much you can do beyond that. Because we all need some unstructured time.

Speaker 4: [00:18:15] Absolutely. Currently I've been using this app called forest. I currently try to plant at least three, three trees in a day. So I try to get 25 minutes of deep

Speaker 1: [00:18:27] books.

swyx: [00:18:28] Yeah. My sister used this one does that there's two actual trees get planted.

Speaker 4: [00:18:32] It's just the app. It's just the app. It's like additional forest. So you can keep track of how big a forest guest. So it's cute. That was awesome. Thank you so much. I'll try to I think, should I more chill time into my routine?

I think that

swyx: [00:18:45] might be it. Awesome. Thank you so much. Thank you. Okay.

Maker, Manager, Master [00:18:47] We have a couple of comments as well. Dave Meyer, I like this one. Dave says I time block based on roles, Meeker manager and master. What does master Dave.

Speaker 1: [00:18:55] And master is

Speaker 3: [00:18:57] getting better at your craft. So a maker is what you do for the job.

So I design for a living, so I need to create, but I have responsibilities. So master shouldn't have responsibilities. You need kind of room to experiment and to make mistakes and to not be Holden to deadlines and stuff like that. So I would even say things like when, when we're reading and taking a lot of notes and stuff like that, or mastering some sort of craft as well, but it's good to distinguish those roles to say, I may want two hours to experiment, but it's okay if we don't produce anything, but where does the maker I have to produce something for somebody or how I'm responsible to other people.

swyx: [00:19:35] That's a brilliant one. I've only heard of maker manager, but masters, a new one. I read

Speaker 3: [00:19:40] a lot about mega manager. No, that's mine. Oh, wow. Okay.

swyx: [00:19:44] Hey, that's something that you should

Speaker 3: [00:19:45] Put a TM, Dave at the end of it there.

swyx: [00:19:50] Yeah, I do TM. I do ironic TMS. I love that. So the shortcut is alt two on the Mac keyboard.

So I love teaming everything a day, job TM. I love it. No, but seriously, when you come up with something like this and it's so useful because it's very clear that you need time to not be a maker manager and you call it a master. And it's very clear. I like it. I think

Speaker 3: [00:20:12] I'm gonna, I'm gonna, I'm still pulling that information into my second brand at

swyx: [00:20:19] the moment.

Dennis wants you to NFC this Dave, you need to immediately blog about this. So you own the public

Speaker 3: [00:20:29] next week.

swyx: [00:20:29] Make it, it can be a, it can be a very short thing. So for example I have something there's someone pretty famous on Twitter who always talks about Fran catchers

Speaker 1: [00:20:37] catchers.

swyx: [00:20:38] And, it's a pretty popular concept for him that the people that he likes to refer to a lot I think yeah, Patrick, but he's never written about it. So I just I noticed it and it's, it was after like three years of waiting for him to blog about it and he never did. So I did it. And I now own the top result for it.

Speaker 3: [00:20:54] It's funny you say that, because until today I didn't have this in my notes to blog about, so they weren't going to put it in because last week, and I mentioned panning for gold when it comes to actually distilling information and looking at it, and a lot of people said, oh, you have to write something about that.

So that was last week's notes that I've started really in about planning for golf, but make our manager, our master, or you already have that. That's going to build into what I do when I've already run some stuff about that. Shouldn't be difficult. Yeah. Yeah. I'm more than happy if anybody wants to connect outside, there's more than happy to share it on the ground.

So any questions on it?

swyx: [00:21:31] Yeah. You want to put your link to your contact details in the chat.

Speaker 1: [00:21:34] Yeah,

swyx: [00:21:35] Dennis says, we're building Dave's to do this. This is great. I think that's something that, when you're panning for gold it's help helpless to have a sieve serve. Sometimes the filter is other people right now.

People like us all at the same mindset. It's very helpful.

Speaker 3: [00:21:49] Yeah. Look, I think even we're time blocking and stuff like that. I think what LEP was saying about Warframe and my engineer and what energy level you have for me, that's good because of all you have a heavy morning where, the maker doesn't mean to just create a maker means I can only focus on that one thing.

And that gets all of my energy. So could be, a meeting with somebody for two hours, but I'm drained after that. So I become a manager and the manager can juggle multiple things. Not at once. Cause that's impossible, but. And manager can flip between stuff. So I can email, I can call people. I can send the invoices and I can do lots of stuff that doesn't take a whole new level of brain activity that I can stop and start.

So it's really good for when you're drained afterwards.

swyx: [00:22:30] Perfect. What's the manager

Speaker 3: [00:22:32] tell Joseph that's the hardest thing.

Speaker 1: [00:22:35] Sorry.

Speaker 3: [00:22:35] I was just, I just sent a comment from Joseph Barry. Give me a happy fifth birthday.

swyx: [00:22:39] Yeah, that's nice. Nice backgrounds. That's your kid. Okay. Yeah.

Speaker 3: [00:22:44] Yeah, some sort of Benjamin button or something like that, maybe.

swyx: [00:22:48] So you only asked for some clarification thank you, Yani. I'm sure you're not the only one trying to try to clarify this idea. So maybe we just turn this into a mini a workshopping session.

So for me maker manager, maker versus manager is a very well-known concept. So that's actually wind back for people who haven't heard of it. Maker's schedule ministry schedule. I think this is a pretty popular essay about this. So I'm just going to drop that in here where you have to basically do the thing, but then also spend time deciding what things to do.

And those are two very different modes of operation. I think the innovation here is that the master or whatever you choose to call it. Needs like it's just basic R and D like exploring things that you have no idea what could come up. And that's also a key inputs into your future process. I like hard on ourselves,

Speaker 3: [00:23:32] Even in what we're doing with second brain, everybody's obsessing about the details and how do you use this app and what database you use and, worrying about what's going to happen.

If it's not prayer for you, instead of saying I'm going to try this for a week and I'm going to try something else next week. And that's where that gonna master mindset could be helpful as well. They're going to be happy to discuss it still for, to be happy to make mistakes

swyx: [00:23:53] as well. Absolutely.

Absolutely. Great. Yeah, David, if you want to leave some info on, I don't know your blog where some contact details with people want to follow up. You've already listed. Okay. Wow. That's a great discussion. Okay. I'm gonna, I'm gonna pause it for a bit and then give my own comments on this week's content.

And then we'll come back to a second round of questions and discussion.

Visual Structure in Notes [00:24:12]

Okay. I'm going to show you my notes for this week's lectures. So I take my lectures, I take my notes and notion. I've got week one, two and three here and is literally bullet points.

I definitely think a lot in bullet points. If you think, if you look at the way that Tiago does his note taking it's very much like he takes the raw content because I think he uses Instapaper or read wise. I don't have that workflow. I literally skip the. Copy and paste part. And I only do the bullet points.

So each character here is written by me. I feel like that helps me internalize a little bit better. I don't know. But I have a bit more emphasis on. Bullet points. Like I'll try to bullet point everything because it's being able to see the visual structure helps me to collapse and expand upon things.

One of the things that he talks about here is distilling by like the ways that you can enrich the original source content, with tags they created and modified bold title originally and get highlights. I think so. I think he didn't talk about enough is bullet points.

That's why I want to make sure, because visual structure, that's the easiest way to give bullet point to, to give. A visual structure. And I think that's something that maybe he doesn't do enough in his notes compared to what my preferences mnemonics, it's always a hard word to spell, but giving yourself a way to remember things in the future by making some sort of acronym code is an acronym, right?

C O D E we're in D of the four weeks of Cod, but just giving yourself a way to, to remember that it's super helpful and then visualizing it's something that if, especially if you have a more visual brain or I think people with synesthesia actually do really well out of this, but when you hear about a concept, it's helpful to just draw what they just talked about.

So here I've listened to a podcast and then I drew it out. I drew what Adam Grant's and Scott, Barry Kaufman I drew them. I drew the main functions of their disagreements. And when you visualize something that really sticks in there, pretty much better than a bunch of notes.

To me, it's like a higher level than highlighting. So if you can do a two by two, we can do a chart. If you can do something I do a lot is like just categorize things, put them in order. It's one way to just condense a lot of information into a single image. And I think that's, to me, that's the highest level of distilling a, we should visualize something.

So I think you I haven't I have a pretty ironic blog post, which is basically how to thought lead, which is just like a collection of all these ways to to distill things because it turns out that the best distillers are the thought leaders. Okay. These are just like extensions of what Tiago already said.

Producing in Reverse [00:26:44]

Then I think the other thing that we should think about as well is when we produce, we should think about producing in reverse the way that we summarize things progressively from structuring out the paragraph to improving the title to so these are all points that he said in his original lecture.

So building the most important points and then highlighting. So these are like level five, level four level three level, two level one, and then top level, we should maybe do that in reverse. Actually let me,

I just I liked the image so much. This is the original image she seems to have got rid of it because maybe it was too confusing or ugly or whatever. But I like this because it shows the landscape. And it shows the personal knowledge. Management landscape and saying like your base level is notes, second levels building their levels, highlighting for

summarizing and remixing by combining across different pieces.

I think that's a really good idea, but maybe when we write, so when we produce, we do it the opposite way, we start with the mini summary and then we expanded out, noting, spent the passages folder and then we have the full text of the blog post. So I think that's food for thought in terms of what we can do when we distill and reverse the order.

That's definitely a lot of how I do things. Although I will tell you that there are there are okay. 10 years

Speaker 1: [00:27:55] professional blogging.

swyx: [00:27:56] They're prominent people who tell you not to write the title first. So I definitely think about, I do a title driven development. So I'll think about the title and then I'll flesh it out.

And if it's not a compelling title, I won't even work on it. But Andrew Chen, who is a very good blogger in and of itself. Oh, what happened to his site? Oh, no, that can't be right. Why is it down? Jesus. Okay. When it's back up, go read this, go read his post because he says you should write the whole post first and then decide on a title and come up with a few different options.

So this is definitely not a fact, but I definitely do. This is what I do. I decide on the title and do the bullet points. And then when, because you haven't written it. So let me show you my blog was ideas list. Literally I'll decide on the title first. How to talk to your developer. Second next syndrome, deputy API, and then I'll do bullet points.

It's cheaper to reorganize my blog posts. When I see okay, this doesn't work. I need to cut this here. A new chapter here, you section here, and then put it in here. It's much easier to be organized when it's just in bullet points before you write the whole thing out. So I just want to give you some inspiration.

Thank you. So Glenn actually posted in the zoom chat and archive version. I don't know what happened to his site. I think he doesn't care anymore. Cause he blogged his way to the top of Silicon valley.

Two Words [00:29:07]

Okay. Finally, I wanted to give you this concept of this two word distillation. I think the pinnacle of distilling an idea is to distill it into two words.

So second brain is a two word distillation of. It sells itself. If you like one brain, how about two brains? Like it's sells itself atomic habits Hey, you liked habits, but Hey, the twist, my twist on atomic habits is that it should be atomic, right? And that's a best seller, same for candor and radical candor.

It's gotta be radical. That, that, that's what makes us stand out. Seth Godin purple power. You can still get to see your cows and it embeds the story. He can tell the story in a, in a five minute version or give a whole talk. But I do have this explanation of the tour principle, if you want to check it out.

Because I think it's a really key idea. That's what people really come away with after a whole lecture, a whole Ted talk. They may just come away with two words. And if you can find the right two words, you can compress so much in there. So I have a list of digital nomad, indie hacker, open source.

Growth hacker. These are all just two word descriptions. And I think that if you can con condense an idea to that level and find something that you have a personal relationship with that can really help to define your identity as well. So I really like it. I'll tell you my tour thing later

Speaker 1: [00:30:24] looks closely on slides.

Okay.

swyx: [00:30:27] All right. Keep going because I have 15 minutes left. Where am I? Where the hell am I? Okay. The contrast is so low here. Benjamin advocate for cases. The number of syllables matters to Glenn says generalizing specialists. Interesting. Okay. All right. So the second point I wanted to meet, so that was my first point.

Forcing Function [00:30:45]

Distillation is creation. The second point is the importance of a forcing function. I feel like Tiago did not focus enough on how to force yourself to converge. We were pretty sold on okay, we re we're going to revisit our notes a couple of times, we have some guidelines as to keep it glanceable and distill it.

We have a use of mind, but how do we force ourselves to do it because it's work. And a lot of it just doesn't get done. I think it's a, this is an important piece. I have three ideas, so first is time. When I look at a lot of professional, like high-performing creators, they dedicate a fair amount of time to that's to their job.

And these are like side jobs when they start out. So I'm talking Tim urban from Weipa. Why? James Claire, when he started out all the up dog was another mentor here, but like when he started out, he was just a student and then he did his YouTube thing on the side. And pretty consistently all of them do two hours a day or 10 hours a week, which is weekends.

That means that may be very high for you, especially if you have a family, but some amount of dedicated time set aside to create, to converge to say okay, enough with the adding of notes, that's turned the notes into something useful. That is pretty important. I think so really just make the time commitment.

And I think another phrase that really resonates with me is that we don't find time. We make time So it's up to us. Like it's very easy to let 10 years go by and not prioritize and just end up with a problem. They'll say you never use. So we have to make the time. Okay. Second piece, which I like is also that some amount of consistency.

Th the developers in the room probably have heard of the a hundred days of code. And that's something where you just commit publicly to posting or learning about how to code for a hundred days. And people do two, three rounds of this thing. So that's pretty, it's pretty nice. Another one that's gotten quite some steam recently is shipped 30 for 30, which is a writing group that's, you break the ice by shipping a small essay every single day for 30 days.

Some amount of commitment for me, what I really like is a weekly newsletter. I love seeing updates from people because it's essentially your personal board of directors that you're saying like, okay out of this week that I've just lived out of the limited weeks I have left this is what I've done and here's my personal update.

And you hold yourself accountable to that. I think that's a really great way to say to structure everything that happens outside of them writing a newsletter towards okay, how is this going to show up in my weekly update? Podcasting is also a really good one. I think that just the regular cadence of Hey, let's get together talking about news.

Talk about a topic of the week. I just think that it just. Builds up over time and it's this consistency really helps of Hey, I, it's that time of the day, again, that time of the week, again, I gotta make something, force yourself to do it. Finally social pressure.

If doing things alone, it's easy to just drop it because you think nobody notices, but if people are expecting you to ship and you see other people shipping as well, that you have to shift as well. So a circled Twitter, discord mastermind. Now these days not uncommon. I have, I do run my own for developers.

But this group is a mastermind or a discord inner circle, I don't know. But you may have like your own group chat. There's a telegram chat. This is one from makers. If anyone's interested this started as a telegram group and now, you can just post updates on what you're shipping.

And these are the hot streaks that people have of like continuous 888 days of shipping. Something like. That's just super motivating to me here. I know you'll be a success if you just keep at it. It's. It's the people that give up that don't go anywhere. So having a forcing function, just however way you do it is I'm sure there's more categories you can think of.

Q&A: Two Hours A Day [00:34:02]

Just think about it. Okay. There's some questions in the chat for reap. Sean says a question two hours a day includes weekends. No, actually, so those people who do two hours a day, it's actually weekdays before work, because if you do it after work, you're more likely to not do it. So if you were serious about this towards the day before work that's where

I've seen a lot of successful side hustles.

Let me be concrete. Alex West.

Okay. So this guy he's now he's not quit to go full-time but he, for three years,

probably three years, he was doing two hours a day before towards, yeah, towards the day before work and he's, these are all his, monthly revenue updates. And I just, the more I talk to people with dedicated successful side hustles that's the amount of time could be a minute.

It takes to produce something. Obviously two hours is a lot, like I, I'm not saying this is for everyone. I'm just saying this is a pretty consistent number. And when patterns like that emerge from creators let's talk about Tim Barbin. When he talks about his own journey and creating Wait But Why he also talks about, and you can see this numbers emerge again and again and again. He also did it on a somewhat regular basis at two hours a day. And it's just like a really recurring pattern.

There's nothing special about the two hours. I just think that people converse there because that's the trade off of okay. Amount of time spent to create something substantial, but then I have other things in my life that need to go do so take of it, what you will. Okay. Then one more question from IP.

I always want it to wake up early from work sessions, 6:30 AM shifts and waking up at 5:00 AM. Forcing function is really helpful. Okay. Yeah, I agree. Basically I just want you to know that like this, these notes don't just happen. From just cause you feel cause just cause the yoga says, so like you need some kind of commitment to make them happen.

I probably beat the dead horse already.

Three Strikes Rule [00:35:35]

Okay. A couple final points. This is my three strikes rule. So one way to get you to move that diamond from all the way to the right. All the way to the left. So we're talking about this where you're spending a lot of time diverging and researching and reading and note-taking and not really converging.

Enough. So how do you move yourself from right. All the way till after, how do you move this trade-off point where you stop diverging and start converging? For me, this is as left as I will let myself do it. So the first strike is when you first heard about an idea, first read an article first, listened to a podcast.

The second strike is when you recommend it to someone else, right? Because then you have to put it in your own words and summarize it to other persons because you're not going to repeat verbatim. Like you're going to actually try to re explain the article and you're probably going to get it wrong.

The emphasis for this for me was I read this really good blog post, right? The four kinds of luck. And this is, this will probably happen to you as well. So I read this article from mark and Jason and they said, okay blah, blah, blah. All right. So this is the whole blog post, and it's not very well summarized, right?

Because so Four kinds are chance. One is blah, blah, blah, chance to blah, blah, blah chance, three blah, blah, blah, chance for blah, blah, blah. All right. So I was trying, I read this blog post was very inspired by it. And I was trying to tell a friend and I could not remember what two of the four war.

So that was strike two for me. And strike three was when I had to reference it again and I was like, okay time is time has gone well past when, like I need to write it down. So I started to write it down and blog about it. So that's how I, and because I do the visualization thing I made the two by two.

And that's that's anytime you see like a, we'll have four, you make a two by two and you're like, okay, now I have it in my mind now. Or you can do a little bit more if you want. So I just want to bring home that, that idea that having some sort of three strikes rule, some trigger where you don't give yourself a choice of okay, time to stop diverging.

And I have this backlog of things I need to write down now and making incentives as far left as possible. I think that, that makes a lot of sense.

Speaker 1: [00:37:33] Cool.

swyx: [00:37:33] Thanks, Peter. Okay.

Learning in Public [00:37:35]

And then finally, I think this idea of learning public is something I'm very well known for.

It's my top read essay. I highly recommend it. And this is where we start learning in public with our second brain, when we started distilling things for others to consume. It's, it feeds that feedback cycle, right? Because when the first time we summarize something, when we share it, we're going to get feedback on it.

And it said that loads the trigger for the next time. We'll be going back and summarizing and again I think this is a very fundamental feedback loop that everyone needs to have in their lives. And there are many ways to get this done. I'm happy to talk about it more. But yeah, that's my reflection on the descending idea that we need to have we need to think

about how we distill for creation when we need to have a forcing function.

We, I like the three strikes rule and I like the new public, so yeah, I'm going to, I'm going to leave it there. Cause we're almost out of time. We have five minutes left. I have a question that they want us to follow up. Cool. Peter brace wants the link to.

Speaker 1: [00:38:26] Yeah, the cough, then we go that's Peter

swyx: [00:38:30] and Peter, you can find a link to that podcast as well, but like now I don't, I don't need to listen to the podcast.

Cause this is essentially what the mats out in there in their one hour. Thanks, Danny.

Guy Takes Over [00:38:39]

Okay. So yeah, who's got questions or discussions that you want to talk about or you can email me. Maybe I'll call upon guy because guy you're also a mentor. What do you think you covered what's covered in distilled that really resonated with you? Or what do you normally cover in your sessions?

Guy Margalith: [00:38:52] I actually go into the nuts and bolts of how to do this in notion specifically which you didn't cover today.

But I think that's fantastic because frankly I took. Awesome notes from your presentation today, which was great. I think the key emphasis from the lecture is that when that it's really hard to do, but when you distill something down, you make it better. And it's, there's constant resistance to this, at least in my line of work, in informed policy, we, we come

across volumes of information and we think that, there's every little bit of nugget of of information is useful and could make a difference in a life and death scenario.

But in truth, if no one's going to read it, it doesn't matter. And the only way you make it readable is if you compress it. And I think that's what resonated from this week's lecture for me. And you've hit on it very well as well here site. I

swyx: [00:39:38] appreciate it. Thanks a lot. Do you want to, so there's some people who wanted to attend your sessions, but they're at the wrong time zone.

Do you actually want to briefly show you the notion? Just to give a quick hit.

Guy Margalith: [00:39:48] Yes, I'm not it's not really ready for prime time. If you don't, if folks don't mind that I'm going to late, I could show them around my cut. It's like letting someone into your bedroom in the middle of a party before you've

swyx: [00:39:57] cleaned it up.

It's more realistic.

Guy Margalith: [00:39:58] Sure. Let me just see where I am here.

Actually. It's good because I can preview a, just for how much time you want. Do you want me to go for it? Two, three

swyx: [00:40:07] minutes? Yeah. Yeah. Five minutes, 15 minutes. You know where we're at? We're already at time, but I typically go over another 30 minutes for people who can stick around so we can talk about stuff.

Cool. Yeah. Yeah. I love it because now you get two mentors for the present one.

Guy Margalith: [00:40:25] Yeah. Your approach is so analytical, so interesting. You put so much stuff out there in public, which I cannot do because of my line of work. So I admire it. So for me, my, my notion set up is designed to do the things that I can do best, which is internal. And I use my I use the concepts of building a second brain to focus on my journaling and on my habits and on driving personal change, because that puts me in the right frame of mind to, to focus on my work, which has to be very private and very segmented in a way.

Basically, I summarize progressively summarize my journals and entries, which I do daily. I combine them with a habit tracker. So what folks are seeing here is just the common view that I have every day when I open it up. And I think the innovation that I've used for notion, which is something, not something I made up, but Marie pullin does this in her setup

is she rolls stuff up into higher level databases.

So for example, this is the journal entry that's already precooked for May 24th for tomorrow. Nothing is in it yet. I'll input this tomorrow I do it in the morning and I look backwards for what happened in the previous day. I track all the habits that I want to track such as some, whether I stretched, I moved, did I meditate?

Did I connect with someone? I track health indicators am I sleeping? Do I have in my taking any medication? If I stretched, I linked to databases that document the stretch. I tag the day with a master tags database too, so I can see themes that emerge. I like to capture food that I eat restaurants, that I go to, anything that I watched so that I can refer to it later.

I typing what happened today. I give myself a 20 minute timer to do so otherwise I could go for hours probably. And then I go through a series of startup tasks. After I do this for an entire week, I have a weekly review and the weekly review. I can show you the one that I just did. I do them on Sundays and I use, I roll up the information from the prior week.

So for example every day I put in a daily three daily themes, and then I force myself to distill those themes these themes from the entire weekend to just three words that represent the entire week. And this is my choice. So this is my perspective. Notion just feeds me the raw data and I choose same for what's an example here things that I put that I need to

improve on.

I then. Forcing myself to distill that into whatever I perceived to be the issue for that week. I do the same thing for the good things that happen. I asked myself a series of questions, which roll up later, I'll show you. And then I also roll up those health features that I showed earlier. So that's

swyx: [00:43:08] a sample.

This is amazing. And

Speaker 2: [00:43:09] then just very quickly the, I can go into a monthly view, which rolls up the data from the weekly reviews. Again, the exact same thing. I do this at the end of the month. Here's the top words. And then from the, from each weekly review, I choose three. Again, what did I learn?

And then I wrote down my monthly knowledge what was I effective? So on and so forth. Here's the entire week's happy highs or happy moments. And then I summarize it down, distill it down to the monthly wins and then zooming out even further. You guys are getting the picture, I think, in the quarterly review I like to put in a photo, I choose one photo from

the quarter that means a lot to me.

That's me with my niece. Again, just showing the three words, those are the monthly words. Again, I've summarized down to three words. Same thing I keep distilling down and then I get all the way to the year. And I've only done one of these because I only started doing this a year ago, but In December and January, I did a yearly review, which actually was

really fun.

Cause I, all he did was distill the information that I had from my three quarters. Here's my 12 word for the entire year and those were my three words for the entire year and eventually I'll get a decade. I'm pretty sure. That's a preview. And if you guys go to the circle group in the advanced notion group and also the beginner notion group, I've put in a link to

my dashboard.

And if you like, I have a shareable template that I call a mindfulness engine that just reproduces what I showed. So feel free to to copy paste and enjoy

swyx: [00:44:42] yeah. Share it with us. And I think that's so generous and that's amazing part of why we put in the link. Yeah. I I actually was very.

Afraid to be put in the advanced category because I'm not an advanced notion user at all. When I look at your setup, I'm like, okay. Yeah, that's an advanced lotion set up.

Speaker 2: [00:44:58] I have the, I had the exact same thought about your set up, even though I didn't see it. I'm like, oh my gosh, this isn't set up. I

swyx: [00:45:04] have so much to learn.

My only thing I had to clean the famous, I made a book out of my book and the book has sold six figures. So that's, I think people went to different elements that I really enjoy. I'm really glad I asked you this. I had no plans, but, and then thank you for stepping up that was awesome. I, I P as a follow up question how long do these things take?

Because they probably take awhile. It takes a while.

Speaker 2: [00:45:27] And Tiago in his course on habit formation talks about how the goal as you work through your habits is to tighten the loop. You have to make it so that the habits that you have instead of adding more and more habits, Once you learn how to build a habit.

That's easy. The hard part is tightening it. How do you make it faster? And that's why I have to give myself a timer. Otherwise I lose track of time and I could go on forever. So it takes me about right now, it's about 20 to 30 minutes a day. I don't have a job that requires an early start like IP.

So I have that luxury, but as soon I will, I'll have a very early start. And so I'm going to have to figure out a way to get it down to probably five or 10 minutes, which makes me a little nervous. But that's the challenge.

swyx: [00:46:10] Yeah that, that's amazing. For those people who might've missed the chat, he actually dropped his template in the zoom chat. So make sure to check that out and I'm also pasting it inside of the presentation so people can catch up on it. But this is really great. Wow. What about note taking though?

So you have a lot of reflection stuff. Do you. Do you also use notion for note taking?

Speaker 2: [00:46:28] I do. And I'm still refining it. I took a building a second brain the first time at the same time you did. So it's I believe you took it a year ago, so it's it's about, it's very new to me. I didn't take any notes before in my life.

It's a very new concept. So for me, I use where did it go? That's down here. I have a. Notes database. And when I want to find a note or to create a project, I go into the space, I call my neocortex and I S I drag and drop interesting notes, and I'm still learning to deal with it, but I could, for example, search by a specific para.

So in my notion mentor session, last week, I showed how you would create a project for hosting a food extravaganza by dragging notes on that topic. When I summarize in notes, I add a tag to it. As an example,

Speaker 1: [00:47:22] that's a good example.

Speaker 1: [00:47:23] Here's a food one. So I track the, if I drink something that's good, favorite alcohol, I'll keep a database, a running list of beers or wines or things that are cool.

I'm at a restaurant and I give this a progressive summarization level. So this one's pretty high up because I made my own, this is my own unique perspective on alcohol. No one else has it. So it's my own remixed work. But when I clipped something, I maybe it's just the key excerpts as I bolded, I'll give it this a bolded key points.

And then what I can do is filter for notes that have that level two and above that are that either have a highlight and above. So it's a more limited number of notes. I also put in the notion for each note, a summary if I, if it resonates with me, this is from building a second brain. I took a note on how to, from the circle group, how to measure success in areas.

Here's the actual note that I copied and pasted, but I bolded things that appealed to me. And then I put in my own my word summary, and that gives it extra oomph when I searched for stuff with that summary. Cause not every note has it. And I even give it a score, which is using a notion formula that basically it gives it points for whether there's a takeaway,

whether I've set a review frequency for it and whether I've given it the trophy, which means it's it's really cool.

So if if all those three things are checked, then it gets a 10, which is a high score. And I can even filter for those. I don't know if I filtered for scores in the neocortex. Yes I did. So these are high scores notes with high scores. Every single note with a high score. I think the filter is set for more than six, I guess it's not working right now, but eventually if I went in

there and fix it, that's what it would do.

So yes, that's right. I'm still working on it. It's not, I'm not able to produce as easily as you can for public use. And so that's where I struggle at the moment.

swyx: [00:49:17] You can, you don't have to produce about your work stuff. There are definitely other areas of your life. Like the alcohol notes.

Speaker 2: [00:49:24] Everyone thinks I'm an alcoholic, but,

swyx: [00:49:25] No they're definitely elements of your life, which are not. National security related. So I think that part is okay. But no, that's, this isn't really awesome. Yeah I worry a bit about being too tied into notion which is why I tend to keep my things relatively low fi, but it's so nice to see your weekly and monthly collections that that makes sense.

It makes sense. Yeah. Great. Document your decade. Okay. Interesting. Yeah, there, there are a bunch of the people that people bring up in the chat. I feel like this is a really good ad. People should go check out your session when you're in your sessions and just join the your group, it is

Speaker 2: [00:49:57] two in the morning, Eastern time on Mondays.

Sorry, on Tuesdays. Sorry for the late hours, for those of you who are sleeping it's great for those folks in the India, Pacific ocean Asia area. Okay.

swyx: [00:50:09] Got it. But yeah, people can catch up on the circle, I guess.

Speaker 2: [00:50:13] Yes. Feel free to talk to me in circle. I haven't recorded anything yet.

I'll. I plan to start since I've had quite a few people ask.

swyx: [00:50:20] Yeah. I think I think that this piece was really great. Okay. We have we have about 15 more minutes of people. If you want to go, we're already over time. So thank you for coming. We'll see you next week on we for, but I usually stay to answer questions.

Guy, if you have stuff to do that on the weekends, thank you so much. You've already I should have asked you to join anyway, but thank you so much invited me to present. It was

Speaker 2: [00:50:43] a lot of fun. I'll stick

Speaker 1: [00:50:44] around. I'm

swyx: [00:50:44] still learning. Yeah. Yeah. If anyone else has other topics they want to talk about now, it's the open bar session.

Once a week Newsletter [00:50:51]

I'll tell you, I'll tell you my, my I definitely feel like more unstructured and I feel like the habits of keeping to a regular publishing schedule, like once a week, a newsletter plus a daily audio clips, podcasts that I do that just keeps me full already. I feel like everything else emanates from there, all the note taking that I do, because I always have an outcome that I want in mind and I have a mental timer of okay, if this thing ages too much, then I either have to get rid of it or I just have to ship what I have today.

That's it like, I know I'm not happy with it. It's not my best work, but I'm shipping it. And sometimes people like that. So

Speaker 1: [00:51:31] let's just start just on that.

Private Journaling [00:51:32]

swyx: [00:51:32] So John Harker says, I like how Thiago shows, how he uses Evernote for all this internal stuff, then move things into notion when he wants to share. Yeah. Yeah, exactly. So have a public side and the public private side. I think that makes a lot of sense because, and sometimes you want to air gap it by different apps.

So my journal wasn't one note where no one else uses and it's a password on it. I think one node has the best password solution that I tried. I'm not sure how other apps lock it up. I don't think notion even does a password on. Yeah. So I recommend for journals at least to put it in one node.

Book Writing Process [00:52:05]

Dave Meyer says I struggled, outlining going from small standalone ideas to a fully formed publication, like an article. Dave, I don't know if you were here. Were you here last week? So I gave a little, okay. So I the people were here last week. I gave a, those screen-share into how I wrote the book.

So I wrote it and get help cause I'm a nerd like that. And when I wrote the book, I essentially planned out my structure. I planned out the ideas that I had, these are all black bullet points. I should probably be, turn this into a theme.

Speaker 1: [00:52:33] Okay,

swyx: [00:52:34] sorry. I know people like just prefer live alone.

I went, when I wrote the book, I wrote all these chapters and then these are all black originally, and then I turned them blue into links of the actual

Speaker 1: [00:52:43] final products.

swyx: [00:52:44] And then

Speaker 1: [00:52:45] it's like the chapters. Okay. Sorry. It's

Speaker 3: [00:52:49] we would find downloading chapters and stuff like that. Okay. It's the individual chapter itself then of that kind of content, that kind of all the body

swyx: [00:53:00] in there.

Let me show you. So this is, these are all just like literal brainstorm of everything that every point that I wanted to make and then I took this and then use this as my starting points for writing the essay, which I knocked out in probably like three, four hours. I don't know if this helps or not, but it literally is bunch of topics.

And I don't necessarily know the end point that I want to get to. I just know things that are interesting to talk about and I just list them out. And part of the writing process is rearranging them into some kind of order sequence. That makes sense. And then the final output,

Speaker 1: [00:53:33] you don't see, you don't see a lot of the

swyx: [00:53:35] final of, but let me show you the correspondence.

I don't think it's, I don't think it's very high. So here's the draft and then here's the final output. So I would say, I had a section called dealing with the mob and I thought that mom might not be PC. So I said, dealing with haters and literally like four bullet points.

Like that would be three, four pages like that. And just having some amount of separation between deciding what you're going to write about and then actually sitting down to write the thing. I think

Speaker 3: [00:54:00] that helps. I can see that there's a lack of perfectionism there, which is, I think.

I think that's the issue I have there.

swyx: [00:54:07] Yeah. I'm literally like a lot of my writing. I actually often say that I do it while running. When I was writing, so I wrote for 600 hours every day before I would write, I would go for a run and doing a run might still be active. So I would just be like organizing things to my brain.

And when I thought of something, I would actually just get on my phone and rearrange and add point bullet points to this.

Speaker 3: [00:54:30] Anything before a real soda it's front and center your mind?

No. And was this already the main focus of what you

swyx: [00:54:36] were working on? No, I would just be working on three or four different topics simultaneously.

I had all these in my kind of on board. And yeah, I was, I w I would have. I think I had it up next section that had three or four chapters and then some which some, which were just said idea stage, which I think I seem to have got rid of it, but yeah, then I would just be working on these and now move them over to the complete section.

And then I'll promote other things to do the writing section. And I would just be working on four or five of simultaneously, but my book had 40 chapters there's a lot of content just everywhere. And then there are some, I just threw away as well. I don't know. It's a messy process.

Embrace it. And I think the organizing structure of chapters is really helpful because that's a self-contained unit. It gets tricky when chapters interlink, which I also did. And and that's a path that I think you best I would recommend doing after you've finished the book.

Speaker 1: [00:55:24] Yeah.

swyx: [00:55:24] Yeah, that's the book writing process now. Don't know if it helps.

Speaker 1: [00:55:26] Thanks.

swyx: [00:55:27] Definitely some community helps as well and also writing in public, right? For those planning to write a book or to sell their writing in any way having some kind of focus group, which is either a Twitter for Twitter, for me, or like some kind of discord chat or whatever other peer group that you want.

And like sharing drafts as you go along to get feedback is very important. For me, like I actually used it as marketing I knew some topics would do very well. So I released chapters for free and got them to sign up or just buy the pre-sale copy. And I highly recommend doing that because then you have the people pay you for the privilege of getting updates

on your book as you go along so that when you launch, you have a preset base to spread word of mouth, because they'll probably be happy with the updates, as long as you do updates and stuff.

It's you can also think of it because it puts

Speaker 3: [00:56:13] more pressure on you to deliver as well. Yeah. I like

Speaker 1: [00:56:15] it.

swyx: [00:56:16] Yeah. I have I have a post on this called why you should pre-sell so I do have a strong opinion on this. The downside, the only downside is that there's two downsides.

One is that your most ardent fans are the most are the ones that are most likely to buy from you. Pre-sale so you're making less money from the people who like you the most. And then the other one is that you may commit yourself to a timetable which you may need to back out of. So you need to be ready to refund everybody if you can't beat your

commitments.

But yeah, otherwise I think the most important thing that you can have for anything that you do is word of mouth. And if you can get paid to build word of mouth, then that's a slam dunk.

Q&A: Publication Approval Process [00:56:55]

Guy Margalith: [00:56:55] Swyx can I ask you a question?

Yes, sir.

I'm going to take advantage of the time to ask. I don't know if others are experiencing this particular issue, but let's presuppose that before, before you could publish or learn in public, you had to get every piece of writing, cleared through some committee through some process that took anywhere from two days to a month.

How would that impact how you shared in public and how you would advise people here to share in public? Not only process wise, but also what do you think that would change the nature of the content you're sharing and how you're learning

swyx: [00:57:29] in public? Oh, definitely. It definitely would change it. I definitely don't love the process, but it has to be done for some publication.

So I've been published in some major sites and I've had a blog post written at work where it sat in a review process for two, three weeks. And it really bothers me. I'm the kind of guy I want to write it and fire it out and then react to feedback. But a lot of other publications are more conservative.

They want to a proper review process, which is probably a good idea. But yeah it really takes up mental space of uh, I've written this and it's not out yet, so I can't move on to the next thing cause it's not out yet. And it's silly, like really the right approach is to just it's done.

It's written. I don't know when it comes out. It'll come up when it comes up and I should move on to the next thing. So the more you can disassociate yourself from just like the what's the publication schedule and just focus on the writing schedule. I think that's a good idea.

Yeah, thanks. That's great advice. So no, I actually have that. I do that at work. We do, we do have a video review process and it sucks. And then you have to be more careful what you say. Because I also find that th this is the other thing, when people edit, they generally tend to nitpick.

They don't really give substantive, like they're not collaborative so much as just Hey, your grammar is wrong. Let me change the title a little bit. And that's just the nature of things. People are not trained to be good editors. If you just take a regular coworker and they're like, can you look at, look over my piece?

They, they're not trained to, to be good editors. Uh, either find someone who is actually adding value as an editor, like pointing out ways, you could restructure the whole thing or uh, restate that you just like factually had wrong. I think those are the highest value edits. And if it's like editing spacing, or like adding a comma, I don't care.

No, no reader cares. Are you entertaining? Are you informative? Yeah. There's, there's, there's, there's a lot of writing advice out there, but I definitely subscribe to the idea that It's not about like factual accuracy. The factual accuracy is that kind of like the baseline, but like people read stuff that entertains them and informs in some useful way that's relevant

to them.

I find that editors don't generally think about these dimensions because their skin is not in the game, but their name is not on the byline. And I've had really bad disagreements with people I work with over edit suggestions that I just said no to. And they were like, what why you're not waiting on a CD player?

I'm like, my name is on this piece. And I don't like the way you're taking this. So I don't know. You just have to be comfortable with that. And I think having an outlet, if like things don't go well and like you have to kill a piece, then just do it in another way, like book a podcast and just talk it out.

Talk out your feelings. That's fine. Okay.

Q&A: Publishing on Big Platforms vs Building your own [01:00:05]

Ken rice is pigs and chickens. I don't know what that means. Is there a story behind that kid?

Speaker 1: [01:00:09] Real quick, Swyx the story behind pigs and chickens is that pigs get made into bacon and chickens just like eggs. It's just another metaphor for having the skin in the game. And sometimes she used an agile communities, so anyone can Google it.

I won't go into

swyx: [01:00:23] depth on it. I think you distilled the concept very well. Yeah. I just I have thoughts about. Venue as well. So count. So there they're two opposing views. One is that you should build your own platform, right? That's the only thing that's going to stick with you the rest of your life.

If you're beholden to anyone else, you're publishing them their platform, you're borrowing their audience. And they're not really finding you or sticking with you. Uh, that's one perspective. The other perspective is Cal Newport's perspective, where going through the editing process that has that's competitive, that has a chance to get it rejected.

That forces you towards higher quality writing because you have something to lose. So some, probably the right answer is somewhere in between. I think that when you start out. It makes sense, actually, to try to work with editors, to get some sense of what professional writing can be and then also to get published so that people know of your name and find

you and then as you progress in your own journey to eventually locate everything on your own property so that people can just find you directly and you have a direct relationship with them.

So that's something that Tim Orban also said in his interview. He originally started only sharing, only writing for Facebook. And then people found him and then sign up for his newsletter and then he could pivot and stop writing, click baity, Facebook headlines. think that's a, that's a wise approach,

Speaker 1: [01:01:35] basically

swyx: [01:01:35] pig and chicken. The chicken is involved. The pig is committed. That's excellent. I'm going to put that. Let's stick that in, into my own notes. That's great. All right, cool. Our hour R and a half is up. We do have a session coming on afterwards after us. But thank you everyone for this. I thought it was a really great session.

So much surprising. I'm just blown away by this. I wasn't sure what I was sending out for when I did the mentor session, but going through this with you guys, this is it's really rewarding for me as well. So thank you for for joining us and I'll see you next week.

View Details

One of the most impactful film composers of our time.

Audio sources: 

  • The Making Of “Wakanda” With Ludwig Göransson
  • Childish Gambino - This Is America
  • The Mandalorian OST - Main Theme

View Details

Thanks for 100 episodes! You can read the blogpost in full on my site.

My ideas for future episodes: http://simp.ly/publish/BQJJ5b

Main points covered:

Personal Podcast Superpowers

  • Infinite Game
  • Hot Medium
  • Independence
  • Completionism
  • Superfans
  • Scheduling and Creative Control

Why Mixtapes

  • Giving Value
  • Curation
  • Brevity

Downsides

  • Audio Editing
  • Discoverability
  • Analytics
  • Depth
  • Feedback

View Details

Making $400k by punishing robocallers automatically. Genius!

Audio source: https://www.listennotes.com/podcasts/the-pomp-podcast/557-joshua-browder-on-p8id7SOsmCD/ (41 mins in)

See more: https://donotpay.com/

View Details

I am a mentor for the Notion Advanced track of Tiago Forte's Building a Second Brain, Cohort 12. This is the cleaned up audio of the second of 5 mentorship sessions with Q&A at the end. The first session was last week.

Recommended reads

  • PARA: https://fortelabs.co/blog/para/
  • Blogpost Annealing: https://www.swyx.io/blogpost-annealing/
  • Twitter as Universal Meta-Commentary Layer: https://www.swyx.io/twitter-metacommentary/
  • Digital Garden TOS: https://www.swyx.io/digital-garden-tos/
  • Devon Zuegel on Epistemic Status: https://devonzuegel.com/post/epistemic-statuses-are-lazy-and-that-is-a-good-thing

Slides and Video.

Timestamps

  • Prelude [00:00:00]
  • Housekeeping [00:01:09]
  • Content Recap [00:02:34]
  • Q&A: Constancy/Consistency [00:11:17]
  • Q&A: Maintaining the Second Brain [00:14:34]
  • Q&A: Weaknesses of PARA [00:17:55]
  • Q&A: Broken Links in Notion [00:19:16]
  • Q&A: Automation with Zapier [00:22:34]
  • SMART Goals [00:23:25]
  • Denormalizing Notes [00:25:01]
  • Open Source Knowledge [00:28:27]
  • Brag Documents [00:29:28]
  • Just Do It [00:30:57]
  • Q&A: How do you share in public? [00:31:45]
  • Q&A: Atomicity/Denormalization [00:34:02]
  • Q&A: Why Notion? [00:37:33]
  • Q&A: Book writing? [00:38:28]
  • First Wrapup [00:40:23]
  • Q&A: Twitter Links Extension [00:42:30]
  • Q&A: Chrome Extensions [00:43:33]
  • Q&A: How do you balance research and writing? [00:44:39]
  • Q&A: Converting Resources to Projects [00:47:37]
  • Q&A: Video/Audio Capture [00:49:11]
  • Q&A: Speaking [00:50:39]
  • Q&A: Writing My Book [00:52:58]

Transcript

Prelude [00:00:00]

swyx: [00:00:00] Why PARA? Have you considered why only four letters? I really liked the thought process going into that. That's actually touched upon in the blog post. I'm not sure that you covered it in the lectures, but I think it's just really great to have something that's barely minimal enough that it covers the span of everything that we organize our information because I think in past attempts, I know I have probably, this is a common experience, you try to organize all the things and then you have like 15 different categories to spot stuff in and you just get overwhelmed because you're like, I don't know where to put stuff in. So the second week, week two is really about organization. So that's what we're trying to optimize for.

And that's what PARA is. Christopher says some of the mentors have modified the acronym shock. What, what modifications have they said? Some mentors only have PAR or PA. Yeah. I will say my A and my R are merged, Maria says PTARA for tasks with silent T that's. Cool.

Yeah, because you do need tasks as well. So I'll mention something about your calendar as a to-do list, because that's pretty important. Someone should blog about that because then you scoop Tiago. Alright.

Okay. So I'm going to get started and I'm going to try to keep the chat alive.

Housekeeping [00:01:09]

This is a little bit stressful as always, cause I'm not used to such a big zoom but thanks for everyone for making the time on the weekend. This is the notion advanced group that I lead. It's Sundays at 5:00 PM, as you might know. And it's a very developer focused the meet up because there are a lot of developers in BASB, but we do try to keep it generally accessible. Part and just I'm going to give an agenda that's happening cause last time it didn't. So you know what to expect and you can jump off if you have other stuff going on.

So we're going to do a little bit of content recap. I got very positive feedback from last week about what did we cover this week? From my point of view, and then we'll talk a little bit about projects versus areas. I'll give some extra content around what I think para is. I don't have, I didn't modify the acronym. That's a very smart move. I wasn't smart enough to think about that. And then we'll just have a general Q&A .

Last time we went for 90 minutes, this one, we try to keep it to an hour, but.

Some housekeeping, the three rules that we have from zero, because we start at zero in this house

stupid questions are welcome

Second rule Often beats perfect. So don't try to do it right, but I try to do the best, just do it a lot and you'll find that you do more than if you try to do the best

and third rule this is a discussion, not a lecture, so I'm not an expert and I don't have the right answer. And I fully welcome people here to answer questions that other people have asked, because I don't know the right answer as well. So it's a discussion that I'm facilitating. So that's the framing that I want to set for this session.

Content Recap [00:02:34] Okay. So now into the content recap I'm just basically going to pick the three best slides that I thought really represented this week. So if you remember nothing else from this week, hopefully you remember these slides.

So the primary thing I think that everyone needs to get from this week is that completed creative projects by the oxygen of your second brain. In other words, action. Right. Or what did someone say at the start of the session, christopher said, para is a methodology to organize the action ability, basically like optimize for taking action, nothing else matters.

And your system needs to help you get there. And your second brain has helped me get there. I

like the metaphor of oxygen because without oxygen, your second brain is going to starve. And I definitely find that very true of myself. We all have stuff, we haven't competed. And then we just reinforced this identity of a person who does not complete projects. So the smaller your ambitions the more you can feed them the more you have reinforces image of someone who completes projects and you get more done.

This is PARA in one slide, very ambitious. I basically wanted to summarize, what the main aspects of PARAwe should have for those who might've missed it. I did share the slide deck, so you don't have to screenshot or anything. So I'm going to share that in the chat right now. Well, it's actually P stands for projects, A stands for Area, R stands for resource and archive is basically inactive items from all three categories.

And one of the key insights is that it's arranged in order for more actionable to less actionable.

And the other order that you see as well is that there are less projects in there. There should be the most number of archives. So I think if you saw Tiago live session, he showed you his own Evernote where he actually showed like the number of projects was like 5% of the total number of notes that he was taking and yet hundreds of archives.

And that's what the rough order that you shouldn't taking it. Things can also move fluidly between categories. So something to start off as a project and then broaden out into an area and eventually make his way to an archive, but he can also make us wait the other way. So that's the purpose of this blue and green circle things that's going on. And then finally, the thing that

he wanted to really drive home with the project list was that the project should be connected to a goal. And a goal should be connected to a project and the project without a goal is a hobby. And then go without a project. It's a dream because you don't have plans to accomplish it.

So that's para in a slide for me. I that's why I like asking people to summarize what para is, because I think it's a very personal thing because it's the way you organize your information. But I think trying to have a decent summary of what para is for other people helps you internalize it as well.

Partially why I'm doing this mentorship thing. Okay. So I think there's something that people have really tried to struggle with is the difference between projects and areas. That's something that toggle mentioned, in, in David Allen's book, getting things done.

He mentioned that the people can surprisingly have a lot of difficulty separating between projects and areas. So project has an outcome to achieve, and it hasn't been like, whereas an area has a standard with no deadline, but as per the standard quality while we were at 50 people already. Okay. So, I just want to share people. Yes. Someone asked me just like that again, it's down here.

But I just want to see in the chat a little bit This week, your homework was to figure out your project list and sort your stuff into projects that areas.

So what are some examples of projects that you have identified for yourself? If you can just share in the chat that'd be really great. I just want to see people's projects and I can give more examples if you want.

Dennis's project is a weekly podcast episode.

Very nice, man. He says tax filing for 2020. I hope he got that done.

Cause I think the deadline was tomorrow or Friday. I got my, I thought that I thought the tax filing deadline was April 15th. So I got my deadline there. I think everyone should have a extension automatic extension for tech solving.

Sam Wong says crypto training and seminar. That's excellent. Excellent. So all of these have defined deadlines except for Dennis. Dennis has a weekly podcast episode. Arguably that's not a project it's not specific enough. It has to be this week's podcast episode.

Yani is project. Very good. I was hoping for this on and Karen as well. What would them, once you complete the ASB and have a functional second Brain by June obviously that's something that we all hope to get you to at the end of the day

Maria says she wants to work on newsletter volume three. Peter brace has a very specific work within the deal. Close the deal with jet Beck. Good luck, Peter. I hope you close that deal. I'm working on a couple of deals at work as well, and Yeah, well is out of my control sometimes. You just, once you've done all the paperwork,

yeah. Okay. Slobodan an interesting one, implement power for kids and powerful family.

So this is another level of, once you really internalize para, you want to do it for work. You want to do it for family. You want to do it for kids. It's super interesting. Just, take it easy. It's a long game. Okay. And Christopher Horn wants to refactor notes. Is that what Gaston by me, 16th?

Yeah, have a deadline. And see a lot of people with desired outcomes, but make sure you have a deadline, make sure it's not too far in the future. And if it's too big you gotta break it down. You go more to something achievable because of the motivational factor of completing projects.

Oh, we do have a question from Sam Wong. I think this is relevant to Dennis. The other person want to do podcasts. So Sam Wong's question is how do you handle monthly tasks, invoicing, for example, it is a project when it repeats.

Yeah. So you have an area of responsibility, which is a would you say standard to be maintained and it doesn't have a deadline. It just keeps repeating, but it spins out projects every month. That is one way to think about it. But obviously if it's a task, like if it's, if it can be done in one session then it's less of a project and more like a task that you can probably knock it out in five minutes or something.

Then yeah, that's why I think people, when they establish a fifth category apart from PARA probably the other one that makes sense is T the task category.

So, we'll talk about that at the end. But essentially I just put it on my calendar as like thing I need to get done. There's no point having a to-do lists because the to-do lists.

It very wishy-washy it doesn't actually set aside time. So you might as well use your calendar as a, to do this. That's the I'm giving away the ending there, but that's, that's really the conclusion.

Okay. I had some feature quotes from this one this week. I thought this week where it's particularly quote worthy, I like collecting quotes. And in fact, if you notice in the circle community, there is a section just for quotes.

And I think quotes can help you really crystallize some of the learnings. And that's why I wanted to focus on some, but please feel free to share also in the chat some course that you liked Or did it stuck in your head?

You don't have to get it precisely right. But try to remember some quotes because you're going to have to repeat them for yourself, for other people. So one thing I think people don't focus on enough is the importance of archiving. So this is why I want to feature this quote here. We can not do our best thinking when all the information from the past is cutting our attention.

That's why that archive stuff is so crucial. Right? That's actually the first thing that he showed how to do in his live demo. The other thing, and this is very much in line with, well, number one, I think that we had the value. It doesn't come from the tool. It comes to you using it repeated thing. So despite people really identifying themselves by the tool, right? Like, we are the notion group. Then they're getting teams that the wrong group and never the Twain shall meet. It's less about the tool because the tool will come and go and it's more budgets getting more use out of the tool. Same for blogs, by the way, a lot of people resolve to start a blog and then they'll write the blog.

And they'll say like, you know how I wrote this blog? The first book was a bit of a world. Of course, second blog would be how I meet this blog. And then third blog posts would be, sorry, it's been a while since I last updated. And that blog will be less updated as a two years ago. So definitely, well, you don't want to have that kind of thing where you're, over-invested picking the tool and then you never use it.

Okay. So, and then difference between projects in areas, projects of sprints areas and marathons. So you do want to go for sustainability in areas and then projects juggle says, give it everything you've got.

That may be a little bit harsh, but I do definitely sprint a lot for some something projects, which a lot of should have blogging.

Right. But also when I published my book last year I realized I didn't. I didn't introduce that part of myself but for those one year two micro yes. Part of the reason why this is an advanced group for BSB is that I do definitely want to people to ship and even make money from shipping.

So if you, if your intent is to publish a video or a book something from as a capstone for this course, this is the right group for you. And I'm definitely open to questions about that.

Okay. Finally, a project without a goal is a hobby. You go without a project is a dream. That's not something we covered earlier and completed creative project. So the oxygen of your second brain. So that's that those are the quotes that I pulled out. I do definitely encourage you to save your own quotes.

That's probably one of my main research areas or just like collecting quotes, I do like collecting quotes and questions.

Okay. Brief reminder that you can also share your stuff here in, in the project list on, on the circle. And I think it's a very good motivational tool to check out what other people are working on and how to how to see what's what's happening there.

Q&A: Constancy/Consistency [00:11:17]

Questions and discussion on this week's content in general.

Speaker1: [00:11:20] So I raised my hand on the interface, which I'm doing for the first time from an iPad. So I had to reach for it as well. My question is you were talking about the value of what I characterize as constancy, the repetition, the rigor that's my number one problem. And I don't know that I'm unique in that.

There's always, I read somewhere that there's always this point when you're cultivating a new mental model or skillset or whatever, That works. It works, it works. And then all of a sudden, the old way that you used to be rears its head and tries to pull you back in and then you fall off of it. And I guess I'm wondering, based on anybody's feedback here, what is the best practice around achieving or cultivating or keeping that constancy?

swyx: [00:12:00] Is there a reason you call it a constancy instead of consistency?

Speaker1: [00:12:03] Because I'm weird.

Okay. That's cool.

I read a lot of, I read a lot of archaic texts and when I say constancy of probably drawing from Thomas Jefferson, which I was just reading this morning.

Sorry. I apologize.

swyx: [00:12:17] Wonderful. I mean, Hey, he's a good person to learn from. Does anyone have thoughts on constancy? Feel free to speak up? I can give some thoughts, but I didn't want to take all the air in the room. Joseph I don't know how to pronounce the last name. Sorry. You need to form a habit, which means it takes around 60 days to form. I like that.

So a lot of consistency or constancyis about identity.

I like this. I like this thing about identity change that James Claire has. So he has this three circle thing. We're effectively doing some kind of behavior change and this is. This is effective for para is effective for capture and the other habits that you're going to learn in the other weeks of the class.

So, it's around your identity, right? So check out this, there is a behavior change idea. So they're, three shells to your model, right? Like, so, there's your appearance, there's what you do. And then there's your identity, how you, how you think about yourself. So, you can try to be the person who do, who does like a hundred pushups in a row, or do PARA for 60 days. That's a very forced motivational thing. Like you can publicly commit to it. You can pay a charity and say like, if I don't know, if I don't complete this, I will lose some money.

There are a lot of little tricks that really hack at the outward appearance of that. Then there's the performance, like the actual actions you take to ensure that you do that. So, so that can be like actually doing the thing. So instead of saying that you're doing it, you actually do the thing.

But the one that really sticks with you is identity change. Once you to say, I am a person who does PARA for me, I am now a BSB mentor. Which means I am someone who just like inherently people can come to me to talk to for BASB advice. That has changed the way I approach BASB, because now it's part of my identity and someone who identifies as someone who's cause forming the habit was capturing this building a second, bring.

You don't need some trick. It's just a thing that you do. If you're a religious person, you just go to church, you don't have some counter of like how many times I've been to church in a row. You just go. And if you it's okay to break it every now and then, but then you pick the rabbit up again because that's your identity.

To me, that's the most motivational thing I don't need anything else, but joseph just let me have other thoughts as well.

Yeah, peter says, I prefer to keep my identity inconsistent so that doesn't work too well for me. You do it, you are allowed to change your identity and that, that is a fluid concept. So yeah. Are there other forms of commitment to me work as well?

Okay. Hopefully that was a decent start. Thank you for breaking the ice.

Q&A: Maintaining the Second Brain [00:14:34]

There was another question here, but I'm going to, I'm going to acknowledge Yanni, who has had her hand.

Speaker2: [00:14:37] So I think it's actually probably can be a followup out the previous question that Christopher dresser mentioned. I think first of all, thank you so much for sharing the identity part, because I think that's a big owl consider as a principal that I can follow up.

I can think of, but now the question is the implementation of that identity. I think I think about the consistency aspect of the second brain comes out the main tennis aspects. So I'm curious about how you maintain your second brain. I used to just unconsciously associate the main tenants as a reviewing process.

It can be, but I'm just curious you, Shawn, as a person who creates a lot of value on a weekly or monthly basis, I'm curious how you're maintaining your second brain. At the implementation level.

swyx: [00:15:20] Yeah, I knew I was going to be asked this and I knew I was going to have a terrible answer for this. So Maria, you might want to do you might want to show your system in case I fail and crashed and burned, but I'm just going to be brutally honest. I don't do much maintenance. I I do rent, so I do have I have show this in the past preview. So, these are resources. I don't. I started on with para and that was a year ago and things have evolved since then.

So part of I've been told that it's actually a good idea to show people how para is used in real life, that it shows you that it's okay not to be perfect because Tiago is perfect PARA.

So I do have projects. One of them is BASB mentoring, for example, that's what we're on today.

And I do have resources that I share. I do have special categories of resources. These are just resources that I have for myself. But for example, when I worked at Amazon, I did have public resources that I shared is it public notion. And I think Sharon dozers, reusable resources are, is very helpful because it's no extra work on your part.

Other people might find it very valuable. And I do encourage showing the resources as far as maintenance go, actually. The, so the other part of my system is simple note.

I do a lot of review on weekends. So every Saturday I do my newsletter and the newsletter helps me triage things as they come in. And that goes in from right to left . From simple note, which is my quick access thing. That's always fast cause notions slow into notion in the right categories. So that's really it for me, in terms of maintenance maria, I don't know if you want to jump in and you have anything to add for maintenance.

Speaker3: [00:16:47] Yeah, I put something in the chat about it just really depends on what I care about. So, my projects are maintained daily and then I have a weekly review where I think about like the areas in my life that are most relevant. So it really depends on like what I care about now. And then I organize as I, as things come up.

Yeah, so that's, that's about me. That's depends so much on how I do it in notion, but it's like the mindset around that.

swyx: [00:17:16] I think it's a good idea to set like a quarterly or annual reminder to archive all the things. And that's something I haven't done, just quite, quite frankly I haven't done any archiving. I have just a mess of stuff since I took BSD last year. So I really should archive it, check out this thing where I say, Oh, projects, I didn't really archive anything. So it's a good idea to clear the deck every now and then. And just like Jonah says, don't be afraid about archiving stuff. You can, it's always still in the same system. You can always search it. Christopher says he archives annually. That's something that's good as well over a visual overwhelming is a real thing.

All right. Thanks, Danny. Thanks. Good question for that.

Q&A: Weaknesses of PARA [00:17:55]

Julian says, Julian Alvarez says what weaknesses and drawbacks have you experienced implementing PARA and how can those be addressed?

So I think a lot of people have talked about the weaknesses, which is that it doesn't have any room for tests. Julian.

So the way that I think about tasks is that so I do have a work to do list. That's a lot of my stuff.

I do have 70, this is like the most overused of simple note. I'm not sure if this is like the right thing. I do a lot of speaking, so here's my speaking calendar. So I make sure I'm on top of my my talks and I'm recording and speaking.

My blogging goes here. That's essentially all it all. I need, in order to inform my personal stuff, my worst stuff has a different notion tracker, which I probably should not show and publicly.

But then I also have this concept of the calendar is a to-do list. So, you're on Kevin calendar as a, to do list. So, I have written that up here. I'm going to share that in the chat. But I do like basically this idea of time block planning that when you want to get stuff done attach it to a time just thinking it to do this without any notion of priority or amount of time estimated to complete is not enough.

So that's that's, what's going on over there. If anyone else had like weaknesses, a para that they've come across, I'll just leave room for one more response. Yes. Nope. Okay, parents. Perfect. I am interested in the other questions, the other formulations of para.

Q&A: Broken Links in Notion [00:19:16]

I'm going to go to Juliana now who also has her hand raised Hey, hi.

Speaker4: [00:19:20] Right. So, it's a question about archiving things. I started setting up my bearer and I already have I already have a task management system, so I have a database with the tasks and I started to another database with the projects and another for the areas and another for the resource.

And I, I thought it was a great idea because I could Link all the stuff and make relations like in the database, but I'm having difficult. I, sorry about my English. I am, I'm having a hard time to archiving these things because when I try to move to another archive database, I lost, I lose the relations.

swyx: [00:20:13] Oh, okay. Got it. So I don't

Speaker4: [00:20:16] know if somebody has the same problem and could help me. And

swyx: [00:20:21] and yeah, I think that's it.

Great question. I have no idea how to answer this. Cause I don't have a solution for that as well. Christopher Horn says I created a page and I'm city and that collects all open tasks into one master page.

I put it into a template for my daily planning notes. Joshua says filter status of archive works. Okay. So you add a filter status, Juliana, like basically add a filter.

Nope. That could work.

Speaker4: [00:20:44] Yeah. I filter the task in dance, but like, the projects in the areas, maybe like putting a filter might be good.

swyx: [00:20:54] Yeah.

Speaker4: [00:20:55] But then I wouldn't, well, I C I can create another view of the database and just filter with the archive.

swyx: [00:21:04] Okay. Joshua. Yeah ductal Joshua is sharing what what works for him? Yeah, we do use views at work for what it's worth notion is our project management too. I work as well. So yes. Music grief for that. Correct. Yeah. In terms of breaking relations I don't actually know how to fix that. If you move stuff around, I don't move stuff enough to, to answer that I do like duplication. So I'd rather copy and paste that link. But that's just me. I know that people like to link back and forth when stuff I think the backlink functionality in notion is pretty good. So if this is if broken links is something that you care about then having that, this is a new, basically the wrong column of notion you can establish back things and if you move stuff around, I think this was, this will be always correct, because the identified based on the IP of the document is structured within the note taking system.

Yeah. Joshua says I like to avoid databases and just link pages with linking instead. Yeah. Which means he can move it without them breaking. So maybe just don't use linking or use backlinking. That seems to be the answer. Filters are really good for what it's worth Joseph.

I don't actually recommend using notion is like a read later app. So I noticed that Joseph says that he has a reading list in notion. I actually use, you can use instead of paper you can use. So I have up next, this is what I have , I'll just add it to up next and then I'll read it on my iPad. But you can use Instapaper, you can use some sort of meet data. Okay. All right. Joshua has book notes. All right.

All right. So Juliana hopefully that was good. I don't think it was like a perfect answer, but maybe notion wasn't really designed for that. Definitely try to make more robust things that won't break.

Q&A: Automation with Zapier [00:22:34]

All right. We'll take one more question. Thank you. Take one more question. Cameron has has an interesting one. What kind of workflow automations do you use with if this, then that Zapier? So this is about automations.

Kevin says I created a zap so that every time I create a new notebook, it creates a new folder on Dropbox that you drive. That's pretty handy. That's more backup. Yanni says I use, I have TTT for Evernote Instapaper pocket highlight evernotes goes to Evernote.

Yep.

They are all going under inbox folder for me. Maria says Google calendar to notion database with Zapier. Wow. Okay. Why Google calendar like tweets the notion.

Wow. Okay. This is really good. I think this Lightspeed's emotion thing. That's a good idea. Cause there's it's not intuitive to search your own. The tweets that you've liked before. So having the automation makes sense. The calendar one makes is unusual.

SMART Goals [00:23:25]

Alright, I probably missed some questions on the way. So I'm gonna leave those to the end, but I'm gonna go into some of the unique content that I think about we've covered some of these areas.

I'm going to go into a little bit about some other thoughts that I've had personally, as part of this BSB journey.

There's probably one other. Weakness, maybe at the power content that we talked about this week is that we talk a little bit about goals, but we didn't define goals, right?

Like we talked about where is it in here? We said PA already, there's no G here. And jeez are very important for projects this and we didn't really talk that much about what a good goal is.

So I think this framework, which I use, you can't go very far into, in productivity canon without coming across smart is a good idea for thinking about your goals.

Does is it specific, measurable, attainable, realistic, and time bound? Timeline is obviously the deadline thing, but the other elements very helpful as well.

I think the measurable ones. Yeah.

A lot of goals are binary. So did you do it or not? So in that case, it's a very, it's very simple measurement. And I think the other one is attainable that people really should think about like is if the goal is too big, then it doesn't feel attainable.

It's gotta be something that's within reach. So I think a lot of goal setting, a lot of smart goal setting is really just narrowing down the size of your ambitions.

If you want to do something perfect, or if you want to do some huge, impressive thing you may not have built up the muscle to do that yet. You might need to break it down into something smaller and just make smaller goals along the way to that big goal.

Okay.

That was the first thing that I have planned.

Denormalizing Notes [00:25:01]

The second is for a little bit of the developers in the room, because I like these analogies.

There's an idea of normalized schema versus de-normalized schema.

Normalize is where you split everything into this most atomic categories where you can think things back and forth without knowing what, how are you going to need them ahead of time?

Denormalize is where you put everything in a single object where you know, you're going to need it together. So the, my assertion is that projects are essentially de normalize and areas of resources or not. And so you want to break stuff down into the six areas, whereas projects you often are bringing together content from a few different areas of resources and synthesizing them in a special way.

That's the idea about thinking about projects and I do encourage actually just copying and pasting. Like if you have, if you come across something useful, some piece of content, that's some thought that's really useful.

You can just paste it in areas and paste it in projects. So I do like the idea that you don't follow this strict idea of like. One thing goes in one place. I do a lot of double pasting of stuff and that's just intentional denormalization and the way that I approach this is what I call MES on plots writing.

Like you want to place everything that you're going to write about ahead of time in, in a place that you're going to use them. And this is independent of the areas of resources where you're collecting them. So that when it comes time to write, you're only right. So all this happens, asynchronously serendipitously as a pre-writing phase.

And then when you're writing, you're just sitting down and focusing on converting all of this pre work into the final finished product. That's I think, a sustainable way to essentially reduce the amount of time that you spend researching and ideating and looking at the right references.

Oh wait. Okay. I do have a, do you have a response there from Christopher Horn, another interesting feature to add to the ethnicity debate? Do you normalization? Yep. Okay. Yep. Great. So I'm going to drop a link to this doc for people who this is specifically for people who write a blog posts, as well as books, I'm going to show you a little bit about when I say I do this, I really take it to heart. This is the, this is how I wrote my book for my BSB sort of capsule last year.

I planned out all the chapters that I was going to write originally, all of these things were white. And then I just slowly converted them into blue links, one by one, but each of these linked to the issue where I just slotted ahead of time.

The ideas and the resources that I wanted to talk about. So that when I felt that I had, I was ready to compile all these things. I started from a good base of these are the points I wanted to touch on that I spent, three months thinking about and collecting.

But everything was in its place. When I finally wrote the final chapter and this is me writing it.

And that's something I encourage people especially people who are planning big books. If you're working on, for me, I was working at 40 chapters simultaneously to really think about just slotting everything in its place and having like a measle class attitude to writing.

So obviously this works for a book, but you can also think about it as working for a blog where I'm working on simultaneously. 20 different vocals ideas and you should have some amount of idea of velocity where you're thinking of all of these things at the same time.

So yeah. I encourage you to try to denormalize for action, at the end of the day, you want to try to produce output and then you're trying to normalize for resources.

When it goes to resources, I'm just loving it. I've been here and you can do it twice. It's fine. There's no perfect system. If you figured out a way to automate it, Great for you. I haven't got there yet because I'm so pretty and so busy and focused on producing.

Open Source Knowledge [00:28:27]

So let's talk about source knowledge.

So this is another developer analogy again if you're not familiar with open source knowledge, just think about. The old school, one encyclopedias versus Wikipedia and how Wikipedia completely destroyed encyclopedias because it was collaborative.

The assertion here is that resources should be, open-sourced like everything else in para can be close, can be closed, can be private, but there's no reason why resources themselves should not be shared because as long as someone can benefit from it, then you essentially, when a friend while you're sleeping, if you just share it and if people can contribute and that's the open source nature of it then you really benefit because they help to correct you or they help to ask the question or they actually just give you extra things that you may not have known about.

So I really liked that. I do have a talk on this copy open source knowledge doc.

I really should have edit the link open source knowledge, right? I I'm just gonna give you the slides.

That's my slides for open source knowledge. But yeah, I think when you combine para with learning in public, it becomes extremely powerful for building a brand as well as you are a network facing time.

Brag Documents [00:29:28]

Something that was briefly, very briefly mentioned in Tiago is lecture, which I think is super underrated, is this idea of a brag document. So let me see where he talks about it. So here doing during this is during one of the lectures that he had, and you can see, this is my own notes. I'm going through the course with you.

During one of the lectures he had this idea that this comparison between projects was serious and you talk, and he talks about why you need to connect projects to goals. So there are three reasons why you need to collect the goals. You need to know the extent of the commitments need to connect current work to your long-term goals.

But then the last part, you also need to know if you're making progress towards your goal. This is something which I think is understated in terms of para, which is at the end of your project,

you should. Not just wipe it off, but actually stick it somewhere in a brag document, in a materialized view of the things that you've done this year.

And so that you can actually review it because you're not going to, it's hard for you to remember them sometimes. And and especially at work, it's really helpful for a peer reviews and promotion packets and stuff like that. Even for the psychological pick me up, I think it's very helpful.

And personally, in, when I work a stack is actually a stack is actually a really good channel like a prototype channel for bank documents. So it might have a sectional with only me in it. And I just post in that channel whenever I've finished something that I probably know, I want to review in my like three 60 feedback session, if you want to brag about yourself you need to be the best bragger of yourself because the one else is going to do that for you.

Okay.

Just Do It [00:30:57]

Glen, I'm going to get to your question a little bit cause we have one more slide left and that is insert generic motivation. Just I think ship Ira Glass, the gap video is also pretty common. Like this idea that you need to just do it more, right?

All this there's all this theory.

There's all these Images and advice. You just need to do it more like this parable of the pottery class as well, because something that people say a lot and I've referred to it as well, as far as I can tell it never actually happened. So it's literally a parable or a fable. But anyway just do it right.

And that's a recap of the kind of stuff that we covered in the extra content section of this talk.

So I'm going to head over to questions and discussion. We have a few I did have someone raised their hands, so now's a good time to raise your hands for some chat.

I'm going to answer things in reverse order so that I can keep on top of things.

Q&A: How do you share in public? [00:31:45]

Glenn G says. Could you show how you share your resources in public? Was it making your notion public and people can contribute to it? Or how does the contributing part work? Okay. So notion is not very conducive to public collaboration because I think it will be a mess if people can randomly rearrange stuff.

But yeah, these are my notions and then I'll just share it in public. So you can, you're welcome to see my BWS bullshit. But for collaborative stuff, nothing's better for developers than get help. Right. So here is my launch cheat sheet. So when I launched my book I took my notes as a resource and I just posted it all up. And so you can see, I didn't have that many contributors, but the people who did actually volunteered information and for, and now whenever I need to launch my next thing, I have this resource available so that people can find it. So, Hey, I need to do it endorsements and testimonials.

These are all the notes that I've taken for myself. And it's useful for other people, like so far. 500 people have started on GitHub. So probably more people have seen that. And it's also a nice way to promote my own book. So it's a very useful thing. I do this a lot. If you go to my GitHub profile, you see that the extent to which I have bought into this idea that you should open source your resources.

So I have done a launch cheat sheet, a CLI cheat sheet podcasts. This, these are design resources. So here are my design resources. This is the biggest one. 5,000 people that start this. And it's just got things I use. So if you want to reference and typography I can pick my fonts in a way that has been pre-vetted by people I trust because I don't know anything about design, but I can, I can look like I know by stealing from other people I can steal code.

So here's a fun loading strategy that some expert has approved. So I'm just going to steal that. It's essentially a swipe file and it's open source. So people contribute. So I had 32 contributors so far, and yeah, it's just a really great way to have your resources open. So the work you're doing anyway helps to benefit you professionally.

I like it a lot. There's this concept that comes to mind call it the friend catcher, which isn't my idea, but I didn't, I do have the reigning Google search on it. Think.

Yeah, I had number one to Google for that. So this idea that you should make friends online, what you seek by, by sharing these resources.

So para are in Paris, extremely soul, super powerfully. We just keep it up and make it useful. Put a little bit of design on it. It's great. So highly recommend. Okay. Do you want to brag about myself too much?

Peter brace

Q&A: Atomicity/Denormalization [00:34:02]

okay. Christopher Horn, let's go.

Speaker1: [00:34:04] Okay, there we go. I'm sorry. Head down mute. My question is going back to that French term that I am not going to try to say that ends in the word place. I think. So we have two concepts that I, in my fevered brainer intention. One is the notion of normalization and de normalization. The other is that French term.

And I guess what I struggle with and is if I am pursuing a philosophy of atomicity, which is to say that, where I fall on the normalization versus denormalization the reason that one of the reasons I'm doing it is because there are ideas or concepts in my second brain that are not going to feed just one project, but might feed many projects.

And instead of pulling them all into one place and associating them with one activity, I might need to refer to them from two different directions at once. Does that make sense?

swyx: [00:34:51] Okay. So what's the question.

How do you reconcile that tension? So

Speaker1: [00:34:55] it feels like what I understood you to say was you pull all the resources into one place and you dedicate it to one task.

And I'm just trying to reconcile that with my notion that there might be multiple tasks that need or projects that need to draw from the same

swyx: [00:35:08] artifacts, if you will.

Yeah. So that's what I was saying. Like I do the lowest tech. Thing possible, which is I just, I double paste I'll, I'll copy it out into the other place, needs it. But if you are a little bit more sophisticated, you can use the linking, you can use the Rome style of the cake to irrigate. Are you familiar with those?

I

Speaker1: [00:35:30] am. Yeah. It's just a matter of, are you tolerating redundancy or are you just going to handle it by

reference

swyx: [00:35:36] only, right? Yeah. Yeah. So people are really like starts.

I find them in practice, not that useful because they're just pretty.

Anything that's great for ultimately I tell you what's the best thing to link to a public URL that you've blocked, right? Like last week, we talked about the three strikes rule.

If you reference an idea for multiple times, don't keep it to yourself, just put it on your blog and then link to that. Fair enough. That's a good, I that's a good note. Yeah.

And, just break down that idea that you're your, everything you blog has to be as like big thought leading piece or anything.

It used to be a resource. Okay. We had some other questions. Julian had a really interesting one that I want to address. Would you recommend using GitHub for open source knowledge that is not coding related?

So get helps really good because it has a really good collaboration model, but it might not be accessible for people who are not technical Google docs.

So this guy frameworks, the 0.1. So they have that, oh my God, this guy does such a good job. I'm gonna read this to you because it's so true. I realized that the main reason I don't publish as much content online is that I prefer to Erie my thinking continuously making your part to publish something extraordinarily high we'll work around a shipping, an alpha version of a thought.

And then blah, blah, blah. He published his work in progress, thoughts as a Google doc. And of course he never actually published the final document. Like that's how it's helped people are with their thinking.

But a lot of discussion happens. There you go. Okay. Yeah. There's so much discussion here. When you can write your, you can write what you're thinking or researching and you let people comment and that's a really nice way to open-source it as well. Some collaborative thing like that, it can be useful to a lot of people. Cause this one went viral, look at them on a discussion it's still ongoing, and yeah, it's a really great tool and actually you should use this more.

It's so simple. Everyone has access to Google docs. So there may be other tools, I think there are there like collaborative notepads that are out there that I've used no pads. I forget the name of them though. Deep note, no bureaucratic, no joy. There are a bunch of these that, that you could try using, but there's, they're just like startups, they're less reliable because they might go away some time. So, yeah, you don't have to use GitHub.

Q&A: Why Notion? [00:37:33]

Okay. We have a question from Probita. Hey.

Speaker3: [00:37:35] Hi, John. Thanks. Fantastic succession. So, just a couple of quick questions, if you don't mind starting with a comment I think you do speak very well.

You have clarity of thoughts and a it, it like the sort of the wisdom and the knowledge that you applied comes out very easily. So thank you for that. I think I I might've picked up that you took the course last year. Is that right? Yeah. Right. So were you already using notion at the time, or did you, were you in between a couple of programs and then you decided to work with

swyx: [00:38:06] notion? I was even worse than that. I was using one note going in and then I switched halfway in the middle because I got frustrated with one notes and then I saw that most people using notion. So I jumped on a notion bandwagon.

Speaker3: [00:38:17] Yeah, yeah. Right now I'm using Evernote, but I'm just wondering if, for folks who are more tech oriented or tech savvy, it's easier to establish themselves in notion, but that's something for me to just try that out and figure it out.

Q&A: Book writing? [00:38:28]

But a related question the book that you have published, which looks great. So I will check it out. Is that like the writing of it? Did you use notion for that? For most of

swyx: [00:38:38] it. I used GitHub, like I just showed you, I showed you the process. I don't know if you were here for that. So this is for version two of that. I'm hoping to publish mix in

July. But yeah, I use GitHub to draft. I had reviewers come in and these are my editors that came in and gave me comments. So this guy, I paid him to edit my work and he submitted and get up, Salesforce is great. It's a great experience.

But like, drafting, I think you can pull in your ideas wherever I just happened to use GitHub. Like the tool doesn't matter to me, just so much as like the process. Right.

I did use typable I forget the name of it. Basically. There's a better markdown drafts app. So the motion does export markdowns. And I do use markdown to publish, but it doesn't have I don't like the way it edit stuff.

So I needed a simpler interface and Typora. That's the tools use pepper. This is a free open source tool. That just gives you marked down and is not as complex as notion. It only does marco. So no, no fancy blocks. When you slash it, doesn't try to search your whole database for you.

It just doesn't work out and it presents it nicely. So that's a really good writing app. I think anything that distracts you from the act of writing can be a negative sometimes. So I used that poorer, if you want to try and check it out.

Speaker3: [00:39:47] Yeah. Fantastic. Thank you. Yeah, it sounds like you're just All these tools that you apply them greatly, or you have applied them in the past and you just have a great wealth of information.

So think thanks

swyx: [00:39:57] for sharing. This is also by the way you can use GitHub projects for people with developers. Like this is literally my launch plan T 14 T minus 14, all the way to T minus one. He has, I hope ended up, whatever tool you can get pretty creative. And I find that my brain doesn't require one tool to rule them all.

So I can segment by like, okay, I'm working on book, totally different set of tools than like regular knowledge ingestion and someone that works with me. If you're okay with that, okay.

First Wrapup [00:40:23]

Thanks, Maria. I want to acknowledge Maria for swinging by the mentor sessions here have always had like this. Do of support and I just want to acknowledge, thank you so much, Marina for swinging by to help out.

Okay. All right. I think we're over time. So that's it, as far as the present, the pre-prepared questions have our concerns. You're welcome to email me@swyxandsix.io. That's my email if you're not comfortable asking questions here or you think of them later on. Email me here and I'll see you here again next week.

And yeah, that's it next week is C O D distill. So we're going to go into distilling and I really like the progressive summarization idea, I don't necessarily do all the steps by I'm a fan. I'm a fan of Reviewing multiple times so that you really get to the gist of of a piece that you're writing about.

I'll give you one example of that. So this is going to look super overwhelming to you. So please don't feel like you need to do this.

I did have an example of people always think about this quality versus consistency. Trade-off of Hey, I want to produce, but do I produce on a regular schedule and trade-offs and quality, or do I infinite highest quality thing I can do and maybe not be so consistent with what I do. And so I've been, I actually collected three different podcasts clips from audio doll. My audio doll from Tim urban and then from James, Claire over here and I synthesize them into this blog post. And that actually did very well for me. I think the, the post that I had by the way, this is a really cool extension.

If you work a lot with Twitter, I do use Twitter as my second Brain sometimes. I think this post did really well, just because of the number of people that picked it up independently.

You're doing the work by summarizing and synthesizing and comparing, right? So, I was able to find someone who stood out for consistency and made that case.

I was able to find someone that stood up for quality of me, that case. And then I just put together that debate and then offered some solutions to it by synthesizing different resources together. And distilling is a key part of that work. So that's what we're going to cover next week.

Speaker3: [00:42:10] Okay. Thanks Shawn.

Just if you don't mind, three quick questions sorry. I did miss your introductory session last week. So, Shawn Wang, of course, that makes sense doubly or rather why X, what does that stand for?

swyx: [00:42:21] That's my English and Chinese initial sec. SW was English and NYX is Chinese. And I don't bother to tell people what the wax is because they're not going to remember.

Yeah.

Q&A: Twitter Links Extension [00:42:30]

Speaker3: [00:42:30] Okay. And then this Twitter extension that you just mentioned with the design,

swyx: [00:42:34] So this is a unpublished Chrome extension, just from a friend who wrote this, essentially, whenever you go to some somebody's site, if you want to see the metal layer discussion around this, here's the blog post that I wrote about that.

Let's say that's what you want to find the power of blog posts whenever you're like, okay, I read this, I want to discuss it with people.

Who've also read the thing what do you do? Right. You drop it in a Slack, you drop in a discord or something. And then people who have also read it. But what's better is you can actually just say like, okay, I'm going to click this Twitter links thing and just plug into the stream of people who talk about this stuff.

So Joel talked about it. So Shawn talks about it and then you can respond directly to them.

But you can see like the disagreements or you can post about it. Yeah. I don't know. I think it's, it's very useful for, and this is me talking about it.

Yeah. I think it's helpful. You can also do this on hacker news.

I just like plugging into the commentary layer because it opens your mind as to if people strongly disagree, if people like, have extra points that they want to make.

I think Twitter is a meta commentary. Raider is a very interesting idea.

Q&A: Chrome Extensions [00:43:33]

Speaker3: [00:43:33] okay. So because the topic of extension has come up and I've been meaning to find the right opportunity to ask this to someone A lot of people use the Evernote clipper and similar extensions. And when you try install them, be it on Firefox or Chrome, it does ask for permission. And part of the permission is that it, it can have access to all your websites and whatnot.

And I'm not necessarily big on confidentiality or whatever security, but at the same time it does yeah. For data for all websites. So is that something that that's just standard or like, do you have any thoughts on that as a tech person?

swyx: [00:44:15] Yeah. Unfortunately it's pretty standard people and, and this may be a slightly alarmist, but at the end of the day, you just do have to trust them. The trust model for Chrome extensions is just that broken.

You just have to trust the publisher. If you don't trust them, then don't install it because they can for example, you can look safe at a time of publishing and then you install it and then they can secretly update it.

And they might get you that way. So you just have to trust that the, they won't ever abuse that.

Q&A: How do you balance research and writing? [00:44:39]

Speaker2: [00:44:39] Awesome. So just question around, I really do appreciate the idea of set your focus, your focus on creation. I think that's what the whole point of the second brain. Now the question comes down is how do you eat? I just curious about your personal experience, last preference.

How do you balance research and value creation in terms of time and energy perspective? So I do, for instance, when you were making a blog paused. Yes. There's a creation for sure, but definitely there's some, a lot of research going on. It can be the pre-writing work. I wondering how you balance that activities.

swyx: [00:45:15] Oh, okay. That makes sense. Yeah, of course. The research is just always ongoing in the back of my head which is why I have this idea of pre-writing right. This is passive. This is just a background process. It's always happening. And whenever it's something relevant comes up to a top favorite problem or a project that I'm working on, then I'll just slide it right into there.

I'll find I'll pause what I'm doing and just go add that piece of information. So research the passive for me. And then when I make time to write, which is often like, probably a Saturday when it, like I have like three, four hours open. I think I'm trying to move to one hour a day before work.

I think that'd be a really good model for me, but just quite honestly, I don't do that right now. But you should have everything in place. So David Perellcalls this start from abundance or write from abundance.

I don't really like the way you phrase this.

Okay. Yeah. Start with abundance. There we go. How to cure it, write it, write this book. There we go. All right.

So , you can take his word for it, but essentially you just have the research as a background process. And then when you write, just write you can of course, improvise and research here.

But if you do too much of that, then you will not ended up publishing, so I totally get it. Yeah. I do have the same process by the way. When you publish, because it's a digital document digital garden terms of service. So I have this idea of a digital gardens. So it's like when you publish you, can you have the right to be, to update it as you go along.

Right? So as long as you as a contract, if you're with your with your readers is very clear, then people won't expect you to be complete and you're not promising to be complete. You can even insert disclaimers. So I've been starting to insert disclaimers as well. So for example, stuff like here, I think I have the disclaimer here.

So you can have like this where you can say like, blah, blah, blah, I'm gonna, I'm gonna come back from it. It's not fully formed yet. Devon Zuegel has this idea of epistemic origin.

So she'll tell you a friend, the kind of work that she put into the post, is it high? Is it high confidence?

Is this a high confidence post or is it just the theory? This episode, you guys, and then the amount of effort that was put into it, is this just a random thought or is this like the result with three years of research? And that sets the tone for people. So they don't get upset, especially if you have a lot of readers, they're like fuck you.

Like you're an expert. And you didn't consider all these concepts and you should be open about that. I just, I don't like the word epistemic, cause it sounds very pretentious. So I just simplified it disclosure. When I tried to make that a thing.

Yeah.

Q&A: Converting Resources to Projects [00:47:37]

Speaker2: [00:47:37] Thank you. Just one last follow up question. So I'm trying to map that blogging whole process to the para modal. So for instance, that the older passive activity going over research, I can see based on my knowledge, you go, we'll go to the resources. But when that let's say that content for specific blog pause is filled like ready for 80% that I think I can, I can see that I can convert that blog post for that particular topic to a project.

Is it how you also organize it? I see. Okay. Sounds good.

Speaker3: [00:48:06] Thank you very much.

swyx: [00:48:07] Yeah, no worries. I have another thing which I, after you publish this, a really interesting conversation you can have with your readers is you should not think about it as like a one to many thing. It should be like a back and forth.

So I call this annealing — I almost included this in my slides, but I didn't. But essentially like when you image three, go.

Okay. So when you have the idea for posts, right? You're like researching, researching, researching, like accumulating knowledge stuff like that. And then towards the end, when you're ready to write, you'd just do the sprint of writing.

And then you have this draft.

Maybe you have a group of friends that are peer reviewing. So you're workshopping this idea and I have a separate post on that. And then you publish, but right after you publish, you have a bunch of public feedback and you can actually have a conversation with them. And your posts continues to have increasing quality because you have a conversation with readers, gives people an incentive to respond to you quickly because there'll be shot at there'll be mentioned.

This one, I didn't have it, but people mentioned, I, I shut people out one day when to respond.

Yeah, it's just a really good model of of don't think about it as a single game. There's multiple stages that it's okay.

All right. Thanks, Danny.

Yeah. I'll take one more question.

Q&A: Video/Audio Capture [00:49:11]

Sam Wong question for Sam Wong. I do a lot of YouTube on iPad and have taken screen capture.

Is there a method to sort them into different projects in areas? Every ? I have no idea. YouTube and iPad and screen captures.

Who does, if it is video, any ones?

I don't really, I take, I think a timestamp. So yeah.

Does anyone have thoughts on YouTube or iPad screen captures like part of the

I'm sure. Toolkit. Yeah. Part of the capture toolkit, one of the six is audio and video transcription.

I just haven't had, I haven't cracked it.

Yeah. So part of your toolkit is audio video transcription.

And I only do audio I don't do video, so yeah, I'm not sure. I'm not sure what this tools are, but you can check out the tools that people are using here.

Sonic study, I guess. I don't know. I haven't tried. I haven't tried these notion YouTube.

Yeah. I do a lot of timestamps, so these are my podcast notes, I'll do here's the, what I want to feature. And the it's 36 minutes in that's essentially the extent of work that I do.

Probably no thinking it's really crappy, but at the same time, I'm going to minimalist in the way that I do this stuff. Yeah, right. Thanks that. Okay. Well, I think that's it. I don't see any other hands up

and we've gone over time, so you're welcome to ask me questions through email again, if I can find it a success six, that IO and if not, we'll meet again next week and talk about distilling. So thanks.

Thank you. hang around say hi to people. We'll say, bye.

Thanks Dennis. Thanks for all the questions, everyone. It really helps to make this not a monologue.

Q&A: Speaking [00:50:39]

Speaker3: [00:50:39] I'll just say all those speaking gigs that you do, it definitely shows in your presentation.

So you do quite well

swyx: [00:50:47] trying to do more. Yeah, this is so for those who are speakers, this is what happens when you have this extra speaking schedule and no time to update them. So these are, you said the talks that I do.

So these are all my talks, but I haven't updated them since december. And these are all the talks I haven't added yet. God. Yeah, I need to, I need to go make myself, I

don't, I know I didn't, I need to update my own documentation, but yeah, if you want to do something well, do it a lot and I don't think I do it very well. I have a little bit I speak at it roughly about 10 times. A minute and that's not very good. I think so.

Speaker3: [00:51:28] Yeah. No, I think your sort of weapon is what'd you

swyx: [00:51:32] mean college

quantity?

Yes, exactly.

Speaker3: [00:51:38] I was just going to say while the EMEA, so I think you be at writing or be at speaking. I, I feel like that's how you're going about things and the more you do it, the better you get just your, your you're finding the time to do everything, or that's just the discipline that you've developed over the years, but it's,

swyx: [00:51:54] it's pretty good.

Cool. It's funny. Cause you can think about it as

discipline, but you can also think about it as just. Being less perfectionist, right? Like I'm just lowering the bar on what I do in order to do more of it. And I think he also noticed when you have speakers where you didn't think about

speakers

well there two things.

So one is when you think about the greatest features in the world,

the Steve jobs and they have very pre prepared speeches, but then when they speak off the cuff, they have all the ums and AHS, they have the false starts and rambling around random rambles. So you don't have to be the best speaker in the world, but you can, you just have to be functional.

You can get a message across, you can think while you talk. So you can plan ahead what you're about to say.

And the other point I was going to make is that writing helps you speak better because it helps you rehearse things and be heard as the freezing and think of what structure. I have this quote in my writing chapter about, again, I'm not going to look it up right now, but when you write, when you have written down something and then you speak about the leader, whether it's a conference talk or workshop, or like a podcast, or just a regular one-on-one chat you sound smarter because you've written about it.

So you should write more and you will magically become a better speaker. That makes

Q&A: Writing My Book [00:52:58]

Speaker3: [00:52:58] sense. What when did you have the thought of writing a book on the specific topic that you have written on the coding manual or whatever manual it is like, when did that sort of come

swyx: [00:53:08] up?

I have an exact date sorry.

So you can see how often I use Twitter as my second break.

So, Daniel was a friend now tweeted this if you're tempted by this. So, so Nevada tweeted this, I, there's never been a better time to launch a digital product. This is April last year, which is like the depth of the recession.

Right. And then you were like, and this guy, this advice was like create a small product, something you can finish in two weeks and charge $10 for it. So I decided that I was going to do that. I think I did it here. Hmm. I don't know. I don't know where I actually quoted it, but essentially I have, that's the exact date that I started April 10th, 20, 20, 20. I decided that I was going to launch this, this book and then it just carried on from there. And originally was going to, it was going to try to finish it in two weeks, like you said.

And it blossom into two months because I found that I had so much content to share. So, books, I hear that it tends to happen to books because people, especially when they're first time authors want to squeeze everything in. I think for, for second and third books, you tend to try to focus in a bit more because you realize that no, one's going to finish the book.

If it's a tall, like my, I think my things that stands at about like 500 something pages right now,

Speaker3: [00:54:08] now. Great work. Great, Rick. Thank you.

swyx: [00:54:10] Fantastic. I want to say

Speaker5: [00:54:15] as a senior developer, I read your book. And I found that it was like very well-resourced it was the resources that like, you were quoting people like John Cutler or people that are like, I don't know, I've been doing it for five years. And I was like, wow, this is already what I'm currently reading at the moment. So

swyx: [00:54:32] yeah. There's no manual for that, I really think that we should have a manual and I guess this is my attempt, right?

So yeah, the bibliography people people really liked it. So I tried to condense it into like, this is a reading this for everyone entering this industry, and it's 69 pages long. Nice. Yeah, people should I dunno,

when you enter an industry, nobody like sits you down and goes like, okay, here's the deal you were talking about. Here's everything else. I have a CS

Speaker5: [00:55:01] degree and they can say, okay, I know how to, what a binary tree is, but then you're like, okay, actually what you have to do is you have to take this one website and you need to change it from cookies to JWT or something. And also you need to do it. And I like the day to day is so different.

swyx: [00:55:18] It is totally. Yes. Well, thanks. Thanks for talking about sharing about your experience. I really like that. I think great. I I've, I've dragged this on longer than I should, but thanks everyone for joining, and I know it's a precious part of your weekend, but we'll see each other next week. Bye.

View Details

  • Audio Sources:
    • Byron Chambers (Mr Talkbox) sample https://www.youtube.com/watch?v=WOL1owQq4oc
    • Lorenz Rhode - How to Talkbox
    • Scary Pockets - Harder, Better, Faster, Stronger
  • Wikipedia on Talk boxes

View Details

Audio source: https://www.listennotes.com/podcasts/village-globals/the-state-and-future-of-KNpTy90h4XI/ 40 mins in

A 2019 recap of devtools investment theses, by two of the most prominent up and coming devtools founders.

  • What hackers play with during weekends will become the things we use at work tomorrow
  • Reducing Time to Code
       - TabNine (i tried it recently and quite like it, it just saves keystrokes, end of story)
       - Kite.ai
  • Level 1/2/3 platforms - Marc Andreesen
  • Netlify, Zeit, Dev.to

View Details

Audio source: https://art19.com/shows/the-founders-journal/episodes/a77afe33-236f-44b6-a2e8-55b6ff5c8e02

Ben Thompson's own writing on Aggregation Theory

Transcript

swyx: [00:00:00] I generally think that Ben Thompson's aggregation theory is the most important tech strategy concept of our time. It explains a lot. But Ben Thompson himself doesn't really have a good explainer on his own site. So I really appreciated this. Summary by Alex Lieberman of aggregation theory. I thought it was the clearest explainer, with some examples, that I've ever heard. So enjoy.

Alex Lieberman: [00:00:23] Aggregation theory says that some of the most dominant companies in the world became dominant by doing three things.

First, they have a direct relationship with their customer.

Two, there is zero marginal cost to serve their customer

and three, they have network effects.

I'm going to unpack each of these qualities.

Own The Relationship [00:00:43]

The first quality that I mentioned was having a direct relationship with the user.

Google is the most trafficked site on planet earth. There are 63,000 searches that happen every second on the site. By the end of this episode, there will have been 50 million searches that happen on the platform. Since you started listening. Google's power is in its relationship with you.

The user, when you search something on Google, you are Google's customer. You're not the customer of the website that you end up going to Google captures your data. They monetize you. They recommend the most relevant content for you to click on. And Google is the website that you go to when you want to find an answer.

And so just so you have a comparison around like what it looks like to own your relationship versus not own it take most retail companies that sell through brick and mortar, which many of them do? So let's say you're Patagonia and let's say you sell pullovers through Bloomingdale's. You don't own the customer relationship as Patagonia Bloomingdale's does.

Bloomingdale's has your information as the customer. They know what you bought and they can market to you moving forward, because they have things like your email address or your credit card information beyond getting the sale. If you're Patagonia, you haven't learned anything about your customer.

That's the first characteristic of aggregators. You own the user relationship.

Zero Marginal Cost [00:02:08]

Now, number two, the second relationship of aggregators is that there is zero marginal cost for serving users. Let me explain what that means. If you're an aggregator, you don't incur any of the marginal costs that most businesses have to.

So take Airbnb. All Airbnb does is provide a great user experience for the customer or the renter to find homes or apartments for rental Airbnb. Doesn't have to worry about the normal costs that most businesses do in serving their customers, because they're not the supplier of the product. There's no such thing as cost of goods sold for Airbnb because they are simply aggregating supply or homes or apartments.

And they're playing matchmaker for demand, which are the people who want to. Rent homes or apartments, whereas let's say your t-shirt business, you have to incur the cost of each additional t-shirt to serve each customer. Airbnb doesn't have any marginal costs for adding another customer on the platform, because if someone decides to find a place to stay on their platform, Airbnb isn't paying for it.

They're simply just connecting that person with the home or the apartment that they were looking for. On top of that, Airbnb also doesn't have to deal with distribution costs because their business exists on the internet. Unlike say a fulfillment based business like Amazon, which literally has to ship physical goods everywhere across the world.

Airbnb is built on the internet and the internet has made delivering goods. Zero cost. That's the second quality of aggregators.

Network Effects [00:03:41]

The third and final characteristic of an aggregator are network effects. Basically all that, this means is an aggregator gets more valuable over time for the user and aggregators. Find that the cost of acquiring new customers goes down over time as well, which is completely opposite from what most businesses experience for most businesses.

When you start your company, when you achieve product market fit, your initial customers are generally your most passionate, your most loyal and your perfect fit customers. As you grow your company, you find that the quality of your customer goes down because it isn't a perfect fit. Aggregators are different in that regard, it actually costs less to get good customers moving forward.

Whereas for normal businesses, as you expand, you have to pay more to convince. Less perfect customers to join your company or buy your product. What that also means is aggregators generally operate in a winner, take all fashion because it becomes increasingly difficult for any companies in the industry that an aggregator plays into compete at scale, if not only does the product get more valuable for users, but it also gets cheaper to acquire users.

View Details

What Antonio García Martínez actually wrote, and what happens when gonzo journalism meets 2021 tech culture (note: I am not defending him).

Audio source: https://www.youtube.com/watch?v=FDLBGriyky8 (45mins in)

  • Antonio García Martínez Wikipedia page
  • Hunter S Thompson Wikipedia page
  • Gonzo Journalism Wikipedia page

View Details

Audio source: https://www.youtube.com/watch?v=Jl2ciIU4Qm4 (30 mins in)

Blog version with better writeup: https://www.swyx.io/clones-fail

Reply via tweet!

Transcript:

Why Clones Fail

swyx: [00:00:00] Something I love collecting examples of is the Innovator's Dilemma, which was coined by Clayton Christensen in his book on the Innovator's Dilemma. He really demonstrates how successful outstanding companies can do everything right, and still lose their market leadership, or even fail as new unexpected competitors rise and take over the market.

And part of this thesis is basically that the incumbents company cannot clone the upstart for whatever reason.

And it's really amazing when you see someone that's so giant, that's so well-known, that has such great distribution, that has so much resources, be constitutionally unable to clone the small startup.

This is known as counter positioning, as promoted by Hamilton Helmer in his book on the seven powers. And you can hear it in this clip from the MKBHD podcast talking about the failure of YouTube Shorts.

Andrew Manganelli: [00:00:53] Shorts in general that are just a really great way of explaining how like YouTube launches, these new features, they fall flat. And then they're trying to find ways to get people to do them. And I think that all because of that, it boils down to like, why are these not working? People love YouTube, like, people made their whole lives on YouTube. I literally have a job because you have, but like, why are these main creators not doing these other things.

Marques Brownlee: [00:01:20] I think I can speak to that. I, so first of all, the, the creator funds though, he keeps seeing, it's like my favorite new trend. Yeah.

Andrew Manganelli: [00:01:27] Tick-tock one this week for tick docs.

Marques Brownlee: [00:01:29] Exactly the same thing. Yeah. It's because the platforms realize they not just want, but need creators on their platforms and making stuff to make them work that realization. Great.

Now YouTube shorts. And so the hesitation by a lot of YouTubers to dive into shorts is really interesting. I think a lot of the longer-term creators like me have a bit of an aversion to YouTube releasing new untested unproven features because they could possibly have adverse algorithmic effects, they could possibly get killed in six months and you will have just poured a bunch of resources and pivoted your channel down a path that ends up being a dead end road.

Yup. So the other end of that is. If the feature works, I think there are a lot of younger creators or more nimble creators who will just jump right in and do a bunch of shorts or do a bunch of those lasting YouTube stories. I think that's, might've been dead already, but I

Andrew Manganelli: [00:02:30] don't see anyone posts stories,

Marques Brownlee: [00:02:31] but they'll they'll once they mirrors.

The thing is they launch a feature like that and they have a whole plan behind it, backing it as if it's going to be the future of the platform. So when creators see that they'll go, oh, okay. I see that story is going to be a really big deal for YouTube, for the foreseeable future. Let me pivot hard and make sure that's a big part of my content strategy.

And then when it's dead in a year, you feel like you wasted a lot of time resources. You might've hired for it. Like that's a. That's a big loss. Like that's a big risk to take, but if it does explode and let's say shorts is, you know, this huge future category on YouTube, a lot of younger creators who got in early and focused really hard on that are going to be really happy about it.

So shorts is clearly a response to tick-tock. It's literally almost the same thing. Like you go into hit shorts on the YouTube app and it's this endless scrolling carousel of vertical videos. That's what you'd expect. The algorithm tries to learn you. But YouTube knows that it needs youTube shorts creators instead of just people uploading to Tik TOK, and then copying that file and also putting it on shorts.

Andrew Manganelli: [00:03:37] That's what they're doing. That's what they did on reels. Like that's most real is

Marques Brownlee: [00:03:41] literally like watermarked, tick tock. Like literally

Andrew Manganelli: [00:03:43] all of reels has the Tik TOK, like watermark and the name on it. And probably just using reels to find more people to go follow

Marques Brownlee: [00:03:50] it and tick tock. And they, they literally show up on my explore page.

Like, what is that? The gram is suggesting to me on my explore page, have tick tock, tick tock logos on it. That's

Andrew Manganelli: [00:03:59] really funny. And if anyone was going to do though a tick-tock competitor, it would be Instagram. It just makes the more sense. The demographic that is on Tik TOK is very, very active on Instagram.

And it's just that social media platform, that short form social media platform that it makes way more sense on. Yeah. And it's Tik TOK still blowing reels out of the water.

Marques Brownlee: [00:04:18] Yeah. Yeah. So YouTube, I mean, This is a smart move from YouTube. No doubt. Like they are the video home on the internet. And if you on YouTube and you see Tech-Talk a, another version of videos blowing up, of course you need to make a competitor for it to offer people on alternative and possibly they'll come to YouTube later.

The question is how do you get those creators to come to YouTube? Okay, well, we have a creator fund. We're going to start making it easy to monetize. Tik TOK is. Also still not easy to monetize. And they're also doing a creator fun thing, which is smart. But I think generally at the end of the day, the creators looking to make a job out of it are thinking about ease of monetization first.

Discoverability or right behind that. And YouTube is trying to lock both those things up and they all, they obviously have discoverability, but the tick-tock algorithm is something special. It just, just surfaces things you want to see. It's really good. So they have that to compete again.

Andrew Manganelli: [00:05:11] I do think though, there's the aspect that we touched on really at the beginning of that you touched on it really quickly.

It's just like you're talking about bringing new creators in. YouTube. Definitely also already houses some of the biggest creators in the world. And they definitely want those creators to use their new features because if those creators use their new features, that's still bringing more people in. And I think that's where you talk about the unknowingness of the algorithm really starts making those big creators weary of jumping into some of these new features.

We still don't use premieres. They've been around for a long time, because from what we found, have I explained this. I don't know if we have, we may have it just might as

Marques Brownlee: [00:05:51] well do a refresher. Yeah. So premiere is what happens with it. Premier is if you think of like a movie or like say a TV show where it premieres on TV, everyone watches it at once.

YouTube sees that on TV and goes, you know what? We're going to be. The video home with internet will offer something like that. So you can make a whole YouTube video. Upload it and then set it to premiere. So everyone watches it at the same time live. They can't fast forward. They're all watching it with you and there's a live chat and it's really cool.

And they obviously thought a lot about it. And theory is amazing. It's in theory, a great idea. What I noticed because I've stepped back and watched a bunch of premiers happen and saw what was going on with them. The. Impressions seem to plummet because of the first few minutes of the video going live.

Because when you think about it, when a video shows up in your sub box, a bunch of people all click on it at once and they all watch it. And then they leave. When a video is premiering, a bunch of people all click on the premiere. And for those first 15 minutes, however long, the video is they all watch the premiere.

Then when it's over, they leave, then it shows up in the sub box and I have no idea how they counted. Those live views typically seems pretty low to me. So I haven't, we did a premiere with the, was it the blind spot test? And I observed the same thing where like the first hour, it was 10 out of 10, like half the views of normal video.

And then it eventually caught up. But I see that and I'm like, I'm not going to keep doing this.

Andrew Manganelli: [00:07:16] Let me clarify. There you say 10 out of 10. If you don't know what we're talking about, that sounds amazing. We're saying, oh, the best hour or whatever are the best impressions for the last 10 videos. It was ranked 10 out of 10.

So yeah. The worst. It literally had the worst rating out of our last 10 videos

Marques Brownlee: [00:07:32] with like half the views of number nine. So it was pretty bad. So yeah, I see that kind of thing. And I'm like, well, once they figure that out, I'll do premiers again, but it's not really ready for me to keep diving in and positioning videos through that.

Same thing happens with like stories they did for a while. And now it's, I, I'm pretty sure it's dead.

Andrew Manganelli: [00:07:50] Yeah. I think it's still there, but no one uses it, but like, if we're talking about how. Something we like, understand what the algorithm, but don't totally this podcast right now is a great example because people might wonder why we made a podcast video channel and a podcast clips channel.

And if you look at a lot of other podcasts, they do the same. Joe Rogan, H three Lou later, they all have separate ones. And the theory behind it is that if you have long form content and you have shorter clips, the watched overall watch time on the channel is going to be all over the place.

Because if you have. 30 minutes of watch time on the long one and six minutes of watch time on the short one, it gets confused and has a hard time serving those videos. Yeah. So that's why we separate them. And because of that, unknowingness people are creating these different workarounds on YouTube.

And I think bringing that all back to now, shorts. Imagine being a channel like us, that creates generally 10 to 15 minute videos. Now putting a bunch of 60 second clips on where the watch time is 60 seconds. How is that going to affect our 15 minute video?

Not to mention that they're vertical, which we would never, ever, ever put on the channel.

Right?

Marques Brownlee: [00:08:58] Yeah, the answer probably is just. Separate shorts channel. I mean, we've seen that. Yeah. It's now you have a dedicated audience that is there for shorts and they will watch inconsistent watch time short videos. And if you do that on your separate shorts channel, yeah.

Andrew Manganelli: [00:09:14] I would consider that a fail for YouTube's marketing in the sense that they're hoping big creators bring this to their main audience for the minute you switch it to another audience, you're going to lose a giant portion of your already subscribers, because if they miss the announcement to like check out the shorts channel, They're never going to see it.

So now, like, as YouTube they've lost already, if that's yeah. What's happening. And

Marques Brownlee: [00:09:37] so it seems like their fail safe to that is to try to dump as many people onto shorts as possible. Oh, I mean, yeah, but

Andrew Manganelli: [00:09:45] that's a thing we. We were talking about shorts yesterday with Tim. Yeah. I tried to look at shorts on my desktop and I literally couldn't.

Marques Brownlee: [00:09:52] Oh, you won't find that on the desktop, but you will find that on your phone, which is where they're competing with tick-tock. I mean, yes, you can watch it on your desktop, on desktop it's there and you can find it, but it's the same way. Tik TOK. Tick-tock on desktop. That's a tongue twister exists, but you don't really care about it.

If they're competing with Tik TOK, which is really what shorts is and really what real is, is you can watch it on the desktop, but it's all about that. Endless scroll on the smartphone and they've built that in. And then they put the button right at the bottom of the app. Where it used to be the explore page.

I think it's next to it. So now their goal is to just dump as many people, organically into shorts as possible, same way, you know, Instagram did what they replaced the ad post button, put it up at the corner and put shop there, same behavior. Let's just dump people in and put it in the place where they're familiar and they're going to see it over and over.

And they're eventually going to click it. So Instagram, little weird moving around button placement like that, but that's basically what YouTube did get in there. Get in shorts, find stuff you're into, and then you'll be a shorts viewer. From here on out. I'm

Andrew Manganelli: [00:10:51] sure YouTube can figure out a way to put that on desktop.

They're there. One of the social media apps that probably gets the closest to mobile equal mobile and desktop, you usage like Instagram obviously is so far mobile Tik TOK is even further mobile. I would argue Facebook now is mostly mobile, despite it originating on desktop, but like, We're talking about YouTube.

I think they have probably more mobile users, but I bet that's much

Marques Brownlee: [00:11:16] closer push back just a little. Cause I think it is oddly very specific to what type of content it is. And I think because literally shorts is required to be vertical, like terrible. Yeah. So like, but that's because they want it to fit you as the same Tik TOK thing.

Like you can, you can do it horizontal Tik TOK, but it just looks ridiculous in the app. They want it to be the Tik TOK experience. And so they've. Built everything around it being just like tick tock, but on YouTube. And then they're trying to bring creators in with the creator fund and with

Andrew Manganelli: [00:11:49] like, I think that's where I was trying to go with, like the fact that there's a higher average people that use YouTube on desktop, because it was originally built on desktop.

It became mobile. And even when you're using mobile, you're almost turning to landscape, whereas. Tick-tock works well because it's only supposed to be on a phone. Reels worked okay because Instagram is still a vertical scrolling mobile app. YouTube is not quite that. It was developed into that.

It's becoming good at it, but it's still always has its heart and soul in the desktop version of it. And that's why this feature just feels a little. Off.

Marques Brownlee: [00:12:23] I think if they wanted to feel less off, they would have made it a separate app, like a YouTube shorts app. So then you go vertical with just that work bad.

Cause nobody's opening that app.

swyx: [00:12:33] So that went long. I apologize, cause I couldn't really find it in me to cut it short to five minutes today. But there are three main points that I picked from this clip. And you can read more in the associated blog posts, but just to recap for you.

One, you need big creators to adopt your new clone, but your algorithm punishes change. And that's something that creators really don't like.

Two, you can't support it on all clients and you can't make a new client for it. So you're structurally behind.

And third. Clones need original content, but clones are also expendable. So it's a race between you get your creators to invest in you versus how much you have to invest in it.

And that's why creator clones fail.

View Details

I am a mentor for the Notion Advanced track of Tiago Forte's Building a Second Brain, Cohort 12. This is the cleaned up audio of the first of 5 mentorship sessions with Q&A at the end.

Slides: https://docs.google.com/presentation/d/1yY46bq527SyDCI3IgzMNrkumOnrhYwI9VeuhdGqr3Dg/edit?usp=sharing

Timestamps

  • Intro [00:00:28]
  • Why Build A Second Brain [00:07:58]
  • Content Recap [00:09:32]
  • Breakout Session [00:11:53]
  • The CODE methodology [00:15:44]
  • Q&A: Work vs Personal Capture Apps? [00:18:11]
  • Q&A: Should I Capture Googlable Stuff? [00:19:55]
  • Q&A: Physical Book notes? [00:22:48]
  • Q&A: Starting for the first time [00:24:23]
  • Q&A: How to turn notes to action? [00:25:53]
  • Q&A: Processing Notion vs SimpleNote [00:28:36]
  • Capture Thinking [00:31:47]
  • Q&A: Podcast Notes? [00:33:41]
  • Q&A: Grabbing notes on the go [00:37:06]
  • Q&A: I dont like any of my apps, what do I do? [00:43:46]
  • Q&A: Security & Privacy [00:46:31]
  • Q&A: Triaging Information to be Productive [00:49:35]
  • Q&A: Outdated content [00:51:46]
  • Question: Defining Dealbreakers [00:53:25]

Transcript

  • swyx: [00:00:00] So we're here for BASB week one capture and I'm Shawn also known as Swyx. And I was part of cohort 10 and I'm back again to try to go through the new content. I know that Tiago has re-recorded a bunch of this stuff.
  • Some of the content has changed and also just meet people. I think that you know something best when you teach it. So I do encourage you, as you go through this journey to try to teach it to your friends or family members and you retain that much better as well.

Intro [00:00:28]

  • Okay. A little bit of self intro, and then we'll go into the specifics. I'm going to basically try to recap the stuff that we covered this week, and then try to get some feedback from you and get you talking amongst yourself. On some of the questions that were raised this week.
  • So hey, I'm Swyx I blog at swyx.io, I am a finance guy, turned developer.
  • That's a long story. I just compressed there. We used to work at Netlify AWS, that's Amazon web services for the non-technical people. And now I'm currently head of developer experience at Temporal dot IO. I helped to run the React-TypeScript CheatSheet, which is one of the ways in which I build a second brain which is very specific for developers.
  • Probably a bunch of you here are developers. I see Glenn is using reveal dot JS and I also wrote the coding career handbook as my capstone for building a second brain last year. So, part of the reason why this is a notion advanced course, even though I'm like not a huge notion expert is because we are very focused on trying to get people to produce output.
  • So not just getting comfortable with the habits but also producing by blogging, speaking, and writing and hopefully making money. I'm very keen on helping people to make money with their second brains. Okay. So, I'm from Singapore. These are the pictures that I, I tweeted this once basically saying Singapore's that would kind of Asia.
  • It's not usually so super overexposed like this, so don't come here and be super disappointed. But it does look pretty great. It does have a lot of manmade slash nature blended with it. And it is home for me. So, happy to answer any questions about Singapore. Alright.
  • So here's a brief history of my blogging. This is me in 2016. Nobody knows about this. I never talked about this. This is me on medium writing, trying to get into the whole content creation game and not really having much results. So this is my attempt at thought leadership and not really, and just engaging with stuff that I thought was interesting.
  • I was very into voice user interfaces because I coded an Alexa skill and at the time Alexa was going to be this huge thing is going to take over the planet. Yeah. And then just kept blogging and then just like fell off. And I think a lot of people here probably have some experience of this where like you tried to get started, didn't go anywhere and then you just stopped.
  • And I think it's very authentic and original And I'm here to say that I'm one of you, I've definitely been there. The first real hit was when, because I started reading and listening to Ben Thompson got a bit lost in Ben Thompson's universe. And so decided to make a map.
  • And so I applied some of my data analysis skills. this was my first hit because it focused on a person and a prominent person at that, and it solves a problem for myself that other people had.
  • And that was my first real breakthrough, like all these previous ideas were just things I had in my head that nobody cared about. And then. When you focus on such a small, specific topic as one person. And it's such a small specific question as how do you rank things?
  • You perform a service that other people are interested in because I also had that same problem. So I think that was the beginning of my journey as to how do I productionize this second brain or like writing system towards building a network, towards building a reputation for myself, and then just making things that people want to read.
  • So since then I have become a reasonable React/TypeScript/ JavaScript developer, happy to talk about tech stuff after the one hour, because we try to keep this general and inclusive. But this has probably been one of my major projects, which essentially running the community documentation for React and TypeScript developers.
  • I teach a thousand people a day, React and TypeScript off of this thing. And it's literally my second brain of how to react and TypeScript and people from Uber, Microsoft, Airbnb, you name it, they've all contributed and taught me stuff as I have taught them. It's just really great when you start to do these advanced forms of second braining I call this open source knowledge in the way that people can give back.
  • So second brain is, is often very one way. And when you can open source your knowledge it can be very powerful. So happy to talk about that as well, but I'm just giving you a brief overview of like what I do. I also have been focusing a lot on marketing, right? Every time you do something, you should also tell people that you've done it otherwise does it really exist.
  • So framing it in things in ways in which people understand, and then tagging people who have had the exact pain points really starts to accelerate your growth as someone who learns in public.
  • I also have been getting pretty steadily into the personal blogging. This is me getting serious last year in January, and then going from 20,000 uniques to 35,000 and now 40 ish. This is April. But with occasional, really big spikes, I think something you suddenly everyone should understand about blogging is that. It's a very hits driven business, and you put out your it's a very common phenomenon to put out all your effort into something and then have it fall completely flat and then spend two hours on a rant and then just see that go viral.
  • The effort is completely disconnected with the results and you should be okay with that because ultimately you're working through something. You're trying to log something for yourself. And it's it's always a side benefit or side effects if other people feel the same way too. I do definitely preach the idea of having a public second brain as something that is a single-player game that can optionally become multiplayer.
  • But if you start off only evaluating it as a multiplayer game that where nobody plays with you, then you're likely to not continue playing that game.
  • And then finally I also started writing for money, right? So I as part of my BSB cohort, 10 capstone, I decided to write a book. I launched it after BSB ended.
  • I gave myself two weeks, it took her two months to write. And then it started making money. By launch day. Cause I did some pre-sales and made 25 K, after about a couple months and got to 50 K across the a hundred K a few months ago.
  • And it's still going and I'm still doing a fair amount of marketing on that. So if anyone here is interested in writing a book and self publishing this is the place for you as well.
  • Finally the, my new project this year has been audio notes which is, I think a pain point of a lot of people going through BSB.
  • They're like I listen to a lot of podcasts and there are no good tools to do podcasting notes. I am not here to say that I have the right answer, but I have a answer and I'm trying to make it work. It is a personal podcast where I clip selections and share it with friends and publish it. And sometimes it gets picked up by the people who are in the podcasts and that is a very rewarding way to do audio notes as well.
  • So happy to talk about that.
  • Great. So a couple of ground rules here. So I don't like this idea that people say, there are no stupid questions there obviously are if you just it's enough people people ask really weird shit, but it's okay. It's okay to ask them here. We are all learning and sometimes if you have them on your mind other people do as well.
  • And what's important is that there are no consequences and you're not judged. And you really genuinely have them. And that's fine. I have them too.
  • Rule number one. People do this a lot with BASB.
  • You paid a lot for this course. Tiago is a very organized and smooth presenter. And you might think that you might have to do it. Perfect. Don't because you will fail. I don't do it perfect. I don't even use notion very well. But try to do it often, it's more about the habit rather than having like clean and, perfectly organized notes.
  • Rule number two which is the third rule. I'm not an expert here, I'm just the facilitator, right? Like, so I'm just trying to help you in your journey. I've been on this journey as well. And I can't speak to everything. I will say "I don't know" a lot and that's okay. Because someone else here in this group might know the answer and I just here to connect with people.

Why Build A Second Brain [00:07:58]

  • Okay. So a little bit of a survey question. I just want to see where people are at. We have about 86 -Oh my God. 86 people here. Why do you want to build a second brain?
  • That's let's see it in the chat. That's see see a bunch of Zoom chat responses. We'll do a couple of breakout sessions later as well. Just based on the assignments that you've been given, but I just want to see why people are here. Why did you do this course? If you're a second time person here, a lot of the advanced people are second timers, why did you do it again?
  • Okay. Jose says get peace of mind. Glen says to put things out there, Peter says manage the flood of incoming information. I don't know if you can see this. If I put the chat on the screen, I think you can't because the zoom doesn't work like that.
  • Elaine says to sharpen the saw that's a reference to the seven habits of highly effective people. Thi says, create a point of view, which is very, very good. That's something that we picked up this week on the perspective economy.
  • John Harkness, I want to start producing more instead of endlessly learning new and cool things.
  • Yes. We're done with this whole information overload and we need to productionize ourselves. Exactly.
  • Emma a says, I have a lot of interesting projects that I never finished and never show anyone else.
  • Ian says, how does the newsreel for explorations and rabbit holes?
  • There's a lot here and it's, I'm sorry. I can read out every ones. But yeah, these are all, these are like really great lessons. Sometimes I think Building a Second Brain is very much like the behind the scenes process of productionizing. But you start from abundance when you do this. You start from a bank of knowledge.
  • So when you want to productionize you can really pull things together very, very quickly, and that's how I blog as well and write stuff.

Content Recap [00:09:32]

  • I'm going to briefly recap I don't know if this is useful for people so let me know. If like I view this as like a TA being part of the, this little mentor group, which is that let's recap what we learned this week.
  • I really liked this phrase, the prospective era that Tiago had where he recapped where we came from, we used to have a space economy where we were trading on physical resources. And then we had a time economy. Then we had an attention economy.
  • And now that every spare second of our attention has been gobbled up. We're in a Perspective economy where the more important thing is that. Because we're flooded with information all the time. And I love this analogy because we're flooded. What do you do in a flood? You seek the high ground.
  • And for us seeking the high ground is having a point of view from which you can look down and see everything in perspective rather than being overwhelmed by all the water around us.
  • Okay. So that's the first part, which I really like which is a little bit of the why. Why a second brain. But that's just a toggles perspective. And I think part of the reason why I want to hear about your perspectives is that we all have different approaches when we come to this thing and we all have different perspectives.
  • It's a very personal point of view. So I really liked this quote as well, point of view is that is essentially a human solution to information overload in a world of hyper abundant content point of view will become the scarcest of resources which is very meta because you're going to have to develop a point of view on building a second brain.
  • There is 30 mentor sessions and like two thousands, I don't know, little information, bits and items on the forums. You're getting information overload here. So, that's why I want you to have a point of view on building a second brain as well.
  • The other thing that we're going to cover is the 12 favorite problems.
  • This is something I like a lot as well. I covered this in my own book, which is the Richard Feynman quote. If you already did this then great. I know that I actually did not do the whole exercise when I when I went through BSB the first time. But just a reminder too, to Chuck them here.
  • This is your assignment for this week. Go onto building a secondary, not circle that. So, and throwing your toffee reforms. I would say that, in keeping with rule number one, which is don't try to do it perfect, do it often. You don't need 12, right? Three is good. Eight's good. You don't need 12.
  • But you should have some amount of problems that you revisit time and time again, and you slot information into those problems. Cool. This a little workshop session now. So what I'm going to do is to break y'all into working groups and you can share with each other on your 12 favorite problems, we have 86 people here.

Breakout Session [00:11:53]

  • So we're going to try to make this I'm going to try to make this small, so I'm going to try to break people into 10 groups. Should we do that? And then let's talk about, let's talk about what our top favorite phones are and share them. All right. And then we'll meet back in about three minutes.
  • I'll share one of mine, which is something I've been collecting for a long time. Maybe I should share this after people come back as well, but how do I ask better questions? That's my one, that's one of my favorite problems. It's I've been pursuing this for a long time.
  • Frank Amaya: [00:12:20] There's a few books around that, right? Like the power of questions. Yeah. There's a Tony Robbins talks a lot about how the quality, like he has a lot of really cool stuff on question asking and the whole of the NLP work is on question asking and the idea that everything we think every thought is a question.
  • So that's the question, but you can't not answer your question when you ask it. Yeah, it's kinda cool.
  • swyx: [00:12:42] Yeah, I don't even know what books there are on this topic. I've just been collecting other people's questions essentially.
  • Okay. Does anyone hanging out here have questions on this week's material? Or just want to say hi, you can unmute yourself
  • Okay. This is Ted smiley. How are you doing? Hey,
  • Speaker 1: [00:12:56] dad just saw I'm a student and I'm trying to become a data scientist. And I thought that that second brain would actually be a great tool for helping me to become, helped me to get my hands around all the information that's coming at me at one time and to be able to.
  • In the future, it'd be able to answer questions and help with programming, setting things up, setting up my GitHub and other things like that. What are key things for a second brain in that area?
  • Well GitHub's pretty good. I think a personal blog, you're a developer you figure out how to put everything on a single domain and start publishing, small things that you learned.
  • I can show you Ted. This guy, Josh Bradshaw has this as his repo where he has all his TILs, like Today I learned. When you learn something, when you learn some new snippet of code stick it somewhere.
  • So if you are someone who codes and you're going to put together a second brain, you might as well make it public and you can categorize it according to CSS, elixir, dev ops Python. You probably do a lot of Python or R whatever. And just put in on your TILs. It doesn't have to be huge. It can just be a little code snippet like that.
  • And that makes it reusable for you. But also it's extremely valuable to other people. And there's 10,000 people who've starred this repo.
  • Frank Amaya: [00:14:07] What you're doing is great. I think people just love seeing different approaches, so there's no right way, like you said, right? They're just your way.
  • swyx: [00:14:14] So people are falling back. We've got 10 more seconds for those who were away, I hope you had a good discussion on what your favorite problems are.
  • I certainly would love to hear them and I will be seeing them on the circle forum. So, we don't have to go over there more here. I just want to, for those during the break, I shared a little bit about one of my favorite problems, which is how do I ask a better question?
  • I think that you asked the poor question and you get a poor answer. And I think a lot of the systems that we have set up for ourselves today are set up to give us very good answers right away to the questions that we ask. But sometimes it's limited by the quality of the question. It's a little bit like the Hitchhiker's guide to galaxy when the aliens built earth to find the ultimate answer to life, the universe and everything and they found the answer was 42. But then they were like, okay, but what's the question to that. And, and so I think that's very much what I'm seeking to, to build here. I'm finding the question to life, the universe and everything.
  • Okay. Christopher Horn says, how do we expand beyond our ability to ask questions?
  • In other words, have the second brain ask the question. Wow. That is, that is deep. Christopher. I have no idea work on it, let us know.
  • So I'm going to keep going. We're still recapping a little bit about this week. I've been told that actually a lot of people, a lot of you might have already done a mentor sessions during the week.
  • And so this may be a bit redundant which throws my plan off a little bit, but we'll just keep going. And we'll share a bit more and if you want to know more about how I do stuff feel free to just throw the question in the chat as well. And I can answer as well.

The CODE methodology [00:15:44]

  • Okay. A lot of the course is structured around code. And this is a little bit of my recap for you. And I think it's very easy and it's very common for people getting into the second brain movement to start devolving into discussion about tools like, Oh, what's your setup?
  • What's your stack, if you're a developer. And a lot of what Tiago does is he doesn't, he talks about workflow rather than tool for the developers in the room. I think it's very comparable to Hashi Corp, which is this idea that you have, you don't try to port over everything. You just have a portable workflow pretty similar to the react native as well.
  • If you if you tried to write once, run anywhere, you end up with Java. If you try to learn principles once, and then be able to write them anywhere, then you end up with react native, which is a lot more portable in terms of programming paradigm. Basically the tools will come and go. But the creative process is timeless and he's trying to teach the creative process.
  • And so it's captured, organized, distill, and express. We're going to write things down and this, this week we're focusing on writing things down, right? Really just the capture habit, which I think a lot of people apart from Tiago, but also a lot of other productivity authors focus a lot on then we're going to go into organized, distill and express.
  • I think express is something that we're. In this group going to focus a lot on, because I want you all of you to produce, I'll put right to blog, to speak, to draw, produce videos and to write a book or something like that. Make a podcast, whatever. I really like these, this image as well that, like, this is a little bit about why we do things.
  • I, I realize now that a lot of you have already covered these concepts, so I don't need to TA this as much as I was planning. I do like the point of what to capture because it's also very tempting and I'm an infovore just like you are it's very tempting to capture everything, right?
  • There's this concept of like, what if I could track every single website I've ever visited and store them somewhere. And a lot of them are crap and you never really wants to see them again. So I think having a point of view on what to capture, make sense and for Tiago it's:
  • is it inspiring? Is it useful? Is it surprising? Is it personal?
  • And you have some sort of filter to a first degree of what you don't capture, which is things that are not useful, not surprising, not inspiring, so on and so forth. So having those rules makes a lot of sense.
  • And but also I think it makes you have a trigger, right . Every habit needs a trigger, like when X happens, then Y so the moment you have the aha feeling, that's inspiring. Write it down, right. The moment you're like, I wish I knew this that's useful. Write it down. Especially when you're wrong, that's a point of opportunity to learn. And if you don't learn when you're wrong, then you're going to repeat it again.

Q&A: Work vs Personal Capture Apps? [00:18:11]

  • Okay. You know what, let's just stay in this room. And have someone speak on has anyone tried to capture stuff? What have you been capturing and what's your pain points? And share our experiences in this big room.
  • Speaker 1: [00:18:21] Hi I can quickly go. So one of the pain points I've seen is that I've tried oxygen and all of these other apps narrow down to a markdown- based app or plan. But the problem is that I find that I can switch over to Evernote, which fixes a lot of the gaps for me.
  • And I am genuinely going to give it a shot, but the problem or the concern I have with Evernote is that I also have a lot of journal personal stuff that I write down, which I feel comfortable doing in a day one or a note plan Canada, which has all been stored locally.
  • And that's where I feel like, okay, now I have two apps and now how do I bring all of these thoughts together without losing my privacy?
  • I want to give Evernote a shot, but I don't know if I ever feel comfortable enough to get my personal thoughts, raw thoughts into Evernote.
  • swyx: [00:19:02] So I'm curious what other people do with their journals versus their note taking. I have two apps. I do my journaling in one notes where there's a password feature and nothing else goes in there.
  • And so even if someone, pwns my Notion, or like I leave it unlocked and someone accesses it and they don't find my journal, the best unit of isolation is just at the app boundary. Yeah.
  • Speaker 1: [00:19:22] But then do you ever worry that you may have some thoughts that may eventually lead to a blog post or an article that you've been thinking about? Like those things are getting lost. Do we ever worry about that since it's not part of your quote unquote second brain?
  • swyx: [00:19:34] Well, I mean, it's not hard to run a search twice. So no if you're recording anything that could potentially be public and future, that should go in your public ish second brain, that you wouldn't mind anyone coming across and seeing it.
  • And then the journal is private and will probably never, you'll never publish. That's fine. But you, do you want search on all of them in case you do need something in the future? For what's?

Q&A: Should I Capture Googlable Stuff? [00:19:55]

Who else has like capture pinpoints or just want to talk about the stuff that you've been capturing?

  • Speaker 3: [00:19:59] I can go Shawn, I've been thinking what to do when there is a specific piece of information that is easily Googleable. Like you can search and find it perfect for offers the usual with stack overflow type of question. Yeah. I feel really bad when I have to research it. Instead of in my personal second brain, I have to go into Google again and get the same thing.
  • I was wondering how you personally deal with that. And if there is value in the first time you search it, you capture it.
  • swyx: [00:20:33] This is an important problem, I think. So the my quick answer is if you captured the first time you search it, that's probably too high fidelity.
  • It's going to be very noisy and there's gonna be a lot of stuff that you only look up once and you never need again. So I have this rule, which I call these three strikes rule for blogging. Where basically, I just tell you to wait for three strikes.
  • Because the first time is like, you just heard about this idea and the second time you're like still trying to evaluate its usefulness and you're explaining it. And the third time you're like it's increasing probability every single time you refer to this idea or you look it up that you're really going to need it again in the future.
  • So then you should start writing it and you should share your own authoritative link on it. And even if it's a pretty easy Googleable piece of information. You definitely have your own perspective on it. And there's a nice cleanness to just Googling, like your take on something.
  • So, so, you can use the Google thing on like site colon. This is like a Google filter. Right. And it just only searches your site. Right. So when I, when I need to add Monaco editor, I just go to my source. Cause I wrote it. I had explained things that would make sense to me, even though I forgot how to do any of this.
  • It would just lay it out in exactly the way that I would want it. And that's useful to someone because that's. People are going to find it because of you. So the way I, the way I phrase it for developers again, is to proxy the top stack overflow answer.
  • And then the other usefulness is to have them indexed in some kind of central fashion, right? So, when I need anything related to TypeScript, I go here and I go like, Hey, what is a useful use case for passing both props? I could Google this, but because it's all organized in the way that I see fit it's useful to me and it's probably useful to others as well.
  • So, marketers actually have a term for this. They call it a swipe file. So if you, you also see this for design and marketing and it's all the same concepts, right? Good marketing HQ. There we go. So this is a swipe file. Anytime I need something on referral marketing, I can go here and I can just say how did Hilton DoubleTree do referral marketing for word of mouth?
  • And that, that gives me an idea of how to do my stuff. Right. So if you collect a swipe file of like just resources, you can look up any of these individually, but because they all, they're all in one place and they're all things that you've personally approved and written up. You not only remember them better, but people can find it as well

Q&A: Physical Book notes? [00:22:48]

  • do people have other thoughts on like capturing I I'm trying to focus it on the topic of the week, but also you can just ask me stuff about what I do for VSB.
  • Speaker 4: [00:22:57] Yeah. I have a question. So yeah, I like to read physical books. I'm sure there's other people here who also like to read physical books and the difficulty with that is that when I'm reading, like in bed, like before I go to bed, I'll like highlight stuff. I'll, write notes and comments on the side of the book, but then like what's a good time to capture that into my second brain, should I do it like after I finished entire book. Or should I do it like right away, but I would prefer not to like take out my phone and, lose sorta like my context in the book. So I'm trying to figure out that for myself.
  • swyx: [00:23:31] So I have a confession, which is, I don't read much physical books. I do prefer the PDF in the minimalism of not having to decide what to do with the book after I'm done with it.
  • What do people do? Let's, let's throw it out to the group here. What do people do for a physical book note taking read wise, someone says, okay. I don't read physical books. We're in a post paper economy.
  • Frank Amaya: [00:23:50] Shawn Joyce has her hand up
  • swyx: [00:23:53] Joyce.
  • Speaker 3: [00:23:53] Yeah, no, I read physical books all the time and I have that exact problem is I'll be in a place where I'm comfortable and I'm not going to disturb my my train of process. And I'm just marking things down in the light or using post-its and I use the review process. So if I'm doing it at night and I'm, don't want to disturb what's going on when I get up in the morning and I'll do a review and they stay with me for it.
  • They'll stay with me for a couple days. That's how I do it. Thank you. Thanks SREs. Yeah. Thanks.

Q&A: Starting for the first time [00:24:23]

  • swyx: [00:24:23] Leslie also has something to say
  • Speaker 2: [00:24:25] Hi! Yes. I had a question about, basically I'm starting this for the first time. I'm very excited. I'm getting tons of tips about how to organize the things I'm consuming from now on.
  • But I have so much information from that I've already been collecting from over the years. I'm just wondering what you would recommend for organizing what we already have.
  • swyx: [00:24:49] I mean this is the start of your capture habit, I know you're fresh to this and there can be a lot. Again, rule number two, don't try to capture everything, right. Just have a repeated process of it and look at this as an infinite game, rather than a finite one. Fortunately all of you are in the cohort where you have unlimited access to all future cohorts, so you can come back again whenever you want. So don't feel like you have to capture it, find something useful that you can put into practice and then practice it and then keep going, right?
  • You're not here to capture everything because that's not your job. Your job is to work on yourself. I know the anxiety that comes with Oh, I'm not getting everything. And there's like 200 conversations going on in circle reading all of them.
  • Don't try and just find the thing that you really want to work on it, which is why there's this whole focus on the top favorite problems, find out what you're here for and focus on that. And other people have other agendas that they're pursuing and you don't have to be in every conversation.
  • Right.
  • Speaker 2: [00:25:40] Okay. Thank you. I just have one follow up with everything that we are capturing. There's so many, so, so much good advice around which types of contents I love the idea of what inspires me. What's personal to me. What surprises me, things like that.

Q&A: How to turn notes to action? [00:25:53]

  • But do you have a way of turning basically what you consume into an action item?
  • Ooh.
  • swyx: [00:26:00] Do I have a way of turning what I consume into an action item? So for me, my action item is blogging right now. That is the way I express myself, that's the way I could produce public output. There are other forms, tweeting videos. Talks. But they all secondary to blogging, cause I think that's the most scalable form of human output. So I have a list I can show you. I know that you all want it to be perfect. And I think there are some consultants out there who really impose a lot of imposter syndrome. I'm here to show you the negative example of how imperfect it can be and still work.
  • This is the way I blog. This is how I compiled my newsletter every week. It's just I want to talk about this in my newsletter and I just throw the link there. These are my blog posts, ideas. I, and I drafted in here in simple note. Very minimal not very structured.
  • I do have knowledge bases, right? So, I think Frank in the comments Leslie was saying next week we'll actually learn about how to organize stuff. So we're not even at the organized stage yet. We're at the capture stage. This is the capture week where you're just training on having the habit, the trigger and the action, the trigger is, is it surprising?
  • Is it interesting? Is it what were the other two personal and I forget the other one, but is it noteworthy to you? Then make sure to write it down to the point of when I come across something interesting, I will pause what I'm doing and not taking any other information until I've captured it because there's no point to absorbing more information and forgetting it all. It's really about getting over that mindset of having to capture everything, because we're no longer talking about, drinking from the fire hose. We're having a point of view and we're trying to collect things.
  • So the second brain people have been giving us some help in terms of like, how to mentor. So I've been catching resources, just like that in Notion. And for me, it doesn't exist. It's not real until I blog about it. I think catching without an intent I can feel a bit lost. Like what's my real goal here. And having anintent of this is the blog post that I'm going to write, which is what's the difference with your mentor, coach, teacher facilitator.
  • It's just literally word for word exactly what they taught us, but I didn't really know this and I think it's useful for other people. So I'm going to write it. I'm going to write it up and I'm going to live through it and add some personal experience. And that will be it. Having a goal of like I'm capturing this to do something is, is more helpful to me than just pure capturing everything and never doing anything with it.
  • Speaker 2: [00:28:13] Amazing. Thank you so much. And I do think I jumped the gun a bit, but with trying to learn what we're going to be learning next week, but thank you so much. That was really helpful.
  • swyx: [00:28:22] Absolutely. First of all, you can jump ahead if you want. It's all available there. But yeah, you'vegot a long, long road ahead of you. If you do this right, you're doing this for hopefully the rest of your life. So, yeah, you don't have to do it perfect , just do it often.
  • Okay. All right. Please go next.

Q&A: Processing Notion vs SimpleNote [00:28:36]

  • Frank Amaya: [00:28:36] So Tom has his hand up and, but one question or one idea, some, some of the attendees may have come to know or ask questions around notion. So, or perhaps to get more of your perspective around notion. Yeah. I, it there'll be any questions perhaps that people will ask that they have around notion or just that topic. If we can focus them on that, at least for the little bit of the session here.
  • swyx: [00:29:01] Yeah, we have the room until like for another seven minutes and then I can go into the 30 on like personal questions. So let's take some notion questions now. And then those people who are just here for that can can go and the rest can stay on in lines or whatever it was got.
  • Notion questions. Gina says, can you give an overview of your capture and processing of info in notion? Thanks, Gina also I'm it says, how do you decide what goes in simple note versus notion? I like this question a lot. I think Amit, you were talking about the local first idea. I don't care about local first because I don't, I'm not that privacy focused as long as it's behind a password lock.
  • I'm happy with that. So OneNote is my secure journaling thing, and it doesn't intersect with anything else that I do. A simple note is cross-platform and faster than notion is. So this is simple note and it is simple. It's simple. It really is. It's almost too simple and that's how you want it to be.
  • You want to not give yourself a choice of should I bold this? Should I make this red? Should I meet this italics, screw all that. Just write stuff down and don't screw it up. Don't let anything get in the way of that. And that's what sticks for me.
  • Other people they have beautiful motions and it really sparks the creative joy for them. So please don't let my, the way I do things affect you too much. But that's how I do it. So simple note just has raw material. Notion has my startup focus. I am a head of department in a startup so I do concentrate on collecting a lot of focus areas on all these topics.
  • A lot of these are just in case meaning that I essentially use Notion as a buffer between the stuff that comes in serendipitously and when I need them because often those times do not match up.
  • But what does help is for example when I need some advice and cold emailing, these are the things that I have personally approved for myself that I can just go, I'll go through and call the mill. I do my, in my own community. This is gonna, this is going to look super overwhelming to you. So please don't don't feel like you have to do this.
  • Part of my book is that I've run a community where I do resources like this. In fact, the cold email resources have been, I've been working on for a while as well. So I will come here and add them and write them up as I go over time. That's part of how I think aboutNotion.
  • I do definitely try to publish some of these. So when I worked at AWS I actually curated this as a service to my community as I learned about AWS myself. And that's it, you can learn a lot about AWS, just going through these resources and that's great.
  • Then for me, I have a scratchpad in notion where these are the ways in which I draft blog posts. So here, this is a talk that I did. So I literally just structured the talk and then it turned it into 30 minutes off react summit. This is a blog post that I just sent out yesterday to my newsletter.
  • And I it's all drafted in notion. And people can leave comments if they want. Actually I realized that if you want to send up, send a, probably Buffalo's do it in Google docs because more people have it's a, just a better commenting feature in Google docs. And most people are logged in already.
  • But yeah that's how we decide between simple notes and notion.

Capture Thinking [00:31:47]

  • Frank Amaya: [00:31:47] Shawn, can you walk us through your captured thinking and specifically a notion like your workflow and if after doing that, if you can maybe show how you capture podcasts notes. I think a lot of people want to know like how you got to what you just showed us, but maybe the process that got you there.
  • swyx: [00:32:03] The thinking is just is this the thing I want to blog about? For me having an intent to my capturing is very important. So, what's the blog title and then attach all the discussion points and the relevant links to that title. So, yeah, this is it. I mean, when I so I have, I have I have a, another resource again. It's all it makes sense in my head. I am more of a messy person. So I'm not as minimalist as some other folks who do really well on YouTube.
  • But it works for me.
  • Frank Amaya: [00:32:28] Is there a chance you could show us like how you're using maybe the capture tool in ocean or how you get this into your notion environment?
  • swyx: [00:32:35] Like these are this is essentially a project, right. And then these are resources. So it's loose PARA. And then the 12 questions. And then it's very loose PARA. And then I have a personal finance stuff I have, and then a scratch pad for myself.
  • I don't use the notion capture tool mainly because it's too broad for me. Like either I get the point of the article or I haven't read it at all. And if I got the point on the article, I can summarize it for myself. And that summary is way more useful. I think this is covered in one of the weeks.
  • I'm not sure which week, but he has a few levels of progressive summarization. So I, I tend to just skip the first level. That's like in week three. First of all, when you first come across something you have like Ronald's, then you bold passengers and highlight passages and mini summary and remix. I basically go either I'm at layer one or zero, and then I go straight to layer four. The other stuff is too intermediate for me so I don't really do that.
  • And the mini summary, like I can go down the summarization stack if I need more and quite often I do, but all the links to the resources are already there. That is the amount of work that I want to do for my note-taking. And probably I could do better at that, but that's what I do right now.
  • Yeah. Okay. Did I have, I feel like I lost some questions.

Q&A: Podcast Notes? [00:33:41]

  • How do I capture POS podcasts and notes to notion? I do not. So, podcast notes go here. And they're literally like the five minute clips that I want to highlight and model upon. And that every day, once a day, I clip that and produce it.
  • So this is, I've been doing this for probably a hundred ish days now. And these are just clips of Hey, I really like this interview. This is an origin story of a CEO, which I thought was really inspiring. But that's about it as far as podcasts notes go. I think if they relate to a particular topic that I'm interested in, for me hiring, I do a lot of literally, this is the link to the podcast and I took notes on that podcast. And that's about what I, that's where I leave it. Because then this will go into my own company's hiring docs as an input, but podcasts notes, like that's those are the two dimensions in which I have them.
  • So personal notes if they're focused on the topic. But this makes us in together with text notes and for specific podcast stuff that I want to share with other people and just say Hey I really liked this Andrew Wilkinson story on his first job that was really crappy. I'm going to clip it and then make it shareable with other people.
  • Eventually over time I would just have this resource of everything that I found interesting and people can go through that find they find a lot of value from it. But again, it's an example of a potentially multiplayer game that I win as a single player game, just because I had just had a record of everything that I have listened to.
  • Frank Amaya: [00:34:57] Well, so you're at the top of the hour in case anybody did.
  • swyx: [00:35:00] Yeah. Well, I hope this session was useful. It's my first time doing this. But we'll, we'll get better over time and I'm definitely gonna drop in on other mentoring sessions to see how they do stuff. But yeah you can email me if you weren't comfortable asking questions.
  • Here you can email me I'm at swyx.io, so I guess
  • Frank Amaya: [00:35:16] well, there's some comments coming in saying there was a great idea of clipping. Yeah,
  • swyx: [00:35:22] thanks for that. So I do a lot of interviews as part of the nature of my job. This is my email address, by the way, if anyone, anyone here can email me questions, I'll them async.
  • But yeah, I do a lot of interviews. And so what I do is actually and this is my finance side showing I rehypothecate my session. So every weekday I do five minutes, five minutes, five minutes. And then every weekend I would drop a longer form chat. So people who follow me can just literally catch up on everything that I've been doing outside of my own personal output.
  • I like this idea of going onto other people's channels, other people's YouTube and podcasts, and B being a guest. So people hear about you and you get a nice energy to bounce off of, to create content and then bring that all into your own site. So that you have one central place for people to discover you and go deep on yours and your stuff.
  • So that's what I do. Yeah. People asking about how I clip use audacity. It's a free open source app has a little bit of a learning curve, but there are any number of tutorials on YouTube to learn how to do it. And literally I'll go something like this. And then I'll move stuff around.
  • I actually, I did this in my audition for the BASB mentorship, but literally I'll just be like, play this. Okay. This is cool. Cook that, click that, and then move it around here. Like you learn all the shortcuts really quickly and you can make a, it doesn't take that much effort. And it's a really nice productive experience for me because it's a small win that I can knock out every day, no matter how bad my day is.
  • I know I can do this. I have a huge backlog of interesting content in when I revisit the content, I learned it over again. And I can knock it out in 30 minutes and it's, that's a win for me. So I like this. I like having a Keystone habit essentially as a creator. No matter how stuck I am in blogging mental health, how how bad my media work has been.
  • I can do this and I can call it a win. And it's, it's something that's mine.

Q&A: Grabbing notes on the go

  • Speaker 1: [00:37:06] Yes. I had a question because I learned a few seconds ago. Well, my question is regarding to the notes to notion how they capture the notes. But my main question is related to that. How notion or what is the best technique or the best tool. To grab notes on the way, because for example, something that happens to me, it's driving and sometimes an idea came to my mind related.
  • I'm going to go to person. And then I got that idea, but if I don't write down at that moment, then I forgotten that sometimes I forgot that idea and just say, miss a chance to solve a big problem, but doing that, it's a kind of a book because it's not too easy to just go with mama while I'm putting in there. I'm gonna start using draft apps because he has something willing to watch. Just wondering if exist, any other technique or tool or something to only capture notes quickly on the way. So it dropped off. So
  • swyx: [00:38:08] is it this one they have on screen? Is it drafts get dressed up? So first of all, someone, somebody in the chat said don't know shit and drive. I endorse that. So thanks Benjamin for that. It's true.
  • Drive safe.
  • Frank Amaya: [00:38:24] Can I answer this question? Yeah, please. Because I just, I'm pretty excited about this. I just I had a session on Friday and Tammy, one of another fellow BSB or mentioned a notion actually has widgets. So I just installed a widget earlier today so I can share what that looks like. It's okay. I think I'm going to stop sharing what you're sharing.
  • But there, this could be really useful for what you were just asking about Sergio and I'm going to you see it. So this is my phone that I just found a way of showing it. And what you'll see here is the whole idea of a, of a, of an inbox. Oh, you can have your favorites widget. And instead of the way that you could easily come in on the plus, okay, that's do it.
  • That'll put it in.
  • You can add a new private page at the bottom. So that's one way that you can address that. The other thing is the fast, quick add, like what you're saying, you're on the go, let's say you have your inbox and I'm going to minimize this. You could easily create a new page in here, and then you have the ability to add it.
  • So the thing that was slowing us down with notion was the quick add using widgets and customizing needs to what you need is definitely gonna improve your workflow. As easy as just putting a little plus sign and then just doing different stuff in here . So it's just, it's really something that I'm playing around with, but this is solving that one issue that I've just been struggling with.
  • And a lot of us, which is how can we get information fast inside of a notion without as fast as maybe some of these other tools that we're using. Yeah, I'd definitely recommend exploring that because that might improve your flow and I'm not sure if you saw it here, but let me share it again inside of the, let's see, so I'm sharing my phone and scary right.
  • Chain because I didn't carry it, any of that stuff, but we'll, you'll see at the bottom right corner. There's that little. Plus the, so if it's in two clicks, I can easily come in here and start adding. And one of the things you can do is, it's tied to, Hey yeah, this is, these are some of the ideas that I'm capturing right now, blah, blah, blah, blah, blah.
  • If you don't, if you're on the go and you can't really write right now, but you can speak it. I mean, you see what the power here now you can start integrating many of these other things that you're talking about and go, so you're using your phone. It also works for Andrew. They checked out right now, but yeah, here's the note period, next line, new line et cetera, et cetera, et cetera.
  • But yeah, just something for you to consider. Oh, that's perfect. I
  • Speaker 3: [00:40:45] would try the widget thing. Just, I was using only the widget, a single icon and you just access, but the other one with the plus sign, this is the kind of the thing that I am looking for. And this is for that. Thank you so much, friend.
  • swyx: [00:41:04] And then someone should blog about it.
  • Always turn it into output, right. Yeah, every time you have some TIL that is something that you learned. And I learned that too. I didn't know about this, so this is great. Yeah, but I, I personally use simple note just because I find it a bit faster. I I've been very, like I'm very performance oriented and any latency in notion just really ticks me off.
  • Yeah.
  • Speaker 3: [00:41:23] Actually I started, well, just something to share with everyone, with the drafts apps in iOS. I have the app for the watch. And so you'll say I'm moving here on a star, you'll sit through it in the notes. You'll just take it to there. And then when I get into my whole disability gate, certain amount of bandwidth to go PM pays the notes inside of notion. But, well, I think so with that, the one that Frank show us will be a better, I think as much. Yeah. Frank, do you know if it's available on an Android? It was asking. It is, I'll put,
  • Frank Amaya: [00:41:55] I'll put a link in right down for both of them, because I just saw, I just literally sent this acuity, not like an hour 70 for the call started.
  • So that's, I'm pretty excited about that. I'm also pretty excited about testing automation with notion. I know that's been one of those things that a lot of us have been looking for, but it's, it's there as a workaround, not, not out of the box and not but I use here's a, the Twitter link, I think for the widget feature, what I was impressed.
  • And I was like, I think I'm the notion guy, right. But this came out in November of last year was like, what is this? Like, how can I, but in the call Friday again, another student mentioned, and I was like, see, because that's what these sessions do. They just bring up a bunch of stuff that we just didn't see.
  • But yeah. And I'll put the, the notion widget, there was a notion VIP guy willing to not, he wrote about it. And I think he did a really good kind of little explanation
  • swyx: [00:42:44] there. So I'll put that. Yeah. Bottom line is the capture habit is super important and yes, I've had those ideas that come in and then I like 10 seconds later.
  • I'll lose it. And it was, it would have been like a big unlock for me at work or some big insight. And I just totally like, it just, it's just gone. So I'll literally like if I, if I hear something, if I have a thought in my head while I'm showering, I'll just jump out of the shower, dripping wet and go write it down.
  • That's how seriously I take this caption capture thing. So I, I highly recommend if you're driving, stop driving, write it down, keep driving. But it really, that is important to it to capture stuff because you will, was it have an Alexa in your bathroom? Yes, that's if I were not in COVID yeah, I don't have a lot of control over my living space right now, but yes. I think so. So when I was a Alexa developer, I try to basically make an Alexa notes app and then they, the API didn't let you record any amount of length of detail.
  • Maybe they've opened it up since but it'd be nice to capture notes through Alexa. I don't think the allow you to do it very long. So I wanted to like, Nick, could you record a podcast through Alexa? And I think there's a limit of 30 seconds. Cool. All right.

Q&A: I dont like any of my apps, what do I do?

  • Speaker 3: [00:43:46] Well, my question is mainly around the struggle with expression, like actually putting the things out there and having more of a. Engineering or technical mindset,
  • for example I'm now using bear as a note taking app Alexa mainly right in markdown, but then every time I use it, I'm getting a little bit of discontent that I can't use certain key bindings that I'm used to using programming.
  • And I think I should look into researching, like, how do I use another system? So then the same with producing, like blog posts or something like, then I'm on creating a aesthetic sign, I'm setting up all these things. And then whenever I just try to do one thing, it brings up then more questionable like research questions, like, should I, and then I fall a bit in the trap of not actually putting something out there, the same with certain topic or blog posts.
  • Like it brings up so many sub questions. So something to. Mitigates more, I guess the feelings of like, there is a way I want to do it. And there is a lot of things yeah, if that makes
  • swyx: [00:44:53] sense in some way. So you actually having is real and it's not just, and I think developers are very aware of, of that.
  • You have, you essentially have a bunch of dependencies that you're not super happy with, but you gotta get stuff out. If it's, if you, if you don't produce, then it never existed, right? Like it's, it's almost like getting 90% of the way there is almost like 0% if from the outside world. So I definitely.
  • I think that having tools that you enjoy is important because that that's an input to your writing. And if you start having any friction at all, then you're not gonna enjoy the process of writing. So, you got to keep looking for tools to keep trying all of them. What's great in, in BSB is essentially you have a community that has tried out every tool out there.
  • So just go into the forums and look for like what other tools that's partially your issue is why I like him? Well, no I actually have also tried to code my own CMS using vs code. That's why I I had that blog post about Monaco because I use Monaco to write my own CMS. And I, I miss, I miss a lot of the niceties in NCO in in vs code.
  • But ultimately when you find something that's good enough, it's not going to be perfect. And then you ship and you start to, you have to figure out where you draw the line on what is a deal breaker for you, or like, I cannot keep writing on this unless I have this and everything else just.
  • Be okay with it and be okay with the imperfection because it's good enough for a lot of other people.
  • Sorry, Diana. And I don't, I don't know if that's the answer they go looking for, but all right. I met Monica is the core library behind vs code. It is the editor tooling that is written in each model, script and CSS. Yeah. Okay, cool. Yeah, Glenn, if you have any followups let us know in the comments.
  • But otherwise I'm just going to go ahead to read. I think Reb had next and then I think your next, Hey,

Q&A: Security & Privacy [00:46:31]

Speaker 2: [00:46:31] Thanks for the session so far. I know you mentioned that you're not going to be that interested in local first and that's fine, but just curious if you, or Frank or anyone like from BSB not been through so many cohorts, 70 kind of guidance.

  • So my problem is basically around security and privacy, because my employer has strict like requirements. So I can't really just send stuff to the cloud. And then, so that was torn and that's the reason I took the course to try to figure out a solution is I could either have a, kind of a set of apps for my second brain for my personal stuff, which I'm okay with sending some of it or most of it to the cloud and then have another one, for my profit, my employer, and then trying to bridge the gap.
  • Right. So there's some overlap. And so like for example, like some example could be like, if I figured it out, very simple example, like how to provision a VM in AWS, I could write out all the notes from my employers in my those notes. But there's a lot of stuff I could just take, which is just general stuff.
  • Right. It's just but then I, now I don't have dry cause if I copy paste it and all this, because I'm repeating myself. Right. So, sorry, a bit of long winded, but wanted to give you some context.
  • swyx: [00:47:35] So what's the question.
  • Speaker 2: [00:47:36] Do you have any guidance for like a local first, second brain with also having workflows for separating personal and employee stuff?
  • So I could
  • swyx: [00:47:45] take my personal stuff with me. Yeah. Gotcha. So Glenn has a bunch of answers actually in, in the chat. So there is a circle and a meeting around using Emacs org mode. So, yeah, I've heard a lot of good things about work mode. Actually. You might want to check that out. I would also check out foam which is the vs code version of Rome.
  • Like the wrong tools, the, the, the thing would be app with the backlinking obsidian also supports McDonald city is local first. There's a bunch of these that are local first. Absolutely. You have your pick of choice tools for these. Yeah, a lot of people are using obsidian. I'm actually, I'm interested by obsidian, but for me cross-platform is very important.
  • Like I'm, I'm on my phone as much as I am on my desktop. So, I cannot have my tools be separate for those things. They need to be the same thing. I know. I know. I know. Okay. Okay. So yeah, what's the other, I think that was it. I mean, yeah, it looks like Glen's, Glen's really up in there. So talk to Glen.
  • Speaker 2: [00:48:35] Yeah. I mean also like if there's working examples, but yeah. I'll follow up on the messages in the chat because there's, task management, North node Mattamy is just like one part of it. Like, there's no read wise local first for example. Right. So you got to figure out like all those parts of the flow chart. Right. That's where I am right now. So, but yeah, I'll, I'll follow up with the chat
  • swyx: [00:48:53] and yeah, the back is like dry, like in coding is also overrated, right? Like I think there's a movement against dry. It's fine to repeat yourself, especially if you're repeating yourself a maximum of twice, like who cares?
  • Like just copy and paste. It's, it's fine. It's cheap. And also I think be aware that to me, I view my work notes as a, as a thin outer layer around my own thick set of personal notes, because that one will last with me for life. Whereas the work one is just wherever I'm currently working and that will go away.
  • And so you want to minimize that to just projects that you're specifically working on for work. Yeah. And that's going back to like how you're expressing and you touched, showed like your notion, like standards, all procedures and all that stuff. Right. I appreciate that. Okay, cool. Cool. Thank you.

Q&A: Triaging Information to be Productive [00:49:35]

  • That's a head to uni.
  • Speaker 4: [00:49:36] Hi, Karen. First of all, thanks for your time for investing in power growth. My question is more around, more like a general one. So it might be a little bit related to Parra. I haven't watched it yet, but after you capture all this amazing information, I'm curious how you do cocoa.
  • How's you do the triage process. So starting like for when you do it to, while you do, especially with the mindset of productionizing, this content, my hypothesis, my assumption here is that probably depending on which phase you're in, in terms of productionizing, your content, maybe your triage process might be different.
  • So I'm just curious after you kept your old those things. How do you, yeah, how do this triage things to put, okay, this is going to, that I might be used for this future blog. I might be used this for the current blog. I wonder how this whole year process looks like, does this question
  • swyx: [00:50:23] make sense? You need, you can't have too many just in case items, essentially.
  • Like it's very easy to try to collect everything and just like, I might need this one day. And then just add them with an unmanageable pile of stuff. This is why it's important to have those tough favorite problems or to me those could equivalently be the 12 blog posts that I'm currently working on.
  • And then you're slotting information there. Anything that doesn't fit either you would have to let it go pretend you never even came across it at all. And you need some filter. You cannot, you just, you cannot try to capture everything like don't try. So is it currently relevant to a project they're working on or not?
  • If it's not is it worth starting a new project over compared to all the other things that you're currently working on? If you've got too much going on, you gotta drop it. You gotta let it go.
  • Speaker 4: [00:51:04] I think that's honestly great answer. Yeah, that makes sense. I think probably I was thinking more like capturing.
  • Yeah, cause you can basically what the solution, not a solution, but the approach you are taking here is that you have a set of the project that you're currently working on and you're capturing the information that maps to it. And then you keep evolving around it. Once that project is called, you might add on a little more and they kept her on other information from the different lens.
  • swyx: [00:51:26] Yeah. And it's not just projects para is projects, areas, resources, and you can accumulate any number of resources as well. So, yeah, so for me, but the more you are able to limit it, the more, the deeper you can go rather than broad. And to me that is more rewarding because it's too easy to just spread all over everything and try to be interested in everything.
  • Thank you very much. Thank you. Okay.

Q&A: Outdated content [00:51:46]

  • Speaker 3: [00:51:46] I said, Oh, I'm sorry. My mute was on a lovely session.
  • Learned loads. I have a quick question regarding research I've next insight collect a lot of information. So what I've faced is I've collected information and I've saved it someplace. So when I want to do like make a blog on it or write a report on it, I feel that since some time has passed, so that research might be outdated.
  • So I go back to Google, do the research once again. So the process of collecting it, saving, it becomes redundant after a certain period of time for me or what should be the thought process or the mind shift I can change. So regarding that, I would like your opinion of kids,
  • swyx: [00:52:30] right. Stuff becomes outdated you said? When you, when you collect notes? No,
  • Speaker 3: [00:52:33] like suppose I'm researching on a particular topic, which I want to make my notes on. Suppose six months have passed. I feel like in six months there would have been more research conducted on that particular topic. So I go back to Google research again and collect more information, switch, take a continuous cycle.
  • swyx: [00:52:52] Yeah. That makes sense. I think that's pretty normal.
  • Speaker 3: [00:52:56] That's pretty normal. Right. Okay.
  • swyx: [00:52:58] Awesome. I do like building reusable resources, right? The react and typescript cheatsheet that I showed you if it's outdated, just delete it. It's on the history somewhere if you need it.
  • But having a materialized view of everything that's currently relevant that's what we're going to is for someone coming across it for the first time is extremely valuable. People don't do that. People always do logs of here's what I came across today. Here's what I learned today.
  • That's useful, but it's not structured. And structure is almost as important as content. Awesome. Perfect. Thank you.

Question: Defining Dealbreakers [00:53:25]

  • Speaker 4: [00:53:25] I mean, this was great, but you mentioned with regards to tools to define your deal breakers. And I mean, just new to this, I've been, distracted by so many different shiny, bright object tools, for me, I think that's extremely powerful just to define your deal breakers. Like you talked about how cross-platform is important and things like that. Well, that's going to immediately eliminate certain tools. So yeah, defining deal breakers was a big
  • swyx: [00:53:55] help. Thanks. Thank you. I think something that Tim Ferris is famous for. I don't know if he came up with this, but it's a definitely powerful concept, which is making one decision that eliminates a hundred other decisions.
  • So if you, individually, if you evaluated each tool from scratch then it would take a lot of time. But if you had an understanding of your own needs and deal breakers, then you can rule out entire categories. So I really like these, but also try not to have too many do breakers, right.
  • Because it's possible to be too picky and do break yourself out of every tool in existence. That's when you know, you've gone too far.
  • Yeah. But similar and this is, I think it's something that it's hard because. High expectations. There's this quote about the unreasonable man. The reasonable man that fits himself to what the world expects of him and the unreasonable man reshapes the world to his expectations.
  • Something like that. I'm butchering this quote. So if you are unreasonable and you find yourself actually do breaking out of every single two in existence you might be the right person to make that tool. But for most of us, in most areas of our lives, we should be fairly reasonable and try to limit our pickiness.
  • The essay I have on this, I think it's on my blog. It's called good enough is better than best. Stop looking for the best, because Being the best is very external focus. You'd have to evaluate all tools. You have to keep up on all news. You have to think about what other people think.
  • Whereas good enough is very self focused is what it was about what you need, what you know. And it's a very nice shift because there's more of a satisficing rather than a maximizing mentality.
  • And, and I think that that's a more sustainable way to, to live life, to be honest, like there there's just so much FOMO out there so much, like anxiety of over, like I did I make the right choice here. Yeah. I think that the more you let go, you're the happier you'll be. And I think, I think we need to, make, make room for happiness in our, in our collect capturing, like, we need to enjoy this, essentially.
  • We're not taking on a second job to like, try to prove that we're better than anyone else. This is for us.
  • There you go. That's the George Bernard Shaw quote. Okay. Yeah, I think that's it for for our one and a half hours together. We'll try to do this every week and I'm gonna trying to get better and yeah. Thanks. Thanks so much for your time. And we can continue this on circle or on email, however you prefer.

Thanks so much for coming. Great. Thanks everyone. Thank you, Shawn. This is great. Thank you.

View Details

Audio and Transcript: https://www.thisamericanlife.org/233/starting-from-scratch

Jorge happens to be an executive editor at Gimlet Media, a frequent background appearance in credits and shows like Startup and Heavyweight.

Ira Glass

Things are just starting to look up for Jorge, when the thing with the TV happened. He had just moved to a new town, started his life over, found some work, got a place. Years of searching around in vagueness were ending.

Jorge Just

It's going well. Like the way that I'm procrastinating now is by-- like doing work. You know? Coming into my home, I feel good. I'm paying bills relatively on time.

Ira Glass

He'd moved to New York City, which was scary. And walked into an apartment that real New Yorkers told him was a find-- a little studio in the East Village. One room. Good location. Cheap. And then one night he's sitting at his table, watching The Bachelorette on TV. And it's the episode where the bachelorette has whittled it down to four guys that she's going to pick one from, eventually. And she's in New York City visiting one of the potentials.

Jorge Just

And you know, she goes out to dinner with his family. And they eat, and you know, they've got the shifty-eyed sister. And you know, like everybody's family acts the exact same way. You know?

Ira Glass

Right.

Jorge Just

And then they get in the limousine, and they decide to go back to his apartment. Now I'm on the edge of my seat. Because I moved to New York-- it's an enormous city. And I would be so excited if I could recognize the street. I would be so excited. It would just make me so happy. And so I'm totally-- I'm totally excited. So they get out of the limo, and he hugs her in the street. And they pan and they show a building. They show an awning. And it's my awning.

Ira Glass

It's your building?

Jorge Just

It's my building. It's the awning to my building. It says the address. It says the street. It's-- you know-- it's possibly the only place in New York I actually know. (both laughing) And then he opens the door, and she comes in, and it's my lobby. You know? There's my lobby. There is the row of mailboxes, you know? And I'm just like-- I'm out of my chair. And I'm-- I can't talk. I'm like-- you know-- like pointing at the TV.

Ira Glass

If it were me, I would think like, are they here right now? Like in the building?

Jorge Just

You're too smart. I couldn't think. I was just like, aaah. [Ira laughs] You know? You know what I mean? I was just like-- I was just flabbergasted. It just couldn't be happening, you know?

Ira Glass

He watches them take the elevator up to the fourth floor. Jorge lives on the fifth. They walk down the hallway door. And then Jorge realizes something else.

Jorge Just

You know, he doesn't just live in the city as me. He doesn't live on the same street as me. He doesn't just live in the same building as me. He basically lives in my apartment. He lives in the exact same apartment. This exact same layout.

Ira Glass

So wait a second. So the camera goes inside this apartment, and you see your apartment, basically.

Jorge Just

A much better version of my apartment. His is much better. The walls are wider. The place is cleaner. The furniture is nicer. He has a half wall. He's got a half wall.

Ira Glass

A half wall with brick, glass, blocks?

Jorge Just

It's like drywall, you know? But it seems like it has some sort of counter top kind of thing on it.

Ira Glass

And at that moment Jorge gets this flash. He is not really doing all that well. His apartment is a kind of dump, compared to this guy who's on TV. Plus he's watching Trista Rehn, the bachelorette, on TV, looking uncomfortable in his apartment on national TV. In fact, she bails on the guy.

Jorge Just

She leaves the apartment, and they cut to like that head-on interview. You know? And she's looking into the camera. And she says, I've dated guys with really bad apartments before. I can't judge him on that. I have to-- I have to find out why he feels like he can live in an apartment like this.

Ira Glass

She ditched him because of the apartment?

Jorge Just

Yeah. Yeah.

Ira Glass

Wait. He lost out on the bachelorette because of the apartment?

Jorge Just

Oh yeah.

Ira Glass

And it was your apartment?

Jorge Just

But better.

Ira Glass

[laughing]

Over the next few days it all sort of goes to hell for Jorge. He's depressed. His new life does not seem so shiny. His New York friends console him. Look, they say, the bachelorette had never seen a New York apartment before. She does not know how people here live. This means nothing. Which helps him for a while, until one day Jorge picks up the New York Post, and right there is an article about his neighbor, Todtman-- the guy from The Bachelorette-- getting busted for cocaine.

Jorge Just

Third paragraph. "Todtman's fate on The Bachelorette was sealed the moment Rehn set foot in his squalid Avenue A studio apartment."

Ira Glass

[laughing]

Jorge Just

Do you understand the weight of that? Squalid. "Squalid Avenue A studio apartment."

Ira Glass

So this isn't just like people from outside New York.

Jorge Just

This is the New York Post. Nobody knows New York apartments like the New York Post. These guys have been in the most squalid New York City apartments. It's squalid, you know? It's squalid. Squalid. Squalid. You know? There's not that many definitions for squalid. There's not many ways to look at the word squalid and think, mmm, maybe they mean kind of hip. You know?

Ira Glass

Somehow, without ever meaning to, Jorge had the experience that a person would have if he actually went onto one of the reality shows, and then got booted off the show. National television came into his apartment, and then kicked him off the island, by proxy. He was like collateral damage to a reality show.

Jorge Just

You know, I never-- I didn't want to be-- I didn't want America to judge me and tell me my apartment sucked, you know? I didn't want that. But that moment when they came into my building, and they opened that door, and it was my apartment, I thought I was-- you know-- I thought that I was hot. I thought that it was-- you know.

Ira Glass

Yeah.

Jorge Just

And then all of a sudden it's like-- byoo byoo boo. [Ira laughs] You know?

Ira Glass

What was it?

Jorge Just

Byoo, byoo, byoo, byoo, byoo. You lose, you lose, you lose, you lose. You know?

Ira Glass

Jorge says that if he hadn't just moved to New York City, if he hadn't just started this whole life, it would not have been the kick in the stomach that it was, which brings us to today's radio program.

View Details

See video for illustration: https://www.youtube.com/watch?v=BrK7X_XlGB8

Julia has other great videos:

  • Big Think normie intro version
  • Is Bayesian thinking a sham?

and more on her youtube (inactive)

View Details

Audio source: https://www.listennotes.com/podcasts/deep-questions/ep-95-how-do-i-maintain-the-G-UVTlaN1b7/

Recommended read: https://stratechery.com/2020/social-networking-2-0/

View Details

Audio source: https://a16z-live.simplecast.com/episodes/the-good-time-show-the-coinbase-story-with-founders-brian-armstrong-fred-ehrsam (30 mins in - Balaji speaks first, then Brian Armstrong)

  • https://en.wikipedia.org/wiki/Balaji_Srinivasan

Balaji's Talk: Silicon Valley's Ultimate Exit - video at Startup School 2013 (16 mins)

Reactions to his talk:

  • "Software Is Reorganizing the World". Wired. ISSN 1059-1028. Retrieved 2021-04-30.
  • "Tech Should Make It Easier To Escape Government Control, Says Startup Veteran Balaji Srinivasan". Reason.com. 2013-10-30. Retrieved 2021-04-30.
  • "Silicon Valley's Elite Don't Want to Secede. They Just Want to Stay on Top". Wired. ISSN 1059-1028. Retrieved 2021-04-30.
  • "Is Silicon Valley Arrogant? Not by My Definition". Bloomberg.com. 2013-11-08. Retrieved 2021-04-30.
  • Giridharadas, Anand (2013-10-28). "Silicon Valley Roused by Secession Call". The New York Times. ISSN 0362-4331. Retrieved 2021-04-30.
  • Manjoo, Farhad (2013-11-04). "Silicon Valley Has an Arrogance Problem". Wall Street Journal. ISSN 0099-9660. Retrieved 2021-04-30.

View Details

Audio source: https://soundcloud.com/venturestories/andrew-wilkinsons-lessons

Twitter thread on anti-goals (and blogpost)

Help me share this on Twitter!

View Details

See their public Notion doc which got me very interested: https://www.notion.so/Comm-4ec7bbc1398442ce9add1d7953a6c584

They are hiring: https://www.notion.so/commapp/We-re-hiring-b0a4cef3f8b34b8c91e3236c98aabcb3

Watch the video version if you prefer that (there is some screensharing at the end): https://youtu.be/lWCOruAWpW4


Transcript

swyx: [00:00:00] Some of you might know that I do some angel investing on the side and I keep a cold email address open for that purpose. So a few weeks ago I was called emailed from someone trying to raise money for an end to end encryption startup. And that's something that I don't normally play in because they don't know anything about encryption.

So I almost turned this down except I click through and read their notion doc. And it's the most comprehensive and concise pitch I've ever received through a cold email. So I took the meeting and this conversation with Ashoat is what happened. He's building Comm, which is an end to end encryption startup, but his go to market is an alternative end to end self hosted version of discord, focused on privacy.

Of course. The long term vision is that it could replace Dropbox, Gmail, Facebook, Mint, 1Password, and so on. If he gets this key server protocol right, and successful, he gets some kind of market adoption. So that's a very big if, but the upside is also huge. And whenever you encounter one of these things, that becomes a very interesting angel investment because you'll probably lose your money, but if it succeeds, it succeeds very big.

He's looking to hire senior engineers and a product and a design lead. So stick towards the end for those hiring and collaboration details. If you are interested, all right. Enjoy.

Yeah, good to meet you too, man. It was very impressive. Your notion doc.

Ashoat Tevosyan: [00:01:26] Thanks. I'm glad you read it. A lot of folks kind of skim through so it's great to see that you want in detail.

Wait, so, so you wanted to record this right? Was that

swyx: [00:01:35] yeah. Literally it's just like adjusting. I think it would be interesting to either share if you want to, if you. Don't mind sharing. We can always cut stuff out if you're not comfortable with it or you can just keep it to yourself and then look back in four years or something and think about how things have changed.

It's always nice to request stuff.

Ashoat Tevosyan: [00:01:54] Yeah. Yeah. I'm when you say shared, do you have like a social media thing that you want to share? Yeah, I have,

swyx: [00:01:59] I have a YouTube or an F a personal podcast where I recorded conversations that are interesting with people.

Ashoat Tevosyan: [00:02:05] Yeah. I'm honestly, I'm down. I'll tell you, I've done.

I've done this pitch like a hundred times now, so I'm pretty good at it. So I'm pretty comfortable being recorded. Let me ask this, what's your setup? I sometimes record meetings. I use green, but I think that's more for I don't know getting transcripts to share with the team and stuff like that.

I don't know. What do you usually use?

swyx: [00:02:23] For recording. Yeah. I mean, I've, because zoom is going to kick out two audio sources. Then I might edit in audacity for echo or like noise or whatever. And then the scripts for cutting out ums and AHS and word gaps and stuff like that.

Sometimes if a conversation needs a lot of VR rearranging, I might have to like, so I did this one episode where. There was the two guys talking about a concept, tofu, MOFU, and BOFU, top of funnel, middle funnel, and bottom of funnel. And they'd collected to define it until the end of the episode.

He spent the entire epistle talking about it and I had to go cut the thing and then put it on top and then,

Ashoat Tevosyan: [00:03:03] yeah. Okay. Okay. I got it. I got it. It sounds like you have a more, much more professional setup than I do. So, I mean, whatever works for you,

swyx: [00:03:10] it's immature. Put with a little effort put in. I think people can get along way towards instead of just dumping raw audio, which most people seem to do.

Ashoat Tevosyan: [00:03:19] Cool.

swyx: [00:03:20] Yeah. Cool. So I read through it, I read through your thing, which is why, I, it seems like you've practiced this for a bit. You have a really interesting background. I've always wanted to visit as a Biogen. Like when I saw backhoe, I was like, wow. I recognize that for me, I was memorizing it

Ashoat Tevosyan: [00:03:33] just some background.

I think we Armenian and there is huge ethnic tension between Armenia is or vagina. You can. Think of my family more as refugees. Yeah. Were like Armenian refugees from Azerbaijan. We actually can't visit us every Shawn. If an Armenian person with an Armenian name tries to visit as her vagina, they won't let you in, my parents have not been able to visit their home since they were kicked out.

So yeah. It's a weird background, but yeah. Just that

swyx: [00:03:58] I'd share that. Yeah. Cool. That's cool. Lots of history. The, obviously the most famous Armenian I know is a Sonoma session on the Conan show. Who is that? I

Ashoat Tevosyan: [00:04:08] don't know who that is.

swyx: [00:04:10] Yeah. She's

Ashoat Tevosyan: [00:04:12] yeah. Okay. She's like his production assistant or something.

swyx: [00:04:15] Just straight up assistant. Yeah. But I think now she's a little bit more into it since then. She's he turns his staff into celebrities.

Ashoat Tevosyan: [00:04:22] Oh, that's cool. That's cool. I only seen some secondhand Conan material floating around. I don't want it.

swyx: [00:04:27] Well, they visited Armenia and they learned a bit about the history and the genocide there and all that.

So, It's heavy stuff. I didn't obviously pay super close attention to the police history, but I know that there's a, there's some heavy stuff going on. Okay. And then you joined Facebook super the it's just like a really inspiring story, man. And that's pretty cool.

I'm unclear on, you said you worked on comms for four years. I'm unclear on like when that transition happens, why it happens? Because it takes a certain. Awakening to quit Fang and start work on something. So fringe, I think it's been,

Ashoat Tevosyan: [00:04:59] I don't know. I don't know. Pretty fruit and share.

Yeah. Yeah. So, so a couple of things, first, when I say I've been working on calm for four years, I actually only got the idea for this like whole antenna Christian platform. About a year ago. So when I say been working on it for four years, I mean, as well, the code base I'm working with has been around for four years and I've been pretty actively working on it.

But before it was common, something called squad cat, which is basically this app I built for my friend group, it's like a slacker friend group with an integrated calendar. And specifically the star was my burning man camp were like 200 people and we have this problem. We've tried like Slack, we've tried discord.

You have this problem where we were simultaneously very scammy. We like shoot the shit, have fun, But we also have all these deadlines and all this project collaboration that needs to happen. And on these platforms it's often very difficult to separate signal from noise.

It feels like they're built to be, just span out everything. You're thinking. And there aren't a lot of tools there to say, I want to follow this. Or I want to make sure, I get updates here, but maybe I'll only check this channel when I'm on the toilet or something, and they're getting better.

They're rolling off features, but I still feel like it's like a second kind of priority. It's not something that's really at the forefront. So that's a large part of why I built squad cab. The other kind of side of it is I use different my own friend group here in New York. And yeah, I've been working on it for a while, but off and on, honestly.

And only about a year ago, And I, when I started working on the antenna encryption layer, which I always wanted to do, it's something that kind of the, the pandemic happened that was stuck at home. I was like, what am I going to do? And I decided to work on that antenna encryption layer only then when I really got the idea for comm.

And since then also we were really pivoting a lot of the apps. So there's been a calendaring focus and now it's being put to the side and being framed as the first app. And there's actually meant to be like, any number of apps that you can install to your community.

You had this, the other question you can ask, like what, what made me leave Facebook? So, I guess, I guess it's probably best to start with the story of how I joined Facebook. So. I guess I was like a wide-eyed college student. Background is I actually, I've always been, I love kind of social.

And my programming, has always kinda been from that angle. My whole family is actually programmers like my mom and my dad, my uncle and my cousin and my sister, everyone. It's kinda crazy. And I learned how to program pretty young, but I found most of it boring. Like my P my parents gave me Kane R when I was 12.

And it's read through it, read some, a calculator, command, prompt apps. And I was like, this is not fun. And honestly, I really only got into it when I discovered PHP and forms. That's what really got me excited. And this is like circle like 2000, 3004. And all my early programming was like modding forms.

So I had this From where I had all my friends on come online, we like hung out there. I like skinned it and then started adding these like different mods. I actually, at the time, there's this model of posting for hosting which, you probably don't remember unless you were spending all the time back then, but basically the idea is you go on a forum, you post a bunch, they'll give you free hosting for your own website.

Right. And so we started doing that and we offered like a lot of features and got pretty popular pretty quickly. For a while we were, if you Googled free hosting, the first site was his directory and we were listed this number one on that directory. So we were like the largest free host for a long time.

This is a lot of my kind of college years, actually more high school. And then early college was like also building on automating that, that kind of hosting service. And we actually we scaled it to intense amount. Like we scaled to the point where, so we use this control panel C panel. There were. We had more accounts on our server than they did when they did the load testing.

Like they had like internal load testing. They did, we had all this like customization we did to make that happen. So anyways, long story short, I was really into social, always having into social and Facebook came out for high schoolers, got really into it. I started posting everything on Facebook and which is, I guess, common back then.

And I wrote several browser extensions for Facebook and one of them added a search box to your profile. And that one got pretty popular. Right. And I personally used it because I. Facebook. And I always wanted to like, have a conversation with somebody like, wait, like I want to share this article with you.

And I would forget who wrote it or what, where it was from. And so I would want to search my own profile and I used to just click see more posts manually until I found it. So that's what my browser extension did. I wrote in like a weekend. And it would just click see more posts for you, whatever.

So anyways, that guy got me noticed by Facebook and noticed I like applied through like the college program. And then the recruiter I'd mentioned this, the recruiter, and she said it was cool anyways. So I got an internship there, his sophomore year. This is 2011. So give you some background.

Facebook at the time was like one, two story building. There was technically two buildings, but like most of engineering was in product and design was in this one building. Right. And it was just, it was, it felt crazy. Like it felt I mean, Facebook was already huge at the time. Right. And it felt every, and there's no politics.

Everyone was like working together. Everyone knew each other. It was. Felt like a pretty magical place. And on my second day there was a hackathon and some this hackathon I'm like, okay, I'm going to do, I'm going to take the search thing that I built and I'm gonna make it happen for real.

So I got a little team together. We got nowhere on that first day. Like it turns out it's way harder to build a search index. Than it is to click this, let me make this look, browser extension that click see more posts, but I kept on working on it every day. Like after, after work, I worked on it a bit more and made a little bit more progress.

And probably what made me fall in love with the company was halfway through my internship. My managers told me to forget about my assigned intern project. Then I could just work on my hackathon thing. So yeah, it was like a kid. I was like, that was so amazing. Right. So I didn't ever left Facebook. I like kept working there.

I worked on the project alone for a year, so I was so on this project building the surgeon X for a year. And after a while actually became a major strategic priority for the company. There was a goal to create like a whole like search and expert posts. And it was amazing. We built at the time, the largest index in the world, but that's on authority of the Google engineers we poached.

So it was like the entire search team was working on this. I was a very small part, there's each like genius C plus plus people like my mentor, read the entire sequence plus 11 spec to give you an idea. A single replica of our index is 25 racks in a data center. And each of them was outfitted with these like fusion IO cards.

Which were at the time, like the thing there was some sort of in between Ram and hard drive or it's like a, yeah, it was like a precursor to flash drives, I guess it was a kind of flash drive, but we bought out all of the flashcards. There were some Taiwanese company we bought all of them.

It was so expensive anyways. So this is a background after that I worked at kept working on Facebook. I wanted to try something new. So we, I moved to New York. Started a new team called public conversations at the time, every time Mark posted on Facebook, he just got standing comments. So you wanted to make this better.

And I always had this passion for discourse. So I wanted to improve the quality of discourse on Facebook. So I was our, that was our team motto. We were improving the quality of discourse on Facebook initially from the common ranking stack, which we built out initially was just like ripped off from Reddit.

We built out all of this like natural language processing, deep learning stuff that I honestly don't have. Full understanding of but that team was amazing. It was great to, I was engineering manager also vaguely the PM cause we never managed to staff with him. But so what made me leave Facebook?

I'll tell you is It was a confluence of things and it, at the time, like it was a very difficult decision, but it also felt like a very clear decision. And what I mean by that is basically with all we had this team going public conversations seem that I loved. And after several reorgs, we were in an org called media.

And Mark got really excited about live video in 2016. And so he did this company-wide lockdown and then he rotated our entire org to work on live video. So my perspective, I, I'm no issues with live video. Like I'm, it's sure. It makes sense as a company priority, but it's not my passion, so there was that there was also, this happened at the same time as my four year vest. Right. And so all these factors pointing to like this is probably the time to leave. Yeah. Let's see. Yeah. I had a pretty I, my final meeting with my director, I was like tearing up and stuff.

It was pretty intense in retrospect, probably more intense than it needed to be. But this is a business decision.

swyx: [00:12:19] Yeah, that's fine. Yeah. Yeah. Yeah. But they like, th they were a big part of your growth, right? From college. Like you, you didn't have to finish college too.

And then you worked at one of the fastest green companies on earth. Like it's a big part of your identity that you're leaving behind.

Ashoat Tevosyan: [00:12:32] Absolutely. I felt, yeah, like it's hard to overstate, like Facebook, to me, wasn't really a company. It was like the only company I've ever worked at. It was like, to some extent, like it's exaggerating, but there was an aspect of being like a, like a family in the sense that like I had done this internship with all these interns in 2011 and we all felt pretty connected and we'd saved the company and it like, yeah, I dunno.

I don't think it was good that it felt this way to me, but that's how it felt. Let's put it that way. I just,

swyx: [00:12:57] I, I love a little, a few of the tippets here. First of all, working on the thing that you think should exist and then eventually the company comes around and recognizes it that I think that's a very common thing I see in smart people that like, you should just ignore what people will tell you is the priority and think for yourself.

And obviously you should do your job, but then also you have to have some leadership there and then people will eventually recognize it. And then the second thing is the way the market tends to lock down the company at critical stages. I'm sure you were there for the mobile pivot as well.

Ashoat Tevosyan: [00:13:25] yeah. That was huge people. People forget it now, but there was a time when Facebook wasn't. Yeah, there was a time when Facebook wasn't guaranteed. There's a time when, after Facebook IPO, the stock went down, like everyone was saying, Facebook's not going to make it. Which in retrospect, like nobody, nobody could see that being a concern now, but yeah.

swyx: [00:13:45] Yeah. Well then yeah. Anyway it's pretty cool. And yeah it's cool to hear another story about that. But okay. Let's bring it a little bit closer to time. So then you left did you have a clear idea of what you were going to do?

Ashoat Tevosyan: [00:13:54] No. Well, so, background about me is that I'd held a job since I was 14.

So I had have like multiple jobs, like grocery store bagger, like a teaching assistant at Kumon, like all this, like PR like internships and so I just been working forever. So I wanted to basically try, spend some time not working. So I, and I did post Facebook, did he have some traveling, did some like other cool projects.

I worked on this really cool actually burning man project where we built this like 16 foot tall dome that had 7,500 LEDs that animated with the music. So that was a really cool problem. Just like between the processing audio and the like led stuff. It was really fun. I worked with a close friend of mine who was like a hardware expert, so he was able to build all the hardware and I was able to do all like the software.

No was like a multi-year project. But yeah also working on squad cow that app I talked about and yeah, just a lot of source stuff.

swyx: [00:14:42] And then I guess, so you're pivoting constantly. You got you started with more like a collaboration thing, then it was more of a calendar thing.

And now it's more focused on chat. What is it based on, what is this like a product instinct that you're having, or is there a community that you're closely connected to? That's giving you all this feedback? Is it just friends. Yeah.

Ashoat Tevosyan: [00:15:01] Well, so, so I wouldn't say I'm pivoting constantly. I mean, honestly, the app was a passion project and wasn't really like a startup where was with a startup, you're like, you're trying to find something to hit send.

You're trying to like pivot until you find it. I started this thing with this kind of focus on calendaring and focus on collaboration. Just things that we needed as a camp. And in terms of the pivot to calm that all happened a year ago. So that all happened with a year ago.

I start working and I think cryption. I realized I can't build the antenna encryption layer. It literally was impossible. I would have to roll back a bunch of my features. And then I start thinking and realize, okay, actually it's impossible to build most apps with antenna encryption. You can only build these like simple chat apps, which is great.

And I'm a huge fan of signal, but that's all we can do today. Right. And so from there, I realized, okay, you know what, in the future, the only way we're going to get to privacy by default, the only way we're going to get to antenna, encryption, being something that scales is that people have their own servers.

Right. And so once I had that realization, I worked backwards of okay what's the most likely thing that's going to hit. That's going to get an install base of key servers going, because I think whoever builds this first installed base of key servers is going to be really well positioned to capture this market.

And that's what led me to pivoting the app.

swyx: [00:16:10] Can I I need to, because I don't think I understand this very well. So you can do it entering a question for Chad. I don't understand what that the material difference is between chat and every other type of app, because it's just the transport layer.

Like

Ashoat Tevosyan: [00:16:23] Yeah, that's exactly right. It's just a transport layer and that's limitation. Right? So the average app you see out there, it looks, let's take Slack. As an example, Slack is built with it's a client server model, right. And this is how apps have been built since the Dawn of time. Since back in 2004, when I was writing PHP apps, actually it was mostly server back then, but there's always been a server layer.

Right. And what does the server layer do? Right. Well, classic stuff includes like executing search query is like ranking, right? Does a lot of stuff. Right. Fundamentally, usually with a client server model, you have a thin client. The kind of client that, when it starts up connects to the server and asks the server, what do I need to display?

The server tells it everything. And the client just like only keeps around what it needs in the cash. The next time it connects, it gets to that same background and end to an encrypted chat app is nothing like this. Right? An antenna encrypted chat app takes all that server stuff. Puts it onto the client.

And then the server is just a message broker. And all the server does is, you say, I want to send a message to user X. It receives that message, queues it up. And then when user XX connects it, flushes that queue, that's all that's going on. Right. And the reason for that fundamentally is because antenna encryption is about being able to guarantee to the user.

That the app developer doesn't have access to their data and not just the app developer, also governments also service providers, but really it's about the app developer. Right. And with a server layer like Slack has Facebook has like Dropbox has obviously the app developer has access to your data.

Right. And you, the only thing you can really do with that encryption is you can put cipher text up there, but all the typical stuff that a server needs to do with the exception of maybe backup, most of it requires actually having access to that plain text. And that's why apps like signal apps, like WhatsApp.

Have basically no server layer. Right.

swyx: [00:18:01] Okay. So, does that also mean that, I mean, let's say there's an existing history, your database of documents and stuff. Like when I first connected, I have to download the full thing.

Is

Ashoat Tevosyan: [00:18:10] this what do you mean? Sorry, is this for an app?

swyx: [00:18:13] No Maybe an athletic signal, but I'm just talking generic.

Like how do you deal with data? Right. Cause you're just saying like just the queue now. Meaning that you know what? I don't know how to to me, this is obvious, like in the client server model, the server keeps all the state. Right. So now when a state, when a service, just to just the queue, there's no state on the server, essentially.

There's a little bit of state with tracking hoots who sings, what? But that big if I were to build notion yeah. Encrypted, where does the database go?

Ashoat Tevosyan: [00:18:41] Great question. Yeah. Yeah. Okay. So, so there's a, there's several kinds of points to talk about here. So with something like signal or WhatsApp that uses the double ratchet protocol, which is the protocol that signal introduced that preserves a principle called forward secrecy.

There, it gets much more difficult to back up encrypted data. Now I'll go into that in a second, but as a default, if you build something like for instance, Keybase take, took this approach of giving up on forward secrecy and using a single symmetric key. For an entire chat room. If you take that approach, you actually can back up data.

You can backup cipher text, right? Because signal and WhatsApp don't take that approach. Their server has no backup and that's crucial to understand if you've ever tried backing up your WhatsApp data, the way it works is you go through a menu tree and then you pick iCloud or depending on if you're iOS or Android, iCloud or Google drive, it keeps you have to keep the app open while it like.

Serializes encrypts everything. Actually, it doesn't, it's plain text, so there's no encryption, but it takes it and then uploads it and you keep the app open while that's happening. And now you've backed up your data as of that day. If you have some more messages the next day, and then you lose your phone, those messages are gone.

If you don't want to spend all this time with the app, open, waiting for it to upload, then there's no backup. I don't know. I don't have the numbers. My guess is most users do not back up their WhatsApp as for signal, no backup. That's just not how they do it. So you've probably had this experience.

I don't know if you've ever gotten a new phone and you see your signal chats are missing. Oh, yeah, I have.

swyx: [00:20:09] So I have two phones and when I switch SIM cards, just for international travel and stuff like that I can see that the WhatsApp doesn't transfer over. So yeah, that, that makes a lot more sense.

Now. I never really questioned why I thought it was just a poor UX decision, but now it's in my spicy it's with a necessary part of the intended question. So is this a fundamental thing? Is that, is this something you're trying to solve where you're just saying this is.

Ashoat Tevosyan: [00:20:28] So the backup thing isn't like super fundamental, so, okay.

So it might be worth talking about some alternative approaches, right? So, so the two of them might be worth talking about our matrix. Are you familiar with matrix?

swyx: [00:20:39] Not really, I was going to ask about it because it's the other big end-to-end chat thing. Yeah,

Ashoat Tevosyan: [00:20:44] yeah. Matrix is super cool. They have in a lot of ways, similar model to what we're doing.

They have this idea of you have a home server and that your home server tracks your data. And they're a little bit more focused on kind of interoperability and allowing different any different client that you want to use can use the same kind of matrix protocol. But crucially there, the big difference is, for antenna encryption on the matrix platform.

It's still client-based right. So your home server doesn't have access to your plain text. That makes sense, because the way they set up home servers, you find a home server provider on the internet somewhere. It's like some service provider, right? So you don't want to just give access to your data to that provider.

Right. But matrix has a protocol, an antenna encryption protocol that actually is pretty similar to double ratchet for licensing reasons because they didn't want to use the, a, the BS, sorry, the the GPL license. They built their own and then BSD licensed it. They it's called Megal, but it's pretty much ripped off from from double ratchet.

So very similar with forward secrecy. So the way forward secrecy works and the way double ratchet works is every single message that you send has a different encryption key. And that's important to understand, right? So you might think you have just like one encryption key if you and I are having a chat, right.

We're just encrypting each message with that same key. Or maybe we each have our own, we encrypt it with that key. That's not what's going on. Actually, each message has its own key. And the ratchet part of double ratchet is every time you send a message, that key gets ratcheted and a new key is created.

Right. And why it's called double ratchet is because every time, so let's say I send you four messages, then you send a re a message back. There's a new Diffie-Hellman that occurs. Are you familiar with Diffie-Hellman? Okay. Okay. Backtrack a little bit. So did the Holman is a definitive cryptographic protocol.

It was pioneered and then maybe the seventies or eighties, and basically what it does, is it you can imagine two people in a crowded, like a bizarre, let's say you're, somewhere in, in I dunno, Istanbul. And there's a thousand people around you can yell at each other.

Like what person a is a secret in the air person. It's not a secret, just like some something, they all, something personally VL something in the air. And from that point on these two individuals can communicate in public encrypted, completely secret in a way that no one else can understand what they're talking about.

And they went into this without any prior secrets either. So they met in this spot, they yelled these things out and now they have a secret way of communicating. So if you home is how like TLS works. Like when we go to HTTPS websites, like it's a backbone of everything, right?

So when you have anti-corruption defeat divvy home, and it allows you to random individuals to be able to create this like encrypted channel with each other. So with double ratchet and new defi home and occurs every single time, Some like the conversation is switched. Like every time I start talking a new Diffie-Hellman occurs and every time you start talking a new Diffie-Hellman occurs, that's the first ratchet.

The second ratchet is every time you send a message, there's a deterministic ratchet. One that both sides can like predict, like to say, okay, this message now gets ratcheted into this key into the scheme to the key. Okay. So all this background is to point out that in order to be able. So, so the default way you would imagine a backup would occur and the default way a backup occurs for an app like messenger is I send you a message before, before Facebook messenger even sends it to you.

It backs it up, right? It takes that message and it stores in its database, right? It's a really easy, transparent, automatically backing up. You don't have to manually back anything up. You don't lose your data since the last backup. It's great. Right? The issue is because every single one of these messages has a different key.

And because obviously those keys aren't being exposed to that server. Now the server can back up the cipher text, but that cipher text is useless without the keys. And so to really back everything up, you need the clients now to take this giant bundle of keys that they've created to encrypt all of that and to back it up.

And that's what matrix does. And matrix has this. You can go on there, GitHub, there's an issue there, and this is a longstanding issue, right? If you log into a web browser for the first time, it freezes the web browser for 10 minutes, because what's happening is it's downloading all of these keys onto your client so that now you can actually get the backup and actually scroll up in your chat history.

Right. So that's one approach and it has its limitations. The another approach is will Keybase does, Keybase also tries to solve a, a similar problem with like large chats and they basically gave up on, on Ford secrecy. So their approach is are every chat has a single symmetric key.

Right. If you get added to that chat, you get handed that same symmetric key. There's a thousand people. They all have the same symmetric key. It changes. There is some stuff where if someone leaves they need to change the key, there are ways to rotate the keys, but basically ultimately the point of the system is such that, you can join a chat, you can scroll up, see all the history without having to download all these, secondary keys.

Their approach is very controversial. In terms of the, like the cryptographic kind of constraints that they're giving up on. It's hard to argue that their form of antenna Christian is as secure as everyone. Else's, they're pretty much the only platform that gave up on Ford secrecy.

Everyone else uses double ratchet. It's the standard. So. I usually don't get that deep into this stuff, but yeah it, to really deeply understand why it is, why backup is as broken as it is for antenna encryption today, you really have to understand it from all these angles and then pointing the dimension beyond this as backup is the easy part.

So I talked about like search, I talked about ranking backup is by far the easiest problem to solve, right. Trying to build like some homomorphic encryption way for a ranker to be able to see cipher texts and then to still extract interesting features from that cipher text that it can rank.

It's like an unsolved problem. I don't imagine it will be solved anytime in the next 20 years, fundamentally to do server stuff, you usually need access to plain text data, and that's the crossroads we're at until we solve that problem. It's, we're going to have simple chat apps on antenna, encryption, and nothing else.

Okay.

swyx: [00:26:29] But you're trying to go beyond that with the kinds of key server. So, so to be clear, neither matrix, I keep it Keybase do the local key server thing, whatever that is. And I still, I still don't know what it is. And I also wanted to know if there's any desktop equivalent. Cause it seems this is a mobile focused solution. So I was wondering if there's a desktop analogy that we can look at is currently functioning.

Ashoat Tevosyan: [00:26:51] So I wouldn't say it's a mobile focused solution, so, okay. So what's a key server. A key server is your own personal data operating system, your own personal kind of like private data cloud today.

The world we live in. You have a bunch of accounts. Do you have an account with Facebook? You have an account with Slack, you have account with Google, they all maintain these walled gardens, where your data is stored, right. And they have control of your data. Maybe they'll say you have some control, whatever.

Ultimately like you defer to them to manage your digital life. The queue server flips that around. And the key server model, your data is on your device. It's controlled by you and you authorize Facebook, Google, et cetera, to use your key server. And to, either store some data on there or, to enable you to communicate with maybe it's a social app.

So you can like chat with your friends, but all of that stuff you allow them to to do that. And crucially the key server controls where that code runs. Right. So you can't, as an app developer, you can't actually have a standalone app, an iOS app with a setup as it is, because that would mean that you could take that data and exfiltrate it, send it to some logging service and analytics service.

So it's basically this whole like closed platform that controls. Your data and how it works. And the goal is ultimately to take the cloud and actually to replace it with a federated network of key servers, right. These key servers talk to each other. So a couple of crucial things to understand about a key server.

First of all, what, it's not a database and this is important to understand. So a lot of people assume, okay, so this thing has all of your data, right? It actually, it doesn't need to, it can just have your keys. The important thing is right. That it has your keys. Because you can take whatever data you want and you can encrypt that data with their keys and put it out somewhere else in the cloud, you can store it in some IPFS or whatever distributed.

It doesn't happen. You don't have to be distributed. Right. The important thing is that this is just a cash, basically. Like you ask it to do operations for you. It pulls down the information it needs and does that stuff and sends the response back. Right? So we're trying to replace not the database layer, but we're trying to replace the cloud code, which is, I guess, these parts terminology, if you remember parse, but like this idea of code that runs in the cloud server layer code, that's what we're ultimately trying to replace.

And we're trying to take that and move it to. In an environment that is controlled by the user. So another thing that, can be confusing as like, where does this thing run? Right? So another thing it's that this is not a key server is not a encryption as a service. And what I mean by that is, w we are not offering you, we're not offering a service to run this key server for you.

We can't do that because crucially the key server needs access to airplane, text data. So if we're running your key server for you. We have your plain text data, right? So we don't do that. And it's actually, it's up to the user to figure out where they want to run their key server as a default.

We offer initially when we launched, we're going to have two ways to do that way. Number one is to take a spare laptop, some laptop that you're not using to plug it into a wall socket, keep it on 24 seven. And that becomes your key server. Right? Option number two is to deploy something to the cloud.

And this is we're borrowing Google outline, VPNs approach, where. They basically Google out on weekend, lets you download this like manager thing to your laptop and then it walks you through the process of deploying a VPN to the cloud and you can deploy it to AWS, to Google cloud and even to digital ocean.

So our we'll have a similar model where you can deploy to whatever account you want. Obviously, Amazon will have access to your data. Whether that matters to you, I think is depends on the person. I'll say this, like it's not Amazon or Google's business model to be reading your data.

I'm pretty sure that they tell you that they don't read your data. And I think only in the case of a government order, would that become relevant? And so I'll say this we're not trying to build like this, like super we were trying to build a world with privacy by default.

That's what we're going for. Right. And I, I think having your own kind of platform out in Amazon or a Google, like it is privacy by default it's a system where your data isn't being harvested, where data is and being monitored at all times. It's not quite the same as maybe what a spy would want or like a criminal would want or whatever else.

And maybe for those users, they probably want to keep using signal or her Maybe they'll have a key server on a, a laptop at home, but what we're trying to do is build something for the average user to get away from this world where you're just being tracked all the time, yeah.

swyx: [00:31:01] A couple of questions. So when you say things like it will replace Dropbox, Facebook and so on. Yeah. So something like the how much, so as a Let's say I'm I'm I wanna, I want to start the next Dropbox. I'm going to start the next Facebook and I want to build it with the premise of let's just say the key servers or anything, and I want to interact with all these, how much control do I have on changing the schema?

Cause that's, I think that's ultimately what I want, right? If I can only get what the user gives me, then my pace of development is very slow. Does that make sense?

Ashoat Tevosyan: [00:31:30] Yeah, no you're absolutely right. Yeah. I mean, so in terms of a typical app, when you're developing in typical app, you have access to all this stuff that you do.

Yeah. Well, this model you don't right. And so there, there's a couple kinds of ways around that. One thing that you could do is as an app developer, you could say, okay, in order to use my app, you have to friend me. On comp. So you have to take, you have to actually friend Milo corporate account, and that will allow Congress to actually say, okay, we can send data to this because we limit who you can communicate with based on your social graph.

Right? So you could imagine a world where basically most apps, because the app developer just needs some logging data to be able to move forward. We'll ask you to authorize the app to actually send data out. Right. Right. And that's a trust relationship that you have to have between the app developer and the user w we want to do is to make that explicit.

Right. And I also think that, depending on the application, right? So something like Dropbox, I'll say, it doesn't have to be too complicated. Like it's ultimately like this like file storage thing. And I think ideally if I was picking between an app that was maybe it was app development like finished in mostly several years back.

And they just had something that works and they don't need to constantly be like getting all my data. I would probably prefer that to an app that's maybe being like, constantly evolved, but is, has this like kind of leak in there. Right. But probably depends on the app. Right. So if you imagine maybe like a social app, I probably would make that trade off in a different direction, given that, It's harder to iterate on a social app like that.

So it probably depends on the application. What kind of data you're putting on the application, all this kind of stuff. But the important thing is users should be aware of it and the users should have control. Yeah.

swyx: [00:33:08] So, but to be clear, the vision is that other people will build all these apps on top of calm rather than calm building all of these things.

Right?

Ashoat Tevosyan: [00:33:16] Yeah. So, well, so w we, we don't believe we can launch this as a platform. So, if we just throw this thing out there and just say, Hey, write apps for it. It's a hard sell because we don't have users and, users want to see apps. So we're starting by actually building out what we think of is like a killer app.

And that's this like discord competitor, and the thinking there is, Discord, it's been so successful and it's Testament to this desire for private chat communities. Right. But discord is built a product for gamers, right. And it's really good for gamers. And what gamers need is like time in the moment, kind of real-time chat, right.

But that's not what everyone needs. And you have so many communities. And I have so many communities on discord now that needs something different. I have all these blockchain communities, all these, get hub developer communities that probably need something that's more structured, that's more asynchronous.

Right. It's more collaborative. And so. The way I look at it as this court is bound to get unbundled. There's no way in five years that we don't have like 10 discords. Right. And we're starting by basically building the anti discord exists. We're trying to take the opposite kind of angle, build something that's very complimentary to the score.

And so I think there's a real need in the market for this. And I think the end of the antenna encryption is a huge plus, especially given we're targeting these initial kind of blockchain developer get hub nerds. And the hope is that these are also gonna be the first people to actually build apps in our platform.

Right. But yeah, I mean, your point is correct. Like we, ultimately, this is meant to be a platform. And when we get there, like the hope is that we'll have users building apps on our platform rather than us being this like singular app developer.

swyx: [00:34:37] And that's fantastic. And I often reflect on how.

A lot of times people who want to build platforms end up building product first, and sometimes the product just takes off way more than that. That's cool. And Oh, which right. Like then it just proves the viability of the platform and more people will come on and build on platform, which is great for you.

It just, it does spit your attention a little bit, but whenever you're pretty committed to this how much have you built already?

Ashoat Tevosyan: [00:34:55] So I don't know, probably not too much. So we have an app and that happens is actually, pretty mature. It, given that I've been working on it for a long time, so we have an iOS and an Android app website, but all this key server stuff I'm talking about really has not been built out.

We're just getting started on that stuff. So the, I mean, this company really got started in January. We have one employee besides me, so we're really not much of it has been built.

swyx: [00:35:17] Gotcha. Can I see, because I don't think I saw it. You sent me, so all I have is this notion thing. Oh yeah.

I saw the, yeah, I don't think I saw any fighter or app or anything. Okay.

Ashoat Tevosyan: [00:35:28] So yeah. It's all good hub.

swyx: [00:35:31] I'll share my screen just in case anyone is watching. Yeah, no, this is cool. I always like to start things for people. Oh

Ashoat Tevosyan: [00:35:39] yeah. Thank you. I appreciate that. Okay. Yeah. So, so this is as it is, it's mostly like just the team collaborating on this thing.

So it's not yeah we tried using that a while. Okay. That

swyx: [00:35:52] since it comes and goes, I find it very useful if you commit to it. But then sometimes, stuff happens

Ashoat Tevosyan: [00:35:59] Like notion mostly for that kind of like coordination stuff.

swyx: [00:36:02] So basically not much to show like publicly about your there's just active development going on.

Ashoat Tevosyan: [00:36:06] Yeah. I mean, so you can see the squat Cal app now, but that's what currently what this currently builds too. So yeah. It's squad call.org. There it is. But this is yeah this design has been, this is where I'm like 2018. You can see even the Android still has the Does it doesn't have the, what's it called full screen device?

It looks a little old, but basically, yeah. I mean, so we have this app spot calendar. We're continuing to release the thing as squat cow, because we don't want to use a new use the name calm until we actually built out the Anton encryption layer. We want to be able to tell users right. That this is Truly private.

And so we don't want to besmirch the brand with like fake end to end encryption. So we're basically continuing to use a squad count name until we get to a point where we have the antenna Christian figured out. But the Rebos under the name comm now.

swyx: [00:36:50] Got it. Okay, perfect. I mean, look don't be embarrassed about it.

This is what early stage is. Totally. You should be shipping stuff. You're embarrassed by it. But like what's the, so what's like the game plan for the next, the near term. Because it's, it really seems like this is going to hinge on. I guess this getting adoption within the communities that, that you want to adopt?

I will say that I raised my eyebrow. When you said that you think this code will be unbundled because I think this court has a huge network effect. I don't know how to overcome it. I've. I'm invested in circle and we're trying to bridge people from this court to circle and it's just seems like discord is just way more active anyway, just cause people already in it.

And so starting a new app is difficult, but then I think I said this to you in my email, like starting a new app is difficult, but if you pull it off in a, that's a hugely defensible mode.

Ashoat Tevosyan: [00:37:33] Yeah. Yeah. I mean, no, you're super right. I mean, in terms of putting our investor hats on, I'd say this is the kind of thing that's like.

Much less likely to hit than most startups. But if it does hit, it's like a, it's like a huge thing. Right. And I'll say this, I have deep confidence in the kind of two, two kind of principles. The first is that the world's going towards privacy, that, people are increasingly wherever their digital footprint, increasingly desire to have control over their own privacy and their own data.

And that, people, I think the world is moving towards like a world where you have privacy by default. And the number two thing that I have high degree of confidence on is that the only way we can scale antenna corruption, the only way we can get to a world with privacy by default is with something like key servers.

People have to have. They're one kind of server. Right? And so I hold these two things near and dear everything else like this discord idea is just an attempt to just, it just it's something that we're trying to, we're trying out. And if it doesn't work we'll try to pivot and try to find something else in terms of like, why I'm optimistic about it.

I'll S I'll say, there's a whole thing I gave the whole spiel. I gave you where I look at this as NC. Discord like being hacked in into a lot of use cases that really just wasn't built for. And I think in particular, the community is I've been talking about these like blockchain developers and these GitHub people.

They're obsessed with this kind of vision of decentralized community. Like they're already in our cult of having control of their data, it rather than deferring that to some corporation. Right. So I think there's a huge appeal there. And I'm hoping those two things we'll work together.

The other side of it is, we consider three other angles of how to build this thing and they have some limitations that the, this court approach doesn't one of the biggest advantages of the discord approach is that only admins need to set up a key server. Right. Cause setting up a key server, it's like a pretty high friction process.

I talked about it earlier, either have a spare laptop or you deploy something to the cloud and maybe your super nerd is going to be down to do that initially. But the average user is like just one installed app, and so with this kind of discord approach, only the admin needs to do it.

And the average user just sets it up on their phone, just like any other kind of app. And there's one of thing. Oh yeah. The social layer. So basically. Another big advantage of this or this kind of discord approach, as opposed to some of the other projects we've talked about.

So ultimately antenna corruption, it's it's a social thing. It's about enabling to users to be able to communicate with each other, without having some intermediary have access to that data. Right? So in order for us to be able to do that, to be able to guarantee to a user that any app that they install on our platform is end to end encrypted for us to make that guarantee.

We need to control all aspects of that app and we have to control where it runs and we can't let the app developer have access to internet. Right. And that means we have to provide the social air and for us to be able to do that when you can bootstrap a social craft. And so it's another kind of big advantage of this discord approach that a lot of the other purchases just don't have.

But yeah, I mean, I'll tell you're totally right. Like the most likely reason this thing fails is we fail to get traction with our app. Yeah, it's

swyx: [00:40:11] cool. Yeah. I mean this, I think I love the ambition. I love the mission. And you're totally right to focus in on, on, I guess, your words, the cult of people who really wants to control the data and have the technical competency to set this thing up, because I think people want privacy first, but the.

Every time you trade off UX that's a large chunk of the cock published and you just shut off. So it's a it's a challenging thing. What can, what can I, you reached out to me talking about introductions. I'm probably not going to invest at this stage because I don't really understand this as, as well as I should, but I mean, I'm really impressed by your storytelling and your background.

And I mean, I think this is a. It's one of those things where if it goes well, it goes really well. And I'm always open to ideas like that. But who can I introduce you to what kind of help are you looking for? Yeah.

Ashoat Tevosyan: [00:40:55] So the number one thing I'm trying to figure out right now is hiring.

So, we have me, we have one employee, but he's straight out of college. And we have a team in Poland. But like really I need to find kind of two personas. One is like kind of CTO, character, 10 X engineer. He replaced me. Right. And I'm doing all this code review, like right before this call, I was doing code review.

And I just I don't have time to do all this stuff. And so I need to find someone who can build out the first version of all this key server tech and own that. And then the other kind of side, I need to find somebody who's like a design product guru, somebody who can like.

Own this product definition. Cause I have some experience with product. I spent my life working on social products, but in terms of like design, I'm like, I can I'm not good at designing things super well. So I need somebody who can partner with me on that and also a lot of other, a lot of their hats that need to be worn stuff like kind of community manager, UX researcher.

So the number one way you could help me is if you know anybody who could be a good fit for either of these roles, or if no one comes to mind, if people who might know people. So second orders. So whoever you could think of who, who might know somebody.

swyx: [00:41:56] And do you have you have you applied to any of the accelerators, like the YCS of the world, but th there can be more than that.

Right? So the Techstars is also an

Ashoat Tevosyan: [00:42:04] option. Yeah. So, so I spent a good amount of time considering some accelerators. I ultimately decided against all of them right now, a couple kinds of concerns, one with this whole kind of like pandemic situation. Like they're all trying to do remote and I just don't know if I can really get to that level of confidence about somebody who just like from zoom, and I don't know if I that the magic, the collaborative magic is it going to, is going to spark? And before we go into these, they always ask for 7% and 7%. I mean, I've already raised some money. I don't think my investors are super, would be super excited about that.

And I also myself would have to really justify that pretty strongly and

swyx: [00:42:38] redacting some details about fundraising here, per request.

Ashoat Tevosyan: [00:42:41] So, yeah, so I'd say honestly, fundraising quite well. I think it's Testament to, this is like a moment for encryption right now. And I think there's a lot of money floating around.

And I think I've gotten pretty good at the storytelling and then the selling, but the part that I'm really struggling on is hiring, which is weird because, I come from a technical background, but I've already tried all my friends and I've tried their friends and yeah. So whatever you can do to help there I'd really appreciate it.

swyx: [00:43:03] Yeah. I'll keep it. I'll keep this in mind. I don't know. One comes to mind like right now I, I have, well where I work at Temporal and we're in a process of trying to hire a design lead ourselves.

Ashoat Tevosyan: [00:43:15] Yeah, it's hard, but

swyx: [00:43:16] This is a very different opportunity and we can both co-exist and I'll just make sure to route people to you when their sort of profile matches up I was also going to suggest.

I didn't know. I didn't know you're this far advanced in the fundraising because I was going to suggest talking to people like Brian Acton or Mike Krieger to invest. Cause they're

pretty

Ashoat Tevosyan: [00:43:31] active angels. I would love to talk to either of those people. Yeah, literally both, both those people are people that I would love to get connected to and haven't been able to find like an, like a, Oh yeah.

Okay.

swyx: [00:43:42] So. Yeah, Mike is a co- investor in Supabase. So, what I should do is I should introduce you to, this is going to be a w because I'm two degrees separation from him. So, I'll introduce you to Paul cobblestone, who is the CEO of super base who Mike invested in. And so if he can probably get you that warm intro Mike seems like he's just.

Investing in everything. So I think he'll at least take a call from you just because of your background and this is something that he's interested in Brian and I have zero connections to, I'm just, I just think that he's very interested in it.

Ashoat Tevosyan: [00:44:11] Yeah, exactly. No. Brian Acton obviously makes a lot of sense.

And yeah. So yeah, if I could find anybody from that WhatsApp team would be amazing. Yeah. Yeah. Also mostly Marlin spike. If you know anyone who knows Moxie.

swyx: [00:44:25] Moxie. I don't know,

Ashoat Tevosyan: [00:44:25] Moxie. Oh, sorry. This the founder of signal.

swyx: [00:44:28] Okay. Got it. Is this is how far out of death. I am like, I'm not super close.

I just, I know it's a thing and I know some people tend to initially but cool. No, no one comes to mind. don't want to over promise you, but I thought this was really compelling. And I thought, at least the least I can do is have this, have your story straight. So when I tell it to people at least get to help you pitch these things and hopefully send people your way.

I think you're, I think you were working on really cool stuff. I mean, that's, I'm a little bit jealous cause you have the space to experiment, and you're passionate about this. And, even if this immediate thing doesn't work out you'll find something else that they clicked.

So this is pretty

Ashoat Tevosyan: [00:45:02] cool. Awesome. Yeah. Thanks. I appreciate the vote of confidence.

View Details

Full video is worth watching: https://www.youtube.com/watch?v=Dq8Ufh8OCzU

View Details

Alana Kinarsky's story: https://themoth.org/stories/snow-white-in-a-fur-coat

View Details

Audio source: https://www.listennotes.com/podcasts/the-intellectual/peter-thiel-different-t5016qW_GCo/#1

Transcript

[00:00:00] swyx: [00:00:00] I always enjoy Peter Thiel's non-consensus takes on everything. And in the age where we have everyone thinking in probabilities, Annie Duke is making books where it's talking about thinking in bets.

[00:00:10] Peter Thiel was making a very strong argument for investing in founders who just have a strong belief in the definite future of the world. These are the people that are likely to stay with it and make for the big bets rather than the professional CEOs. So here's a clip:

[00:00:25] Peter Thiel: [00:00:25] I think the internal story in these businesses is one that's strikingly, not one about, Oh, we're going to take crazy risks or anything like this. It's one where it's destined to succeed. It's going to happen. As a venture capitalist, you always want to invest in the ones where they speak indefinite, future tense. Something you have to sometimes be careful. They're not totally crazy people but that's the sort of person you want to invest in.

[00:00:48] And you do not want to invest in people who are talking too much about probabilities or risks or things like that. Because my experience has been that the people who think they're involved in some sort of lottery ticket, like dynamic are already setting themselves up to somehow get the probabilities wrong and invariably lose.

[00:01:06] And there's a similar version of this that I experienced as an investor. There's always this very tricky question of what the role of luck and chance is in these things working. And there's there certainly is this external.

[00:01:16]Truth perspective that there is a certain amount of luck that's built into the nature of the universe. And you try to model it. You try to get the probabilities right. And so that when people say that luck is involved, this is a statement about the deep nature of our universe.

[00:01:32] And then there is the internal truth version where whenever we've thought that it's a matter of luck psychologically, I can say this has often been a very bad sign where you say we don't know if this is going to work. Maybe it works. Maybe it doesn't. So let's just invest a slightly smaller amount to just for our lack of knowledge.

[00:01:50] And as a pattern, I would say those are investments that have generally gone very badly wrong and has explained why. It's something like when you think you're multiplying a small probability by a big payoff, you psych yourself into playing the lottery and you psych yourself into losing because you somehow are being sloppy and not doing that much work.

[00:02:09] And so the external account of luck is that something about the nature of reality, the internal account of it is that you talk about luck when you're too lazy to think for yourself. And that you start talking about luck when you're too lazy to think through the various contingencies and try to make sense of what happens. And so that it's a moral failing and not a metaphysical statement about reality.

[00:02:30] I think the much larger narrative has been one where the word some very powerful, definite visions of the future that animated the founders and the Facebook version. It's hard to do this in retrospect, but even very early on, there were all these discussions of how unbelievably important this company was going to be. And they had to be very careful who would control it because it was going to change the media landscape in all these sorts of ways. And there are ways in which this sort of internal view of.

[00:03:00]The determination of human agency, us being able to determine the future. If we set our minds to, it gets you to a very different set of outcomes from the external view, that it's all a matter of contingencies and chance. The most important single moment in the history of Facebook in my mind was in July of 2006, we were about two years into the company's history and we received a $1 billion acquisition offer from Yahoo.

[00:03:24]The company had about 40 million in revenues, no profits. It was just a college site. I think the management team was a little bit nervous about the 22 year old CEO they had generally And there are three of us on the board, myself and other venture capitalists, Mark Zuckerberg. And and I think in fairness, the two of us probably thought that we should take the billion dollars Zuckerberg sort of started the board meeting and it started with , it'll just going to take 10 minutes when you just have a quick formal board meeting to turn this down. And I said we should probably talk about it a little bit more. And then we had a six hour long discussion about the pros and cons of doing it. And it was like Mark, you're 22 years old, you on a quarter of the company.

[00:04:01] You'd make a quarter of a billion dollars. There are many things you could do with this money. This is the indeterminate account of the future. Money is always the ultimate value because it's pure optionality. You have more options with money than with anything else.

[00:04:13] And so you should always take the cash on some level. And then Zuckerberg was I don't really know what I would do with a quarter of a billion dollars. I guess I would start another social networking site, but since I like the one I already have, why would I sell it? And went back and forth like this. I think the key point that that Mark made that that did at the end of the day, convinced us to not sell it was, there were a whole series of specific products that the company was going to be launching in the next six months.

[00:04:40] They were clearly not being valued. By the would-be acquirer and we thought, we probably were safe waiting and th they wouldn't go away that that soon. And we could go ahead and do this. And I do think that there are many challenges with having the founders of these companies continue to manage them as CEOs in the years ahead, that there's all sorts of things that do not [00:05:00] understand that. They're often young immature. There are a lot of things that go wrong, but but the one, one big difference is they actually do believe in the thing they're working on.

[00:05:09] And if we had. If we had hired a professional CEO at Facebook early on maybe they would have done everything better. Except for this one thing, they would have sold the company for a billion dollars. And the conversation that Monday would have gone something like, I can't believe they're offering us a billion dollars.

[00:05:25] I'm going to have to make sure that we don't pretend to be too eager to take it. But obviously, we've been like a litany of discussions about all the risks the company had so as to scare the board and make it really certain that we would sell the business and in one way or another.

View Details

Audio source: https://www.acquired.fm/episodes/berkshire-hathaway-part-i

Transcript

I think maybe in part because of this mindset of like I'm going to stay true to do what I'm good at, he makes the biggest missed opportunity ever maybe in history. I was teasing Ben, over the last couple days texting him saying, I've got something in this episode that I don't know if you know but is just the most unbelievable thing that you will never imagine.

Ben: Lay it on me.

David: In 1967, he writes his partners saying that he's introducing a new ground rule to the partnership. This one is quite literally the opposite of Don Valentine. He says, “We will not go into businesses where technology, which is way over my head, is crucial to the investment decision. I know about as much about semiconductors or integrated circuits as I do about the mating habits of this chrząszcz.” It a Polish word. It means beetle in Polish. Typical Warren way with words here. “This is very unfortunate.”

Ben: What was the company?

David: “Very unfortunate decision to make.”

Ben: Let’s see, 1967. It predates Microsoft by seven years, predates Apple. It’s way after IBM. What's around this time, DEC? No, it’s post-DEC.

David: No, you'll get it if you think about it enough. Silicon Valley, or just as we talked about it a lot on the show.

Ben: Is it an early Sequoia investment?

David: Just pre-Sequoia. Sequoia was started in 1972, but this is all the crew that Don Valentine—

Ben: Is it an Arthur Rock investment?

David: It is an Arthur Rock investment.

Ben: Is it Intel?

David: We're talking about Intel here.

Ben: No way.

David: Get this. Buffett, at this point, is on the board of Grinnell College in Iowa. He's a trustee of Grinnell College, which by the way, he was introduced to by Susie. Susie became an incredible civil rights activist and Grinnell College was involved in the civil rights movement. Martin Luther King spoke at Grinnell College six months before he was killed. Susie brings Warren to the college to listen to King speak. Warren is like incredibly moved by Dr. King.

He decides after that to join the board. They were trying to recruit him to join the board, so he does. Do you know who else was on the board? One of Grinnell College's most famous alumni, alongside Warren Buffett?

Ben: Noyce or Moore.

David: Yes, bingo. Robert Noyce.

Ben: Wow.

David: Alumni of Grinnell College, inventor of the integrated circuit, part of the traitorous eight, who left Shockley Semiconductor to start Fairchild, and then co-founder of Intel with Gordon Moore and Andy Grove is on the board of Grinnell with Warren. Not only has that, but Warren chairs the endowment investment committee at Grinnell. Of course, that would make sense. When Noyce leaves to start Intel and Arthur Rock is putting the deal together to finance Intel, Noyce brings it to the investment committee at Grinnell College and says, there's $100,000 piece. I think Grinnell should invest in this company. I think this is really going to be big. I know what I'm doing.

Ben: He saw the deal.

David: Warren approves the investment and Grinnell does invest $100,000 in the Intel seed round effectively. But Warren never goes near it for the partnership, for himself. In fact says, I will never invest in technology companies. Unreal.

Ben: Basically held to that for another 45+ years.

David: Totally. Not until Apple and I think—I haven’t done the research yet—Apple bubbles up within Berkshire from Todd Combs, not from Warren. Talk about sins of omission. This is before Sequoia. Imagine if Warren had financed Intel, Warren Buffett could have been Warren Buffet plus Sequoia Capital.

Ben: Wow. Realistically, what would he have done with it if he did invest in it? First of all, he’s never invested in technology business to this point. He's never invested in something that early. Everything he's bought has been pieces of public companies.

David: Yup. Established on-going cash flow businesses.

View Details

Welcome to Weekend Drops! Every weekend I drop one full length interview or conversation I had recently. This is for folks who want to keep up with me — if you came for the 5 minute mixtapes, I hope its easy enough to delete! Let me know how I can improve this for you.

Video source: https://www.youtube.com/watch?v=sL_uefhT51g

Share original tweet: https://twitter.com/swyx/status/1372013877731368961

Transcript

Maksim Ivanov: [00:00:00] having a one today. We're going to be talking with Shawn Wang. Who is mostly known as Swyx and we're going to discuss, Oh Shawn, could you please introduce yourself first?

swyx: [00:00:19] Hey everyone. I'm Shawn. I am also known as Swyx. I am head of developer experience at Temporal dot IO, but I'm also on Twitter a lot, and a general content creator.

And my principal capacity. So I'm here to talk about that.

Maksim Ivanov: [00:00:32] I mostly know about Shawn by reading his article learning in public, which is great. And also other essays. You probably know him as well. If you read this article, it's about we surely learning in public, actually showing your progress, sharing your progress putting out the material and learning by, by doing right.

swyx: [00:00:49] Yeah, exactly. It's something that when I reflect on my own career every time I've done it it's really been the determinant of the majority of my success. So that's when I went to do a speech for my bootcamp. That was the title of my speech. I wrote it down in like one afternoon and then I tweeted it and it just went viral.

I was like, okay, this is something that people want to hear about. And three years later I'm still doing it. It's it's still amazing. And I want to spread the word.

Maksim Ivanov: [00:01:14] Shawn has some great essays. So for sure, Shawn knows how to make some great content, but I would like to give some backstory to this call.

Let me share my screen. I want to show the tweet and what will be the matter of today's discussion. Share this screen.

swyx: [00:01:29] It's always scary. It's always scary when people show you on three you're like, what am I going to say? Yeah.

Maksim Ivanov: [00:01:36] So there is this thing in Twitter, which I understand totally. And I also did it.

This is why we're doing this stream today. So their power is growing, the singularity approaches and then a bunch of tweet threads with five websites or whatever amount of websites that will save some amount of time. Per week or per day or per something you can see I'm here as well. One funny thing though, is that they have on the one, like, and retweet, but whatever, usually they get a lot of engagement and this is why people do it.

swyx: [00:02:06] It is even if ours, that's what this is a problem.

Maksim Ivanov: [00:02:10] That's a problem. So, as I understand, do you think that this is a wrong approach to create concentrate? And first of all, like to discuss. What is wrong with this thing?

swyx: [00:02:20] Wrong is a strong word. I'm making fun. And it's okay to make fun is looking at me.

Funny things. That's all. That's all. So, what that team was doing was that what, if you took them seriously, right? Like, cause every tweet was like, I was, this tweet will save you two hours per week. And then the next day it was like four hours. And then she was taking five. It makes me think it's 10.

So I was like, why did you just edit it all up? Will you just not need to work anymore?

Maksim Ivanov: [00:02:43] Yeah eventually this is why this is a tweet where I posted about this stream. I said eight hours a day, straight ahead. So we can skip the whole word. They be

swyx: [00:02:51] free. Yeah. So it's obviously making fun of the exaggeration.

And I mean, I get why people do it, so yeah, that's, as far as I go, I don't call it out as like anything evil. I just think it's obviously not a very genuine, because nobody really thinks that you're saving any amount hours. So you're obviously lying to your own people just to get some clouds.

And it's also, I think that there's a Buzzfeed notification of Twitter where people are. Yeah, people are trying to turn their threads into listicles. Basically the promise, something absurd at the top, and then they'll list five or seven or 10 projects. Most of which they just saw when Googling around just before tweeting that they don't actually use.

Right. I see a lot of this as well on grifter Twitter with like, here are the top seven JavaScript projects ranked by a number of GitHub stars. Well, thank you very much. I didn't know that. And it's very clear that there's just no effort put into it now, but people just like it.

Maksim Ivanov: [00:03:45] Yeah. It's the path of the least resistance. And actually I was with my Twitter was actually even less genuine. I was actually. I didn't even care for the actual content or they wanted to see if does this technique work. So it was like double to let two layers of

swyx: [00:04:01] uninjured equity, I guess nine is fine.

Yeah. I mean, monkey see monkey do we are all Twitter is partially a game and you're always trying to figure out what you're playing for. It turns out that every people have different rules and I'm trying to inspire people to have a higher level of. Quality or purpose for themselves than likes, because I think that is the lowest common denominator.

And I, that's not something I want to see in my life. I think my I've wasted enough of my own life on that. It's fine. If you want to do it, I. It's it's it's an open platform. Do whatever you want to do on your own account. It's I'm not telling you what to do on your own car. I also have the right to be fun,

Maksim Ivanov: [00:04:43] even walking my next week that actually got some bitter tastes after doing it.

Just like when using Tinder, I got into some mode that they didn't really like when I was dehumanizing people who. I consider just as followers instead of like trying to make genuine connection, but I totally understand why I would continue doing it just because it's the path of least resistance and you eventually might get very good responses on that.

So this I would say platform or the platform itself encourages people to continue pushing out this sort of content to get likes and retweets.

swyx: [00:05:17] Encourage is a strong word that you are, you have agency in your own choices and the kind of people that you wanted that connect with you based on those kinds of tweets are very low quality people.

Just quite frankly, in my opinion. And the, and I, there's no point engaging with those people. So yeah, I mean, th there, there are other games to play on Twitter, which is for example, networking with high value people. And I'm not saying like, of course every everyone is variable and everyone, every person has value.

There are just. Some people who don't value quality and it, they just respond to very like, okay. It's like the people who click on like the Buzzfeed articles. Right. And like the, here's the seven secrets to losing weight. You won't believe number five, that kind of,

Maksim Ivanov: [00:06:08] so basically by taking a shortcut, I'm sorry, I interrupted you.

swyx: [00:06:12] No worries. It is a shortcut. It is very bottom tier content. And there are a lot of people who respond to that. In fact, probably the majority of the population. But you're saying that because Twitter gives you a lot of likes. Twitter is encouraging you to do it. I pushed back on. Yeah.

And push back on that because they're just not doing anything is all these people responding to what you're doing. And you don't have to, you don't have to respond to it. You don't have to accept it. You don't have to sink to that level. You can stand for something better that you can look back on in five, 10, 20 years and say like, I'm proud of that.

Hopefully, I'm trying to push people towards that because all these things, all these legs, it doesn't fucking matter.

Maksim Ivanov: [00:06:51] I would like to not to push back, but a little bit clarify my previous statement about Twitter, actually encouraging you to do this. First of all, a lot of people talk right now, a lot of articles exist about how growing on Twitter might help you with your career might just directly help you to earn money.

Might help you to launch products and so on. So people come to a lot of people come nowadays to Twitter, not to communicate, but just to earn money eventually. At some point in time. And then when you go there and first things you see, you follow a bunch of topics that's what the app encourages you to do.

It's the first thing that they ask follow some topics, and then it starts showing you the materials on those topics. And I, for example, followed the web development open source. Computer science and a bunch more related to programming. And what I saw then was mostly this sort of tweets, not only threads, but also repetitions of the same question.

Like, are you a programmer or a developer and things like that, or semi jokes that are basically repeated over and over and over again. And they're promoted by those topics. So I see your point. I don't necessarily agree that the platform doesn't encourage it. For instance, inside Twitter, there is right now, clubhouse Twitter spaces.

And at this moment, at least while clubhouse already became, at least in Russia SMM, a cement platform where people basically communicate to only promote themselves. So majority of interactions, there are about growth into the clubhouse. It's like Metta. Social network, where people connect for the sake of connection to gain something out of it.

And growing for the sake of growing in Twitter spaces, it didn't happen yet. At least I didn't see it. And there a while you're talking directly to other humans, it all feels much more genuine and they don't see, how could you make this kind of discussions even like, okay, I'm going to discuss top 10 articles would not, you can't even post links there.

So you see my point that plat platform and the medium that they're using actually matters.

swyx: [00:08:47] And that. I agree. I agree that by pushing the topics and making the topics of a low quality I recommend they are pushing that onto you and encouraging that. So, yeah, I agree on that.

Maksim Ivanov: [00:08:57] It could be the right counteraction for this, so that when people join Twitter, they see good content because eventually, like at some point you get some traction and you get like on YouTube and posting videos. First 1000 followers was very hard to get. I think it took me more than one year or something.

Then second thousand was easier. And then now I'm getting a thousand a month I guess, single foot for the Twitter. How to start good because making materials that no one watches or reads is not fun, what would you recommend to people who okay. I want to make genuinely good quality content and we can talk about what is good quality content a bit later, but now if I'm starting out, how do I make it fun for myself?

I mean, get some engagement in this. So people actually react, communicate, discuss. What is the good way to get it?

swyx: [00:09:46] Yeah. I have the blog posts about this, that I call pickup what you put down. And so I'm trying to offer an alternative where you're, don't evaluate the quality of your work by the numbers that you engage and usually evaluate the quality of your work by how well it.

Sorry, it's a conversation with people that you respect on topics that you're very keen on. So here's the difference, right? I'm trying to learn machine learning and I, this is an example I'm not doing machine learning is an example. But if Andre Carpathy, who is the head of. Machine learning at Uber puts out a new paper or a new library.

I can go write a blog post about that or contribute to the library or like, make a demo with a library and send it back to me. And he has a higher chance of reviewing that because it directly responds to something that he did, right. There's a social contract in creators where you're entitled, you're encouraged to respond.

And. If you become a frequent collaborator with him, you might start to get to work with him. You might become a peer. You might learn a lot more from him. And to me, one of those relationships with industry experts, where you start having a very sustainable long-term relationship with the people in the industry that is.

Much more valuable than 10,000 faceless names who you will never see. And who will don't really care about you. And the reason you do this is because that's how you avoid the content grind, right? I think you may have heard about this on YouTube as well, but it's the same in a lot of other platforms.

Not really. I

Maksim Ivanov: [00:11:17] don't know. What does this term yeah. Could you please clarify?

swyx: [00:11:20] Yeah, because the algorithm rewards consistent output that one, I'm sure. And if you couple that together with needing to boost the numbers on every single piece that you write, then you start doing very beginner posts, like how to get into development, how to, make six figures w in only six months of study stuff like that.

And that is something that is, is fun, is going to get a lot of numbers because it's a very beginner focus and there are always more beginners than there are experts. But it's not very fulfilling and it's not very genuine after a while. Right? Like you can start off doing it for sure. But everybody runs out of steam because that's not the level that you're at anymore.

You're always talking down to people. Not in none of the sense of like you don't think they're beneath you just in a sense of expertise, right? Like you're always like not pushing your comfort zone is what I'm thinking. And and you're not building industry relationships that are two way that are sustainable, that are helping you grow professionally as well.

You're just you presenting yourself as an expert and then you're like here's the content that YouTube seems to want me to create. I have no choice in the matter you do. So, so please. Try to push us off a little bit harder, try to make interesting content that engages with the relevant, industry topics and build a network rather than an audience.

Does that make sense? The difference?

Maksim Ivanov: [00:12:36] Yeah, I see now, so instead of targeting people with a very few very small expertise in the topic and trying to please the beginners, your advice is to focus on people who you personally aspire, who get inspired with. Yeah. And to make content that would allow to connect with them and have interesting discussions.

swyx: [00:12:54] Right. And and I'm not, and this is not about hero worship, right? There's a lot of celebrity culture, especially in tech. And. Some of that is justified because some of these people have really accomplished a lot in their lives. But there's also not about hero worship. So, people who are near you, people who are like just a bit above you, just a bit to the side of you, you can collaborate with them.

And you're learning together and growing together and that's a genuine connection and your friends and you'll see each other, five, 10 years down the line. You've grown together into these great industry legends isn't that much better than being like. I don't know, a million subscriber, YouTube where you're just constantly training on tutorials.

That's partially the chat. That's the origin of novel. Have you heard of it?

Maksim Ivanov: [00:13:33] It's the venture investor, right? No, no. That's

swyx: [00:13:37] Navarro, so right. So retro, we've always a YouTuber who had a machine learning YouTube and he was genuinely good for awhile. But you committed to doing two videos a week, every single week for like three years.

Maksim Ivanov: [00:13:52] I, I know real quick talking about yeah. With the gray Stripe of hair.

swyx: [00:13:57] Great Stripe of hair, a very smooth talker, very high quality and high energy videos. The problem with that, he is spending most of the time, making videos, talking down to people who are beginners and spending zero time actually advancing his own skills.

So eventually he ran out of things to do so he started copying other people's work and presenting it as his own. People have caught him just changing, like. Copy and paste with what do you mean arising or plagiarizing? And it's just a really bad look. And then he started selling courses and he said, it's like a limited sale of like 200 seats.

And then he, it turns out he sold six courses, simultaneously fills 200 or something like that. And then of course, people call him because he cannot keep that up forever. And he apologizes and they say the YouTube algorithm made him do it. Did it, or did he just choose

Maksim Ivanov: [00:14:43] removing your own responsibility and your own agency?

swyx: [00:14:47] You have a choice. And I'm not saying like, do whatever makes you happy? I don't think he was very happy. He's just a captivated by numbers and I'm sorry, it got to him, but like, that's not the way I want to live my life and I want to articulate another path for other people to follow because Yeah.

It's it can seem like it's a good deal, but you know, if you want, Hey, if you want to follow us, go and buy them. They're there. They're a bunch of bots and the New York times is, well,

Maksim Ivanov: [00:15:15] no, I don't necessarily agree with the whole stance on this. Like when you're good at.

Teaching let's say even basic topics and you're just explaining them really well. So that beginners grasp them well. And then you do courses. I think it is still a nice lifestyle. If you like, there are some uni teachers who make a good amount of money, they can support sustain themselves and live a very decent life just by teaching people.

Very basic beginner stuff.

swyx: [00:15:41] Yeah.

Maksim Ivanov: [00:15:42] The would they personally go through their courses? Not all of them. I saw a lot of people there who didn't ever have real production experience. Is it necessarily a bad course? I reviewed a bunch of them. No, actually not really. If you're just starting out, they might be really good over your view of the technology and just get you going initially.

So there are other people, like, I like the front-end masters, but from where they sell the. What is it? It's basically workshops recorded. They have really high quality ones with people who have some industry level practice, which is better. But I think there is a niche for

swyx: [00:16:19] all of that. Yeah. I think there are multiple successful paths in life.

And I will never say that the path that I want to go is the only path that is valid for everybody. They should all listen to me. No, I'm just saying that this is the first half that I follow. Here's why

Maksim Ivanov: [00:16:34] now we can slightly pivot and you could describe in a little bit more detail. What is the path you're talking about with these genuine connections and what should be the strategy and what is good content?

Like how you already covered it a little bit while talking about directing your writing or recordings towards people who you would like to connect with and network and trying to get at work instead of the audience. So, could we talk a little bit more about that?

swyx: [00:17:02] Hm. To me that is the gist of it, try to form real relationships rather than game numbers on on some website.

Like here's a good measure, right? Like, can you Is it a two-way street? Are you getting as much out of them in terms of learning as they are out of you and other measures, for example, like, can you work off of the platform, you can work together off of the platform?

One of the ones that, yeah, hang on. One of the ways that I like to say one of, one of the goals that I like to talk about on Twitter is that Your Twitter is at his best when you take your, when you meet on Twitter and then you take it off the platform, you start to move into the DMS and then you're like, Hey, let's work together on a project.

That's actually you can, I want to hire you to come be my coworker or like something, whatever, right? Like the relationship blossoms into something real instead of transactional. Okay. And if I have to explain that, I don't know how to go further. Yeah. Yeah. Another thing I think that happens a lot on platforms is that there are a lot of one-offs.

So, it's like, I'll do a sprint and then I'll like put out something amazing. And then that's it. And then I'm moving on to something else. So, intro to reacts, intro to view, intro, to spots, intro to TensorFlow and whatever. That doesn't compound over time. And I think that people should try to compound things because that will deepen your relationship in your satisfaction and your expertise rather than spreading it out in a number of areas.

Just because you're planting a flag, right. Because intro to whatever is always like where people start And that's what you do when you get, when you go for numbers. Again, no hate on you, if you're very good at that, and that's your job but that is not intellectually fulfilling to me.

And that's all I want to say really about that. But I, if you can compound and like build a whole universe of like interconnected, Content articles. That probably is a very good content strategy in and of itself. But it's also very fulfilling for you personally, because you're built, you're exploring the map and going deep on topics that really peak your curiosity and people who are, who think like you can find you and go down a path together with you.

You're leaving a trail behind you of like, here's where I'm going. I'm sharing my journey as I go is a very authentic journey. And you can follow along with me and see where this ends. I think that's a lot more fun and fulfilling than intro to whatever for the, until the end of time.

I have another concept which is not very open for YouTube which is this idea of open source knowledge. That's another blog post that I've talked about. So, closed source open source code is, has helped to replace a lot of closed source code. And I think open-source knowledge.

We can do that for a sort of private learning versus public learning. Right. But not just public learning. It's also collaborative learning. For YouTube. YouTube is not a very collaborative place. Like you can do, I guess, chats like this, but you're not really ever collaborating with your, with their readers.

What about free code camp? What about it's

Maksim Ivanov: [00:19:50] this sort of concept being on YouTube where people can contribute to this channel? Or are you mean something very different?

swyx: [00:19:57] That's fine. That's okay. I mean, obviously it's a nice resource to have and it's it's a really good learning platform.

Maksim Ivanov: [00:20:03] That's open source learning.

swyx: [00:20:04] Sure. I mean,

Maksim Ivanov: [00:20:05] how would it look like, okay, let's say open source learning on YouTube. How would it look like?

swyx: [00:20:09] Sure. Who's the guy who read for you, friends. The FICO can eat you. Bill cartons,
both Heinz runs the free YouTube. They post something like four to seven hour videos, every week or every day.

Do you think he watches all those videos

Maksim Ivanov: [00:20:22] or everything that they post? I don't know.

swyx: [00:20:24] Absolutely not. Come on. Are you serious?

Maksim Ivanov: [00:20:27] He personally might be not, but they probably have editors. Do you think they don't watch it

swyx: [00:20:31] pretty much

because I submitted

Maksim Ivanov: [00:20:36] it. And what did you have some Easter eggs there or how would you

swyx: [00:20:43] it's just like he just comments on the intro and the ending. That's it like the middle he doesn't really see is some QC for like engagement and stuff like that. He's not learning, he's running a TV network.

Okay. And that's a different thing. Is that open-source knowledge to you? I don't know. To me it's a form. It's a, it happens to be a nonprofit, a public charity, TV network, but it's still a TV network. And that's fine. You know what I'm trying to say here is for example like what is Wikipedia?

Wikipedia is the first most successful. Example of source knowledge, where we used to have this printed, exactly PDs, where we do hire experts and you have to buy it every single year. Like here's the new stack of 26 books or something. And it just completely got destroyed, right? Because people just collaborated on updating the one resource on, on, on I guess encyclopedic knowledge.

What if we could do that for anything that we were just added, right. Hey, I'm learning reacts type scripts. Let me just throw up a, get a repo and there's no code in here, but there's there's every everything that I learned about it organized in a way that makes sense to me and people who come along and see what I'm doing.

And once it helps. Also on that they can be a bit behind me. They can ask questions or they can be a bit above me and they can contribute advice or fixes. And that's build this into a good resource that's collaborative and long-term I think that's a fundamentally. Awesome thing.

And that's actually what happened to me by the way. So two years ago I did react to tactical cheat sheets and that's become the de facto community documentation for reactance associates, because people from Uber and Airbnb and Microsoft and wherever, it just came by and added content. And that's open source knowledge, right?

It created a long-term long running thing I've been taught for free by all these very high value people. And that's a wonderful way to do this. So instead of like a top-down like here I'm the content creator. I will do a bunch of work and then I'll put out the finish product at the end.

And once I'm done, I'm going to move on to do some other random thing. That's completely unrelated to the previous thing. There's an ongoing growth. Right. And there's a built in network effect. And people can see that there's a, they have a part to play as well. That's pretty cool. So, so if you when you asked me all the way back, I don't know about like five or six minutes ago, about what forms of content I find.

Interesting. I think that's pretty interesting.

Maksim Ivanov: [00:22:57] I also wanted to ask how would you envision open-source content on YouTube or any other video platform? How would the collaboration look like? Because the accent is nice. It's editable videos, not so much. Yeah,

swyx: [00:23:10] well, I'll be honest. I haven't figured it out.

You can let me know when you do. Cause YouTube is very final format when you upload a video, that's it? Well, you can collaborate on the streams, I think Twitter channels and stuff like that, but I hate it when people. And content creators. So, I used to work in developer relations and development marketing, and people are like, Oh, you can use YouTube or Twitch.

And like, come on. Like YouTube is a hundred times bigger than Twitch, right? Like in terms of audience size, especially for developers. So, sure. You can do collaborative work on your Twitch channel with like 20 people watching. It's not the same thing as you.

Maksim Ivanov: [00:23:43] With open source, there comes another question about earning money.

And if you don't like this question, we can skip it. But With, when you make materials videos, courses, books, articles, you can just earn money with this and then making beginner targeted materials is just more profitable because you have more people who are beginners. And with I'm trying to ask a very complex question.

I probably should just ask a bunch of questions instead. So let's go with first.

swyx: [00:24:09] Just lay it all out and met up with we'll chat. You don't have to break it up.

Maksim Ivanov: [00:24:13] All right. First of all, making content for the beginners is easier. Second is that when you make open source, and this is a very, let's say popular problem for open source is that open source often struggles finding getting funding or getting money, earning money.

So what is your take on that? How would you earn money? Let's call it the ethical way of earning money or like how, what is the good way to do it without this sort of putting out ju I don't know what to say. Cheap material, cheap materials is just not necessarily true, but you know what I'm talking

swyx: [00:24:46] about.

It's a tricky topic. First of all, I applaud making anything and trying to sell it for money on the internet is very difficult and don't let any criticism get in the way of you trying. Okay. So, just go and try whatever you try. And as long as it works good for you.

Okay. This is for people who have some experience and can. Are smart enough to do whatever and have some responsibility for their for their choices. So, that's one thing I should mention the other thing, I think that your question that I don't like about the question or that I want to push back on the question is that you said there's a there's, there's like two things that are pulling in opposite.

Directions. So one is like, you want to make money. And the best way to make money is to make intro courses. And the other is you want to fund open source, right?

Maksim Ivanov: [00:25:29] Another one was about your let's. See you write the book. If you write it alone, you can just get revenue by selling it. If you make an open source, let's say book or cheat sheet or whatever you won't be able to sell it.

swyx: [00:25:41] I see sure. So

Maksim Ivanov: [00:25:42] that's not

swyx: [00:25:45] okay. Like, first of all, you don't have to monetize everything. Second of all a lot of open source like is a means to an end, right? It's not about the code is about the knowledge and coded inside the code. And you can monetize that a bunch of different ways.

Like, you can use that as part of your CV for hiring, right? If the company already uses your. You call it they're much more likely to hire you because you're the betaine or something that they use. That's fantastic. But then also you can sell consulting services. So my friend Tanner Linsley made react query at reacts table and a bunch of other popular, which is a main library.

Yeah. Consulting hours. And that's a perfectly fine to, we don't monetize. And you can keep the open source free because code is only a part of the overall value of software.

Maksim Ivanov: [00:26:23] I like this answer. It's very good that you don't necessarily need to make the direct sales.

swyx: [00:26:29] Well, the different, the slightly different answer, which I thought you were going in slightly different directions because you were saying, okay, I definitely see a lot of people making intro, intro tutorials and courses, and they make a lot of money from it.

And then you're trying to link that to like how can that, how can I use that to fund open source? Well, not

Maksim Ivanov: [00:26:45] the way of the questions. What's really two different questions and I got. Confused.

swyx: [00:26:50] I just wanna make the point that teaching is his own valuable skill and source is a different skill.

That is, that tends to be monetized in a very different way. So the people, the kind of person who like works on Redux and it like isn't the issues every single day is probably. I know, cause he's a friend of mine is not a very good self promoter and teacher of intro introductory courses, because they're just not at that level.

And they don't enjoy that kind of work. And it's it's it is a stent, it is a good skill to to be able to teach beginners. So, these are all, these are both specializations and they monetize in different ways.

Maksim Ivanov: [00:27:20] Okay. That's a good answer. Overall throughout the discussion, I got the point that there are things more important than money.

It's more important to do things that fulfill you. It's more important to make connections, that, to try to gain the audience. And what else did we,

swyx: [00:27:37] can I, can I want to, I also want to share this. Money is very important to me. Okay. I I do expect a lot and I think people should try to make the most out of the limited time that they have for available for it.

But I think that you can both be more fulfilled and make more money by going deep. Okay. Rather than broad and shallow. So, this is not a choice between either, either I want money happy to do deep work and

Maksim Ivanov: [00:28:02] don't money shovel.

swyx: [00:28:04] I have a lot of money. It just needs to be more patient. Okay. Don't go for the near-term rewards of likes, go for the long-term rewards of like here's a productive working relationship where it spins off like job opportunities, like collaboration efforts, like whatever, and like mutual learning, stuff like that.

And. And to me, I think that will probably open to you opportunities that most of the other people, because they are playing a completely different game. They're just playing the likes game. Those opportunities will not be open to them because are, they're not even caring about relationships. They're not even caring about like collaborations and learning.

So, I'm simplifying things. Greatly. Okay. And so, take this with a lot of caveats. But I think that you can make money and you can have deep relationships at the same time.

Maksim Ivanov: [00:28:46] I think a good example is Josh Camille with his CSS course, he's worked for a long time for saw him on rec Europe.

And then I was amazed by the depth and the quality of his articles. Tutorials, it's just amazing animating react overall working with CSS. And now I, as far as they've heard, the launch of the CSS course was very successful.

swyx: [00:29:09] Yes. Half a million dollars. That's very good. Yeah, but he spent 10 years making educational tech platforms and just being extremely passionate about them and meeting basically everybody in that space.

Right. And then whenever you want to monetize sure. Just put out a course, people buy it because they trust you and you are going to have the skills to back it up. Right. It's just so much easier than like. Trying to start out hunting for likes and like going into the content grind and during the intro stuff and like not really having a purpose or a goal that he stat Josh stands for something he stands for.

I guess, animation he stands for is for CSS. It's like yelling. There are a lot of CSS developers who like just yell at JS developers. Hey, you should learn CSS. You suck at CSS. He's not like that. He's a GS for that really understands CSS and wants to just share it with you because he thinks that it can be beneficial for you.

And he just genuinely embraces that and has gone deep on it. So that's the kind of thing where there's a class of YouTube content creators or Twitter content creators that will just never get there. Never because they're just focused on the wrong thing and I feel sad for them and I don't judge them in a sense that they can do whatever they want, but I think that maybe they might not know that there's another way.

Maksim Ivanov: [00:30:18] Okay. We have, I think just five minutes left and I want to ask a very specific question about concentrate creation is what is the. Purpose of like what kind of, what to post on Twitter because yeah I connect easily with people in Twitter spaces but they have no idea what to tweet about. I do a lot of different things, but it feels like it's not, it's just tweet format is just not for me.

I ended up just using it to announce my stream sense

swyx: [00:30:45] and such. I see that's fine as well. I, I don't really think I figured it out. And I think as long as you're working on interesting things and you're sharing Cool findings, sometimes storytelling really works, like telling a personal story or something that you just learned that like, you just have to tell people, it's the kind of thing that like, when I read about something and I'm like, Hey, I want to tell my sister that's the kind of thing that you can share and just write it up in an entertaining way because people want to learn, but they also want to be entertained, right?

Like, Twitter's kind of like a. Semi-professional place. So, if you can balance the bars of an education and entertainment, I think you'll go pretty far and also making it witty. I think it's something that's pretty pretty key witty like, Some something insightful that someone has never thought about or has never been crazed quite that way.

And after you think, after you hear that, you're like, okay, shit like that. That is the way to think about it. So quotes are really good. Unfortunately that gets you into this territory of what it's called fortune cookie Twitter, where everyone, every, the, some of the really high follower accounts, basically you have sharing.

Maksim Ivanov: [00:31:50] I put it in the same thing as the threads with ours. The same thing. Why not?

swyx: [00:31:54] Because there is some genuine belief in that when they, when you treat that they're just trying to minimize they're trying to compress their insights into the smallest. Amount of characters and words as possible.

But they genuinely believe in it. Whereas those engagement and listicle posts are literally just listing Arctic listing projects and then writing absurd number of hours, which nobody believes. So there's a difference. Anyway. So yeah, I mean, I don't, I have a guide for I have a developer's guide to Twitter in the, in a book that I wrote it basically covers like a bunch of these topics.

It covers like, Healthy Twitter versus a unhealthy Twitter. But yeah, and I think my advice, so people just getting started is that try to keep it professional, 90% professional, 10% personal is something that I think about a lot basically because people don't know who you are as you grow over time and people know your brand, they trust you.

You can let loose a little bit. I definitely play a lot of letters by myself, but when people don't know who you are, you can try to focus and try to connect with the people in that particular part of the Twitter audience. And physically, sometimes it's like responding with helpful links sharing or riffing off of somebody else's work.

Like sometimes people will publish a code pen and you can fork that code pen and then build something else with it. And that will be really cool. And they'll share your work as well. And it's a long game. I've been doing this for, I've been serious about Twitter for about three years.

And it's really it's definitely helped me, but the people that I don't remember, like, I don't. My, my growth doesn't scale with my follower account. My girls' scales with the number of high quality people that, in my industry that I really want to connect to.

And sometimes they can be industry legends, or sometimes they can be people new to Twitter, but who already have really good skills that wants to learn from, and I work with them already. So try to use it as a guide, but don't be ruled by your life. Don't rule your life by likes basically.

Maksim Ivanov: [00:33:36] Yeah, for me, the great example was rancor NATO, who, with whom we made a stream about a solid and what is different, the difference between solar.

swyx: [00:33:44] Holy shit.

Maksim Ivanov: [00:33:46] He's so, I then asked him to send me an article who apparently he wrote, it turned out that he wrote that article about history of hooks. I perceived hooks as something that appeared in reacting 2019, but.

Actually it was, yeah, exactly. It is. This pattern existed since 2010 and actually you can backtrack it in other languages even further than that. Like in JavaScript, it was not called JS. That hasn't this sort of thing that was, who cooks

swyx: [00:34:12] like sort of Ryan, Ryan has an interesting, so there are smart, there are some developers who are very well intentioned and very knowledgeable, but they're very self-focused.

And I think Ryan has genuine intention to want to share but he ends up plugging his own stuff too much. And. He plugged a lot of JS a lot. And sometimes like people would want to learn about SaaS. Yes. They're like, ah, here's this guy talking about solid JSM. I mentioned again, there

Maksim Ivanov: [00:34:36] is a limit to what should be the ratio between plugging your own style?

I don't know. I dunno.

swyx: [00:34:41] Like, no. So hang on. So I wanna let me finish my thought, which is basically, I think that you should try to help others before you serve yourself. Right. Like, give, give, give, take, give, give, give, give, give. No, it's not tick. It's like ask, give you, give me something like that.

Right. Gary V has a jab jab, jab, right. Hook, something like that. Right. Whatever it is. At least build that relationship by like offering something of value to the other person. And then they'll be like, okay, check out your thing now. Right. Like instead of like constantly like here's my medium article.

Here's my library. Other people exist and like promote them or like help them. And then they'll enter in, in return. There'll be interested in you, not not as shocking,

Maksim Ivanov: [00:35:23] really bad. It's just something that you see that he could do better to promote himself by.

swyx: [00:35:28] Yeah, I guess I always like, there's another guy as well. Who's one of the maintainers of Webpack and he's very smart, but like he, he has trouble getting people to To notice the stuff that he does basically, cause he doesn't portray, he doesn't seem to give back, in in caring about what they do.

So yeah.

Maksim Ivanov: [00:35:44] Good point.

swyx: [00:35:45] I think one of the ways I think it's Dale Carnegie to win friends and influence people. That's just like a rule of human nature. So even though it's like 70 years old, it's still relevant. One of his causes that to be interesting, be interested, the interested in other people being interested in what they do, what they're what their priorities are, what they're.

I guess their personal job whatever they share online that they're happy to engage with. Right. So it's like a, it's like, Hey, like, I'm really going through something in my job. And it's like, Oh no. Okay. Tell me more about that. And like, just being genuinely interested in what's going on in their lives.

And like, if you're not, and don't fake it, right. Like if you're not then that's fine. But like when you do like engage in the story, help out and they'll start to care about you as well. Like it's just a fundamental, like reciprocity principle that just always works in human connections.

Maksim Ivanov: [00:36:31] But then something that you said is very important that you need to really be genuinely interested. You can't force it. You cannot make yourself be interested in other people. It's just, and I think the core lesson here is just to really know what you like, and we can come, go back to the beginning of our canvas conversation where you said to create material targeted to people who you admire and aspire and Then steal you first need to know what do you like personally?

What are you interested in instead of chasing the likes that are, of course is a dopamine kick and yeah. Everyone likes it, but there is some deeper liking that needs to be found, right? Yeah. Yeah. The reason, one question that I would like to answer before we finish. It's the first question that we've got today is like, what is a grifter?

And maybe, and I've like, overemphasized it, but w would you like, is it really called grifting or is it is my English bed? I think I've heard that a couple of things.

swyx: [00:37:29] If you if you're not in this world, don't feel bad. I, it's a term that I think it's popular in like the very extreme liberal parts of the us. And they just expect everyone to know it. Right. And it's just, you see, I

Maksim Ivanov: [00:37:40] Get it. What does it mean concept contextual contextually?

swyx: [00:37:44] No, I don't. I haven't spent a lot of time thinking about this, so I don't have a. A good definition, but I'll try for you. And so grifting is a negative connotation. It's a labeled for someone who's trying to get by not doing very much and trying to do, trying to, I guess, profit off of other people's work that's drifted in a nutshell.

So a grifter is someone who just does that constantly. Right. And that's the only thing that they do, essentially, someone who doesn't have any interesting value themselves and just. Profits off of other people. And to be fair, there are a lot of those in the U S and that are sometimes I see them a lot when I was very young I was involved in charity work in Africa.

And, Oh my God, there's so much Griffs in Africa. Like when you give money to charities, please double check where your money's going. Because a lot of it is just going to people who are already pretty rich and they're just, taking it and acting like they're angels. They're not angels. But in tech it often is people like, like, like the, like that list of people, like here are the top seven libraries of JavaScript.

They didn't, they did not contribute to any of the libraries didn't even use it. But they're just doing it for the likes. And that's a form of grift.

Maksim Ivanov: [00:38:48] Sorry. So thing is that people will ask me about the VAs called extensions that I use, but probably means that I don't really use any except for VIM and just two extensions.

That's it. And most of the extensions that you will find, yeah. They might make you more effective, but that's not the effectiveness that you should strive for. Anyway, usually that's a few minutes. They don't really matter in a big way. Oh,

swyx: [00:39:14] that's great.

Maksim Ivanov: [00:39:14] What I mean?

swyx: [00:39:15] That's great. So you have a unpopular opinion as they call it.

And you should just, try to share that because I think that's something that will get people's attention.

Maksim Ivanov: [00:39:23] Wait a second. It is an unpopular opinion you think?

swyx: [00:39:27] Yeah. The escort is like 50 something percent of the developer market and all of them use the sanctions. So the fact that you use something else is something interesting.

And you can say like, yeah, you can have this, I don't know, like the YouTube where terminology, cause I'm not a big user, but you can go like, like something in your top, in your alumni and go like, vs code is overrated. Here's why. And then.

Maksim Ivanov: [00:39:49] Yeah, but you leave, you really believe in it. That's great. Yeah. I truly believe, I don't think it really matters. I think it does. Exactly. Even more than that, my work set up is very similar to my streaming setup and it has everything turned off or a completion, whatever, because I'm just lazy. Well, honestly, I don't like switching back and forth between two set up, sets up.

It's easier for me to get used to one without any sort of hints. And then your brain does it automatically at some point, that's it. All right.

swyx: [00:40:17] I don't agree but night good for you. Whatever works. The beauty of code is like, you can call it your way. I can go my way. As long as the code runs, like I can work with you.

That's fine.

Maksim Ivanov: [00:40:27] Yeah. That's that is true. Even though naturally we tend to be very defensive about the tools that we are used opinions and whatever.

swyx: [00:40:34] Yeah, it is. So there's a, this is a side tangent, but there's an interest for it. I think on hacker news a few, the two days ago where it's like, okay, code is a very interesting, like intermediate representation because at the end of the day, every developer has their own like unique little ID setups and they view code differently.

Right. But how come when it comes to the web? We just feel the final product. Like I have to see the CSS and I have to see the topography and whatever choices that you made. And I don't have a say in it. Like, what would be, what would it be like to have an ID for the web? Right. That'd be better.

Be pretty cool. I'm just sharing that. The interesting thought that's an interesting

Maksim Ivanov: [00:41:07] thought. I have

swyx: [00:41:08] so much personalization.

Maksim Ivanov: [00:41:09] Yeah. And I have seen different thought in the same direction that the code is not only the tool or a scaffold to create a product that you will serve, but it is also a product on its own because when you use it with your colleagues, they're also consumers, and your code has consumer qualities itself, not as a.

Are scaffold or a blueprint. One thing that I've noticed is that at some point I start to sense, like when you work with people for several months, you might start sensing who wrote specific line of code, even without looking at the different style. And you see, okay, this pattern is from this person and whatnot.

But also I think it emphasizes the importance of clarity, which I put on top of everything when I write my code, because if it's clear, you can easily fix it. It's unrelated to all the previous discussion, but I think it's related to what you were saying about the code being its own sort of thing.

swyx: [00:42:03] Yeah. Yeah. It's a tangent, but like the, yeah. See, this is what a casual conversation where we were both passionate about programming and that's what it happens. If you're here to like, make like, are you a grifter of content? Like we'd be a lot more focused, but I think this is how real conversations work.

Maksim Ivanov: [00:42:19] Exactly. This is why I like Twitter spaces. And I don't really like Twitter. That's the thing. It's the same with the tap on some Twitter spaces. You talk to the person you're genuine, that's it with tweets? No idea what to do.

swyx: [00:42:32] Yeah, it's a mix of like public broadcasting, a bit of a meme and joke a platform.

And then some like, actual education going on. And sometimes people teach really important stuff. And like, for example, I follow what's his name? Eddie as money. And he has money is the engineering manager and he only tweets Chrome updates. So he's the Chrome update, Twitter account accounts.

And I follow that and I learned about Chrome from him. That's great. That's fine. He's already given up on like, sharing too much personal stuff. I think, cause he's there's a cost of that, which is people think that they know everything about you and they want to, they have opinions about how you should live your life.

And sometimes you need to just turn it off.

Maksim Ivanov: [00:43:07] I can imagine. Yeah. Well, that's really all that I wanted to discuss. If you have anything else that you'd like to discuss,

swyx: [00:43:14] I, this is an unusual chat for me. Usually I'm talking about like, the basics of learning in public. So, actually you get me a chance to really go deep on this grifting and like, thank you so much.

Yeah. No, I'm really glad. I'm sorry. I made fun of you, but like, I think you agreed with, it was pretty funny anyway,

Maksim Ivanov: [00:43:28] Was, what's really sucks. There is that I was exposed as a grifter and among them, I was like a loser with one line.

Yeah. I think

swyx: [00:43:42] here's the way I spin it positively. Right. It didn't work because you don't have a brand for grifting. Like the people who follow you don't follow you for that. So they, they don't want to encourage you. So they don't like it. So the people who have been doing it for a while, they build up an audience of like people who want me to do that.

And that's what they want

Maksim Ivanov: [00:43:58] very hard to then chip, to pivot and change your direction. When you get a, already a lot of engagement, a lot of support, and a lot of people who like your content that is that.

swyx: [00:44:08] And then you get this irritable bowel problem. Yeah, so, so, I have a post on this called the medic creator ceiling just Google metal creator ceiling.

W where, w we're basically, I say like, if you're a smart and ambitious, you end up wanting to win rather than more than you want to solve problems. So winning to us seems like you have no direction in life. You're like, well, okay. Winning like, Oh let's make the number go up. That's winning to me.

Try to have a deeper definition of winning. For you because you have, a limited number of years in life, like try to work on something more substantial than than just numbers on a screen. So, so the line that I end with is assume that you will be successful at whatever you do.

Are you playing a game that you want to win, right. Assume that you're going to win. Are you playing a game that you want to win?

Maksim Ivanov: [00:44:46] I actually read this article and I really liked the points of it.

swyx: [00:44:50] Yeah. So, so, whatever it is, and it's not for me to tell you what, to, what, to, what you want to play and what you want to win at life in. There's another article by clay Christensen called how will you measure your life when you look back after like 50, 60 years, what will you be proud of?

Right. It's probably not the Griffin tweets. That's all.

Maksim Ivanov: [00:45:05] Yeah, yeah. Good point. Well, thank you so, so much for joining the stream. It was very fruitful.

swyx: [00:45:11] Yeah, probably

Maksim Ivanov: [00:45:15] about the tweets. Yeah. Thing is with Twitter and with tweets is that you get only a tiny little picture of what the, yeah.

Yeah.

swyx: [00:45:24] I saw that people have gotten upset with me. I've gone on set with people and then we've patched it up. It's fine. Yeah. The only

Maksim Ivanov: [00:45:31] reason why I didn't get upset is that I'm not really attached. To this sort of thing. So I was like, yeah, it's wrong. I also don't like it. So let's yeah.

swyx: [00:45:41] That's another principle I have as well.

Don't attach your identity to your work because if people criticizing you, sorry. If people criticize you, they're criticizing a past version of you, right. And you always have a chance to improve.

Maksim Ivanov: [00:45:51] Yeah. That's true. I, when I was reading your essay about learning in public, you said there that people criticize you, you good?

You agree. And you move on. I personally dislike criticizing because I honestly think it can be done by much better if the person has

swyx: [00:46:09] a nice about it. Yeah,

Maksim Ivanov: [00:46:10] exactly. Because. When you criticize people? Well, the most likely thing that will happen is that they will get defensive. This is just how we operate.

You also mentioned that totally agree we're animals by the biggest percentage.

swyx: [00:46:25] So, so don't get defensive, turn the other cheek and say like, okay, I agree with you. Can you tell me more? Right. Because there are a lot of people who will never be nice to you when they criticize. They just think they're very smart, whatever, and they are very smart.

They're just not very nice. If you can turn those people into your mentors I've done that. Many many times. And that's what I think you have more teachers than, what to do with and that's great. So, it's definitely, you have to swallow your ego a bit and just go like, okay.

Yeah. I, I want, I'm willing to listen to you. And sometimes when the, when you show that you're willing to listen, they also back down and they become nice. So instead of telling them, Hey, you should be nice before you talk to me easily. You just go like, Hey, I'm willing to listen. And then they become nice.

You know what I mean? Like don't tell them to be like, invite them to be nice.

Good point. Yeah. I do have to go but thank you for so much for having me. And this was a really great chat. I'm really I'm going to get as much watch back on this one. All right, bye.

View Details

Codie Sanchez recently appeared on the My First Million podcast and gave a really good answer to her perspective on Angel Investing.

Audio Source: https://www.listennotes.com/podcasts/my-first-million/176-with-codie-sanchez-MqNCtEfGm0y/

Why Angel Investing is Dumb

swyx: [00:00:00] I started angel investing at the end of 2020, the opportunity just presented itself. And it was such a compelling company that I just did it. and since then I've done about five deals and each of them have been about five to $10,000. So it's starting to become a significant chunk of my net worth.

And I always knew at the back of my mind that it's not the best use of funds. Like I am a seasoned investor in the stock market. And I know that I shouldn't be speculating so much because I don't have that much of an edge, but I do have smart friends. Anyway, I think that it's worth discussing the problems with angel investing as it's starting to become more popular. And I thought that this discussion between Cody Sanchez and Shaan Puri was very intellectually honest. So here it is.

Shaan Puri: [00:00:39] Angel investing is largely dumb.

Codie Sanchez: [00:00:41] Is that painful? Because we both are angel investors too. And do you have a rolling fund?

No, I actually say this often and people are like, you have a rolling fund and I'm like, yeah. Of all my investment types that I do, this is, I would say the worst one, but I think it's still good and fun.

And I do it anyways, but I have two or three better ones that I do besides this.

One of my good friend's name is Justin Donald, and we're both pretty obsessed with deal structuring. One of the biggest things I have a problem with angel investing is it's too fun. It's like gambling, right?

Like you get excited about the founders and guess what founders are charismatic. That's how they raise millions of dollars. And so you end up getting sold and it's not their fault. And then, there's fraud. And, I wrote this whole piece about this one guy that we lost $2 million with.

Because he just the super egotistical and like big images of himself on the wall. Like all this stuff later that I got added to my due diligence questionnaire of like, how many images of yourself do you have in your office? But but the the thing with angel investing is, this, you need 20, 30, 40 deals for every 1 to 4 that are going to go through.

And so I think that the other thing that we do a disservice is telling people to invest in angel early on. Once you've made a few million dollars, and I mean that literally, then I think go into angel investing, or if you're on a path where you're making really good money and you've made at least half a million bucks, then I think you can start angel investing, but until then, let other people lose money and learn from it.

You said it like you were like, take a DocuSign image of every deal you want to do. Write down how you do it, timestamp it so people can see and then decide later on how good you are at it. Without burning through a few tens of thousands of dollars.

Shaan Puri: [00:02:19] Yeah, exactly. Okay. So I have a bunch more thoughts there, but I largely agree with you. And I would say it's one of those here's my red flag is. In order to talk in order to justify angel investing, you have to give a blend of reasons. It's it's really fun. I like learning about the, the future and the Martin, and these are all true things by the way.

So it is fun. You do learn a shit ton. So it's like an education. You can make great money if it pans out as you assemble your basket and, you should over you should be netting, a 20% plus IRR. It just takes a long time. It's a liquid And it's not too much work because you're largely investing in your network that you've already built for 10 years.

That's the thing. And so there's like this blended reason, and anytime you have a blended reason, it just really means that there's not one really great reason to do something. And so those are always like, sub-optimal choices. I find for myself, at least whenever I have to come up with a blend.

And and I, and because I tell everybody this around me, whenever they hear me justifying something with a blended reason, they're like, Oh, interesting. So that's a pretty big blend and I'm like, Oh yeah, we should just not do it. Nevermind. Take it all back. Because I'm giving you this huge list. And instead of just saying, we should do this because of X, right?

We should invest in this business because it's growing like a weed and if it wins, it's going to be this big that I can get behind. And some angel investors do fall into that. But the act of angel investing as like a job or a hobby is Is it's more like when you describe playing basketball with your friends Oh, that's great.

I get to hang out. My friends, I get a good running. I get exercise. I, it's, I get outdoors. It's you're giving this blend of reason for doing the really fun thing you just really want to do. And you're justifying it. But the reality is you just want to do it in your brain, comes up with reasons afterwards.

Codie Sanchez: [00:03:59] That's exactly right. Yeah. The only caveat I have to that is if you can go later stage deals, which now you can do with a lot of the late stage angel list syndicates, or if you construct your debt, like if you can figure out a way where you start earning interest day one on a startup that actually has, it's a little bit later stage.

And so it has some revenues or you could. Get into a debt deal. That's on some of it's, factory and of the invoices. It has there's, people always think of equity with startups, but lots of startups prefer debt. So do debt with equity warrant kicker on it, and you can actually make money from day one and then have some equity upside.

And that I think is interesting, but, throw the Y Combinator term sheet out the window because it's not going to be on

Shaan Puri: [00:04:39] that. And all that being said, I'm still gonna angel vest. Cause it's because it is fun. And it's, that's a hobby that makes money.

View Details

Audio source: https://www.npr.org/programs/ted-radio-hour/945080108/a-century-of-money (6 mins in)

This is a story I only vaguely knew and I enjoyed this retelling of the Great Depression leading up to the FDIC.

View Details

Audio source: https://www.npr.org/programs/ted-radio-hour/945080108/a-century-of-money (6 mins in)

This is a story I only vaguely knew and I enjoyed this retelling of the Great Depression leading up to the FDIC.

View Details

Audio Source: https://share.transistor.fm/s/d717f16d

Follow Julia Che's work on Openess, her new open source funding/community startup.

Topics Discussed

in sequential order, but timestamps arent available bc the audio has been cleaned.

  • Swyx shares about his background, previous career in finance, Gamestop & shorting it, transitioning to tech at age 30, community building.
  • What it means to be a GitHub star, what’s so appealing about open-source & why participate?
  • "Open-source sets tech apart from every other industry because we share so much.”
  • Figma CTO Evan Wallace’s design tool, esbuild.
  • The future of open-source, corporatization of open-source.
  • The biggest pain points in open-source.
  • GitHub sponsors, Patreon and HackerOne.
  • Learning in public, React and the beginner's mind
  • Deep work vs. learning in public, Andy Matuschak’s working with the garage door up.
  • On creators being enslaved by their own structures and systems in producing creative content.
  • Living your life in high-definition, idea velocity.
  • Building a personal brand as a developer.
  • The Developer’s Journey & community building.
  • Diversity, equity & inclusion in open-source.
  • Where open-source devs could use a helping hand.
  • Governance
  • “Ultimately software is an expression of values and if you fundamentally disagree with the values of the people running the project, then you will eventually disagree with the code as well because it will just encode the values over time. Having welcoming and inclusive values is important.”
  • Swyx’s favorite open-source project: Svelte.
  • Hawker markets in Singapore, “Food is the great equalizer in Singaporean society because rich & poor people eat the same things.”
  • How to get started in open-source as a developer.
  • Space in the community for non-technical contributors.

Transcript

swyx: [00:00:00] I was recently on the building openness podcasts with Julia Che. Julia is building a startup to solve open source funding and build open source communities. This is her first time doing a podcast interview, so there is a little bit of awkwardness here, but I thought it went off relatively well. We talked a little bit about learning in public, being a GitHub star and building developer community.

So here it is!

Julia Che: [00:00:26] Swyx I am so excited to chat with you today. Thank you so much for agreeing to do this inaugural interview of this podcast. You're my, literally my very first guest ever on the show. So I couldn't be more delighted, honestly, So you have a pretty strong following of dev community on Twitter.

And so they know who you are, but for others who might not have come across you before, can you share an overview about yourself, who Shawn Swyx Wang is and what you're currently up to?

swyx: [00:00:55] Sure. And thanks for having me. It's it's an honor to be considered and I'm happy to help launch your podcast, which is pretty exciting.

I'm Shawn. Aye. Work at Temporal is head of developer experience. And I'm originally from Singapore. Mostly work in New York previous career in finance, where I did everything from currency derivatives to treating GameStop in, shorting it and actually making money. But I transitioned to finance transition to tech at age 30, and then essentially did a bootcamp.

And since then I've been, I've worked at Netlify AWS and now at Temporal on the side, I do quite a bit of community work. So I used to be the moderator of our stature, BRGs, which is the subreddit for reactive Oliver's the largest JavaScript framework. And that, that grew from like something like 40,000.

When I joined to over 200,000 now I recently left that to run my own paid community, which I run for my book. And that's available at learninpublic.org as well as a, another framer community, just cause I like it. But this time starting from zero, I literally started to, I think we just hit like 9,000 or something like that.

And we're going to launch our third conference this month. So, yeah. I like community stuff. I like blogging. Happy to talk about any of that.

Julia Che: [00:02:10] Awesome. Yeah. I mean, you're a very active member in the open source community. You're even a good pub star. So I'd love to know what that means.

And furthermore, what open source means to you?

swyx: [00:02:23] Honestly, it's just. Beta test slash super user program. Just like a lot of companies have like some kind of recognition for people who are maybe prominence users. Also, they give you some swag. So this microphone that I'm using is what I'm good hub. And yeah they give you events, look at some of their upcoming features and it can ask you for feedback.

So it's a little bit of a status in recognition in exchange for some work, but every one of us love give up, get up so much that we don't mind. Cool.

Julia Che: [00:02:54] And so what do you find appealing about open source and what makes you want to participate?

swyx: [00:02:58] The source is one of the things that make makes tech. So different from every other industry.

Particularly, I came from finance, sorry, let me turn off my discord because it's going to do that maybe in a few minutes. Well, opensource makes sets, sets tech apart from every other industry because we share so much. So there are two, there are a few benefits coming out of that. One is that we have to duplicate work a lot less.

Like we can just stand on the shoulders of giants a lot faster. And And build faster, in theory, the practice is that it's very messy, but in theory, if you find the right things that you can reuse, that you can use them forever and it's totally free and you can inspect the source, you can change it.

It's a really wonderful thing. The second thing is that you actually get a lot of scrutiny over the highly used open source. And I think some of the, I don't know who said this, but. No sunlight is the best disinfected. Whenever people write software there's bound to be bugs, especially security holes.

And when and more people looking at it, the better. So that's a very strong reason to open source. But me personally, coming into the industry, I think that the personal reason is that it's a great way to learn because that the code is a source of truth. And you can literally just open up the code and read what, what goes on under the hood.

Not a lot of people do it, but every time I do it, I find I learned something new and it really is a reliable way to level up very quickly. So I think I owe a lot of that. It's open source. Like when I. Was in finance. A lot of the way that we used to learn was like you go to college, you learning some textbook and then you pass some CFA exam and then you try to work on your investment thesis or your pricing model, and that's proprietary.

And you do not share that with any other banks or hedge funds. And I realized that's fine, but it's very zero sum. We have to look at things like I win only if you lose. Whereas in tech it's a fundamentally more positive somewhere. I can give the way my what I, my secrets are the things that, the thing I spent millions of work on and not only do I not lose, I might actually win from like getting more reputation or getting contributions from the external community or even.

Increasing my reputation as a an employer. So people want to come work with us based on the work that we've, that we do internally. This is an example actually, of something that happened recently, Figma is a very popular designed tool. Their CTO, Evan Wallace actually started working on a build tool in his three-time called yes.

Build. And it's just such a high quality. Tool that actually, it definitely increased my own perception of what it's like to work at Figma because if the CTO does this for fun, imagine what it's like working with him on a real thing at work. So it's that, there's definitely a marketing angle to it.

Julia Che: [00:05:34] And so that is that indicative of a shift that's happening within open source and. What are your thoughts on the present state? What that shift is and what the future possibly is of open source?

swyx: [00:05:47] That's such a huge question. You cannot possibly have a good answer to that. I'm sure. Open source used to be a more stick it to demand type of thing.

Very famously. Unix was a very closed source, licensed operating system. And Linux was started just to clinic because they didn't want to pay for your next. And I think that really, that culture, we persist in some way today, but now there's a lot of corporatization of open source. Like open source is my business model and try to create some funding around it.

That's by the way that's what the company I work at. Does we have an open source framework anyway, trying to monetize that by doing a cloud hosted offering, but that's a normal way. Any different from elastic search or Mongo, DB, or name any other open-source company. Yeah. And then, and now that, it's so established, I think that a lot of people will try to.

Really like open source, which is not a thing that used to happen. So, which I think is a positive, because a lot of people will be screened out by the traditional hiring processes. Like you have to go to a recognizable university or you have to right. Pass the right interviews. No, but what if they actually wrote software that you already use?

Like yeah, you should hire them. So, so yeah, I think it's a positive, like it.

Julia Che: [00:06:57] Cool. Cool. So based on your experience, what are two or three of the biggest pain points you face as a developer in opensource?

swyx: [00:07:06] Well, that's interesting, based on experience, what are the two or three of the biggest pain points I faces as a developer in open source?

The first one is definitely that documentation internal documentation is pretty lacking. So when I. Try to want to contribute. There's not really a map. You just have to figure your way out around there's a movement towards documenting the architecture and the design principles. So there's a blog post or movement called architecture.md where they want you to rate your sort of overall organizing principles for contributors.

But I only see. Two or three people actually do that. The vast majority just have they're caught out there and they just assumed that you'd still be in the deep end and you just figure it out. So it's, so the learning curve is just pretty hard. And then I think the other thing is just making it worthwhile because a lot of the times I look at a lot of open source projects out there.

I'm very, I admire them. But they're never going to pay me anything. So it's literally just doing stuff for fun. And I can think of a couple other things that I can do for fun. That would pay stuff. So I would, I'm more inclined to go do that. So that's definitely me as an indie hackers type mentality where.

I definitely am more focused towards trying to try to do interesting things and get paid for it as compared to someone who just does things purely for intellectual fulfillment. And that's fine too. That's like, if I never had to worry about money ever again, I would do that. Cause I just, I love ideas and I love like, Hey, this thing should work.

How come? No one's done it. And then I just go do it. And then it, and it blows everyone's minds. That, that, that seems like a wonderful way to spend time. Unfortunately, I, I'm still very much in trying to Pay my loans more so, so I'm not there yet, but I would like to be someday. So I think funding.

Yeah, I think it's my,

Julia Che: [00:08:56] so what are your thoughts about these two sort of monetizing models? One would be the GitHub sponsors or Patrion, and then two is that hacker one bug hunting, bounty source type of program.

swyx: [00:09:10] Well, hacker one is successful. So a way for them, particularly how they keep people anonymous, which is very important to have your culture.

But that's only you focus on security, right? So, and a lot of the times it's very scoped when you set up a bug bounty program and the real surface area of your attacks. Sorry, the real attack surface area of your company is completely on scope. It's like people can pull you in a thousand different ways.

Then talking about GitHub sponsors. I don't like it. I don't think it's right. I think it's Becky. And a lot of times it's developers paying on a dual buckets to the open source developers. When it really should be the companies that employ them. Why should the, why should developers be paying on the dual pockets after tax as well?

Which is sorry. So yeah, I mean, I think it's a, well, it's a nice move. I'm not gonna, heat on that. I think GitHub that he's doing something is better than not doing anything. And they also matched donations for the first year, but I'm not sure it solves anything.

Julia Che: [00:10:06] Okay. Yeah. Thanks for your thoughts on that. So with regards to learning in public, you've written extensively about learning in public. Can you share your thoughts for our listeners on what it means to learn in public and why this has become such a significant part of your process and your work?

swyx: [00:10:23] Yeah. So learning and public is this idea that the vast majority of our lives we've been conditioned to learn in private all the way from a formal education. Even to the way that we learn at work it's very much like, go through courses try to skill up to yourself and then execute that there's no.

Recognition of the value of putting stuff out there. And when I look back at my own career that the most positive, higher return on investment things that I did were things where I learned in public. So literally writing up notes on whatever I just learned or writing notes to myself from three that's six months ago.

And it's not this idea that you should broadcast every single waking moment of your life. We're not talking about becoming the Kardashians but the default is 0% public. And I think that people and developers in particular are not at all well served by having things zero by default. So I was mainly just encouraging people to go from zero to five or 10% public.

So the vast majority of the time, you're still going in private. And what happens to it when you're learning in public are quite a few things which are very similar and tied into opensource which is for example, you you put your, when you write your stuff up when you write up your knowledge or rehash it in certain way and put it in your own words, you retain more, right.

And that's the value. It's a valuable thing in and of itself. Even if you, if no one else read it, you still win. And then I really like, I'm really a fan of. Single-player games. The second thing is if other people read it they're very incentivized to spot mistakes because that's how the internet works.

When someone on the internet is wrong, you're cheating. You're just crawling over broken glass to go fix that. And lastly I think it really helps for people who are working on the thing. So let's say I used to do a lot of writing on reacts and now I wrote about the react library. You can bet the core team of reacts developers are reading it because they want to know how, what the external perception is.

And if they, if I get a right then I'm helping to amplify their voice because I have something that they don't have, which is a beginner's mind. The, if they've lost the ability to relate or understand what it's like to come into something fresh. So you can provide a lot of value for other people, but mostly I pitched learning in public as a selfish thing.

Don't do it out of the goodness of your heart, do it because you genuinely believe this is the best way to learn do it because you've learned faster this way. And you grow your brand, your network, your skills all at the same time. And when you survey the menu of other possible things you could be doing in order to learn and grow your professional skills, this is by far the clearest and most effective way to do that.

And you can do it sustainably for a very long period of time.

Julia Che: [00:13:01] I love that. I really do. I would love to do it more myself

swyx: [00:13:05] while you are with the podcast. Yeah.

Julia Che: [00:13:09] My first podcast interview. Yeah. So you know what to share and what not to share. I saw on one of your most recent newsletters that you talked about deep work versus learning in public.

And so is learning in public. Something that you've been maybe rethinking lately with that newsletter, or where would you go with that with regards to deep work and learning in public from a personal perspective?

swyx: [00:13:30] Yeah, that's a great question. And thanks for picking up on that in the newsletter.

I think the newsletter is definitely the main, closest thing to like a public journal where I just. Right. What I'm going through every week and enough people find it useful that I just keep going for now. I never really know when these things end, but I enjoyed the journey, it's not about the destination.

So the idea, the problem comes when. Because learning in public is very tied to feedback. Like the whole goal

is

swyx: [00:13:54] that to establish this vicious or virtuous cycle of feedback loop, right? You put something out and get feedback and you improve it. Maybe you're wrong, maybe you're right. You just get encouragement or you get an indication of where to improve and you just keep going and going.

And the whole idea is that, that, that loop is a lot faster than if you did it by yourself. The problem comes when you try to have a feedback loop that is too fast and you're constantly, you're putting out you're tweeting something and then you're constantly refreshing the, see the number of likes that it gets.

That's completely pointless. There's no point to doing any of that. So, there's a conscience, you should try to do some deep work and some amount of that means that you should ignore. The the people around you or the people trying to give you feedback? I think the two of them are not necessarily at odds because you can just, have long checks, deep work, and then and then share it and interact with your leaders and your peers and your mentors.

And then go back and go back to the deep work cycle all over again. But the work is done something new to me. I don't struggle with it because I do multitask a lot. And I think that I've lost some ability to focus for long periods of time. So I'm trying to get back more into the

habit

swyx: [00:15:03] of deep work and cutting out some of the more noisy parts of learning in public that haven't been so useful to me.

So it's definitely a balance there's definitely ways to do. Then any public badly. For example, if you pretend show yourself to be an overnight expert. I'm definitely, always in favor of being more authentic. I like the idea that the way that Andy Matsu shuck, who's a former we ask what's team member, but I think now he's like an independent researcher and just general writer and thinker.

He calls it working with the garage door up. So you can be working on your stuff in the garage, and really deep into it. And you just leave your door up. So you're not really looking at whether people are looking at you or not, but some might someone might be learning from what you do.

And that's a nice analogy. I'm not sure how well it translates because your behavior just changes. Right. So when you know, people could be looking at you. So for example, I used to live stream on Twitch when I was writing and I found that was very distracting because I would be trying to narrate whatever was doing or I'd be checking the comments to see if anyone was like responding so that I could respond to them in times that they will stick around more.

And that's all very. Secondary to just writing the damn thing. So, so I think there's ways to do deep work and learn in public. Right? And you have to think about what makes you want.

Julia Che: [00:16:13] And so what are your thoughts on creators who feel as though they become enslaved to their own systems?

For example, as it relates to creating content on a schedule and constantly having to draw out creativity from yourself on that on that system schedule that you create for yourself. Wow.

swyx: [00:16:31] Good question. Is that a fear or is that a, I don't know. I F I feel like, so I think people approach it as in a few ways.

Sometimes the use that as a crutch or a certain, they use that as a mental barrier to prevent them even getting started in the first place. But then also I do see that people after, a couple of years of doing this stuff And so both are, so on the one on one side I'm supposed to tell you, no, it's bullshit.

Just do it, see what happens. And then on the other side, I need to be very sympathetic and go like, yeah, burnout is real and you got to take care of yourself and just take a break and come back. And at some level I think that's a, that's where I've landed. I have been studying a lot of creators and it seems like the sustainable humans schedule is once a week.

And you do that for a hundred times in terms of consistency. And you work your way up towards some level of quality where you figure out your voice, your creative pursuits your your favorite topics. And after that, whatever, paying your dues you're welcome to. Lessen Slack off on the consistency and just work on quality based on your inspiration.

So, the model I have for this is well, but why, which is Randall when roles thing? I think no, Tim urban, Tim Mervyn. And he used to, he actually did a couple of interviews where he laid out. The process he used to get started, which is literally consistently post every single week for two years.

And once he got only once he got to some level of readership, then he let himself come and go as in terms of creative output. So now you'll see entire months where he doesn't pause anything and that's fine because he's working on stuff. He's gained the trust of readers. People still pay him on his Patrion, even though they don't get anything from him.

And that's a wonderful place to be in. A lot of people don't, they'll get there though. So you are a slave to your that's not your slave. You are beholden to your schedule a bit especially for people who are like, in the middle rungs of like just getting, going and like making a promise to their subscribers.

I especially see this from like sub stack authors, writing these newsletters. If you sold a one-year subscription, you have to write for a year. And they're like, Oh, what if they anxious? Hadn't done anything this week. No, suck it up. You'd just gotta write it. So for those people, I say that just, this is a idea of weighing in my mind, try to live your life in high definition.

And what I mean by that is that there's a lot of joy in life. There's a lot of interesting stuff in life that we just skip because we try to live life fast. Slow down a little bit and notice that the cool, interesting. Beautiful things and write about it and talking about it. Like there's a lot of ideas that just come up in casual conversation, a lot of stories that can be told that haven't been told, just because you take them for granted slow down and, go over them again and realize that this is interesting to someone.

And you can tell it because not everyone knows about it and Yeah, I think it's very reasonable to come up with at least one idea a week. So w the challenge I've set for myself currently is Ivy mixtape, where I come up with a podcast or audio snippet once a day. And if you put that, put yourself through that which in the finance, what we call idea velocity like the process or the discipline to just come up with, Hey, this is a story.

Hey, this is a cool thing we can write about to come up with something like that every single day. Then once a week is walking the park.

Julia Che: [00:19:40] Cool. So how important is it to build a brand as a developer?

swyx: [00:19:46] How important is it to build a brand new developer? That's interesting. I personally, yeah, it's only important.

It's minorly important. It's not it's not the be all end all. And nobody likes the person who was all about building they're building up their own brand. But it is vitally important that everyone that matters to you that you want to potentially want to work with knows that you exist and knows who you are and is when you can do and wants to work with you.

There's this fuel rungs of. Of the, with the brand building, right. First, get that to know that you exist second, getting to know what you do. Third, get them to want to work with you. Once you're there, then you'll have all the opportunities that you ever want in your life. And you can start building event because what's the point of being super famous.

Everyone would just want to tell you what to do, or, govern your life in some way. So a lot of people, when they get to a certain level of recognition, just stop. Because they realize that there, there are pitfalls to more reach as well. So I'm not there yet. I will be, and I can see it because I have friends who are already way past that.

And it's a struggle because first, you want to get noticed for the stuff that you do. So you do, you didn't want to have some sort of reach. But too much. And then it starts to become a liability. And there definitely there's a lot of cases in celebrity culture that have documented that.

Julia Che: [00:20:59] Cool. Yeah. I'd love to switch up a little bit and talk about your article that you posted on dev Tio with regards to the developer's journey. As a funnel, can you explain this for our listeners?

swyx: [00:21:11] Ah, so this is about the community builder thing. Yeah. So, I work in developer relations for another fine AWS, and now I help to manage developer relations people.

And it's very closely tied to marketing, right? Like the whole point that you hire these people is to better communicate to developers than traditional marketers, because you are a developer yourself and the. Traditional way of viewing these things as a marketing funnel, which is very similar to the process.

I thought about there's top of funnel and there, one is they haven't heard of you. Second is like the one is they don't even know they need you, or they're not even aware of their problems. So you've got to make them aware of the problem. Second is you've got to educate them about like the number of solutions that are available in their space.

And third is you've got to sell them on why you're the best. Something like that. They should give you money now, that's a traditional marketing and sales funnel. And that, I think that's where that a lot of marketing functions in tech companies are set up, which is fine.

There's nothing wrong with it. I think there's Well, what we're trying to do is create a more human approach to that alternative to that where you don't necessarily know sometimes because a lot of times when you do, when you. Structure these things in such a linear fashion, then when you end up doing is making everything very transactional to the point where, when I was going to conferences, I would be asking for everyone's name tags and signing up and asking for their emails and putting them into our CRM so that we can follow up and all that bullshit.

And it was, it made our conversation very strained and artificial because I wasn't, I clearly didn't care about them and he goes to care about making them my number, go up. And it's very ineffective because the bicycles are so fricking long in tech. I can hear about a thing and I would just decide to not, and this is literally what I do for new technology.

So I'll hear about an Utelogy I'll say. All right, cool. Very good. Roughly get what it's about. And then I sit on it for a year. Right. Just to see if it sticks around. If, because if it doesn't stick around, then I w I'm not gonna waste my time. But if I'm still hearing about it a year later, then I'll go try it out.

So show me a compensation or evaluation process that. It is evaluated over a year. None. Right. Everyone wants instant ROI preferably within the quarter. Just doesn't happen. So, so, I think that there's a lot of effort towards breaking out of this traditional marketing performance marketing role, because that's what you do in e-commerce.

That's fine. E-commerce like, yeah, you want to sell handbags or a shave or I don't know. That's what you do with that. That's great quotes, but if you want to sell. Tech developer technologies where like they'll be working with you for years. It's a much longer cycle and it's more relationship based and sometimes people can the word that comes to mind is orbit because the company that sort of made this started this movement, it's called aura.love.

And so instead of modeling it as a funnel, they call it orbits. Like sometimes the people coming closer to orbit, sometimes they come out, it's no longer a linear thing. It's just more based on where they are in their lives. And and the only thing that you try to do is bring people closer.

And, but you don't really beat yourself up if they floated away for whatever reason, And I think that's a very healthy way to do these things. And it also means to me, which I didn't really write about and then vocals, I also means to me that you should have some empathy for how people feel about your competitors as well.

Like, if your marketing funnel is just about you, then you're serving yourself and really you should be serving your customer, your intended target audience or intended user. Understanding what they need and sometimes recommending them to do other things. If your yours tool is not their best solution, right.

You're not trying to cram your stuff down people's throats. So I think that's what the, sorry, this is a very long winded answer to say. I think the funnel is very linear and transactional way of doing things very yeah, finite some very, a very finite game and. The S the cycle or the orbit or whatever we were calling.

This is the alternate is the opposite. We want to play infinite games with on a relationship based basis. And to understand it from the perspective of a customer, not from the perspective of the company.

Julia Che: [00:25:14] Yeah, I love what orbit's doing. I'm following Rosie or we're following each other on Twitter and just starting to get to know each other through that.

Have you used orbit and what are your thoughts on tools such as these for not only community building, but also open source? In

swyx: [00:25:29] general? Yeah. So I've used Oregon forest spout society, youth just like as an open source thing. Well, it's good for, getting numbers. Which that's the thing like a lot of developer relations professionals are existential concerns right now is just with justifying their cost to the people that pay their money.

So it's a valuable thing to justify ROI and have numbers and track growth over time. And all you want is just tries to go up into the right That's great. I just wish that there were, there was more that it could do. Obviously they're working on this, it's still pretty early days. But yeah, like, instead of just telling me who my highest reach or increased change in in, in love, developer love and is what they call it.

Just tell me, give me suggestions, like, Would this is, are these two developers, interested in the same things, but they don't know about each other. Okay, great. Like, tell me to make the intro and myself as the community manager, I can go out and meet the intro.

A lot of that is gonna be locked up in a basically manually done by the community manager, just holding everyone's interests and profiles in their heads. But really you could, make the suggestions out of that. I don't, there's a lot of things I'm sure they've thought about this way more than I have.

Right now I just look at it as an analytics tool, but what I would really like for it to become a suggestions or like, idea, generation tool of like stuff that we could do with our community.

Julia Che: [00:26:47] Yeah. So what are your thoughts on diversity, equity and inclusion? The Eni and open source.

swyx: [00:26:52] In opensource. Wow. Okay. The baseline is that partially people, nobody knows who you are. You're if you're just a username on GitHub. So on that level, if you want, nobody can really discriminate against who you, unless you show who you are. That's a very, that's a very first cut answer. The more realistic sort of social economic reason I hesitate to mention this is that a lot of people will contribute to open source only do they do it because they have the time and the resources will do it.

So a lot of others don't therefore the people who learn faster during an open source are the ones who are already privileged. Therefore if you hire. And you look at someone with an open-source track record and you look at another person with, without an open-source track record you may be accidentally biasing against someone who just straight up, just didn't have the background to do it, or it didn't have the friends or didn't have, or whatever.

There's any number of reasons to to not get involved in opensource. And that's completely fine. I mean, we need to be aware of that when hiring but otherwise, That Al a bunch of caveats. Okay, well, this is very unfair and in some ways open-source is also very unfair but compare it to a world in which open-source did not exist.

And we ha in tech hired the exact same way as every other industry, including finance opensource creates opportunities that did not exist before. And that should be celebrated.

Julia Che: [00:28:12] So at openness which is a startup that I'm exploring and building right now. Yeah, we're exploring how to help open source devs to do more of what they love. And so where do you think open source devs could maybe use a helping hand?

swyx: [00:28:25] Where are you open source, devs, helping hand. Wow. I have a very small, and I don't know if like a bit, this is the biggest answer or not. But it's just the first one that comes to mind because I have a investment in this space. So a triaging issues. When when you open source something you take on.

Not just, you're not just responsible for the code and you're also not suddenly responsible for every single user who comes in and demands a bit of your time. Whether or not it's default for holding your software wrong or is actually something that's an issue in your software that you need to fix.

So, I do think that a lot there's no culture of like a separate triage system that gets on the maintainers to figure out the priority level of the thing. And it's just a lot of work. And actually a lot of people just refuse to open source stuff just because they don't want to handle all that stuff.

They just want to quietly ship and it's completely fine. It's just, that, that means that a lot of stuff does not get open-source then that could have been if only we had a better. Contribution or triaged culture. So one of the things in which I'm personally interested in a front end space is to decrease the cycle or make it a lot less of a burden.

And so we replay that IO is a company that basically spun off from Firefox, from Mozilla and essentially they're recording apps in the browser, so that People can create bug reports very easily in play, and the developers can play them back to exactly spot what went wrong. So instead of like typing and describing what you did, just send a replay and people can step through the code themselves.

And that's a very nice deterministic way to fix bugs in triage and prove that you actually faced this bug. So, but in, in larger open source, I actually, I've actually named this idea before. Which with with Henry Zhu who runs babble and it's this idea called maintainers, not MD or like this, the separation or maintain or concerns, because right now a maintainer is expected to be full stack.

They have to handle everything from start to finish community all the way down to code. And probably we could split that up and probably we can make them limited term because. Something that's super annoying as well, is that there's no end of term, once you take up a responsibility, you're stuck with it until you just vaguely walk away and there's it's perceived as a chore rather than an honor.

I like it to be an honor. So the model that I think about is actually the social clubs of like our parents' generation, where. It, they might, vote in like a president or a treasurer and they would all have distinct jobs and they will all hold it for a certain term, right. For six months or a year.

And you can just go like, yeah, I was president of this club from like 2016 and 17, and here's the next president and the next president. And. And it's nice, a nice limited term of responsibility. It's it's sectioned off. So not like it's not one person that's handling the whole thing. And I think we could do that in open source.

I haven't really, ever really like, meet any noise about this idea, but I think it's interesting. I think we should try it.

Julia Che: [00:31:18] That actually plays into the next question quite well. Is. How does governance play into the future of open source and why, and how is it growing as a field of interest?

swyx: [00:31:28] I mean, it's, I don't know if it's growing. I think it's always been important. I think bad governance certainly can make me choose not choose the projects. W despite everything else being great about it. Ultimately open-source ultimately software as an expression of values.

And if you fundamentally disagree with the values of the people running this project, you will eventually disagree with the court as well. Cause it would just encode the values over time. Yeah, so, having, welcoming inclusive value is important. And don't know what else to say about that.

I, I, there's and the ones that say, like, how do you communicate with your users when you release projects? How long were you going to support things? And back port security fixes and stuff like that. You're doing all of this. There's 101 things that you would like to promise to people, and then you're in limited time and your resources.

So, so you have to let some things go. And it's a very difficult conversation because people don't want to let go of their pet topic, like, and and so everyone's making their own trade offs in various ways. I don't know if we can improve upon that, but that's just the way I see things.

Cool.

Julia Che: [00:32:30] And so what is one of your favorite open source projects right now?

swyx: [00:32:36] Huh spell it is my, so one of my favorite open source projects just cause I'm working on the community side of it. And I am friends with the creator and it's just a very interesting in the independence framework that is doing extremely well against a much, much larger competition.

And I like, I like seeing the underdog perform. And I also love when I read the code, how simple it is. And I think. So sometimes we get too wrapped up in complexity that we don't see that there's an alternative that is good enough. And I definitely see salt in that way. Pushing back against the complexity of some of the software that we've created for ourselves and saying like, yeah your thing is great, but you may not need it.

And yeah, just, I love that kind of story.

Julia Che: [00:33:20] I'd love to ask you a personal question about Hawker markets in Singapore, if you don't mind. Yeah, when I was there, I became, yeah. When I was in Singapore, I became really quickly obsessed with Hawker Martin because obviously food is the food is amazing and then the price point is even better.

But what have you tried the Michelin star stalls? And please tell me about it.

swyx: [00:33:40] I've tried it once. There's a very long line, obviously, this guys that's one of the first street food stalls ever get a Michelin star. But it's like not that different from what you normally get from non Michelin starred restaurants.

So this restaurant is randomly got picked by whoever. So I don't really care about, some random, critic's opinion that, they're just all generically, like quite good because the formulas. Pretty well-known and I appreciate that. So, my, my thesis around this whole thing is that food is the great equalizer and seeing the same in society because rich people and poor people eat the same things and they don't pay very much for it.

And that's wonderful.

Julia Che: [00:34:17] Yeah, that was what I loved about it, as well as people go for the food and the enjoyment and it brings people together, which is the best part about it. Okay, thanks for humoring me about that. So what would you recommend to devs that may want to get more involved in open source?

And what's the best way to start,

swyx: [00:34:33] Start with something that you already use, because then you already have a lot of familiarity with that project and you feel a satisfaction when you've made a contribution and you see it in, in the day-to-day use of your own work. So, so don't. Don't do the thing where someone opensources a hot new project that you haven't used and you try to contribute to that.

But you just won't have empathy and you not gonna stick around anyways. So don't even waste your time. Don't waste their time as well. But yeah. Start with something that you already use and and always check with them on your direction first, before filing the pull request because a lot of people do drive bipole requests and that actually increases maintainer stress because they know they have to say no to you or massively change your work because they, you never checked with them in the first place.

It's very impolite. Yeah. Th there is an etiquette that you learn, when you first get started that. Maybe someone should write down then probably if you already have, but you just have to learn it after a few rounds was doing it. And I think, yeah, no, it doesn't have to be code as the other points that I always give people.

So people always want more documentation. And even if you want to code, you don't have to contribute to quote code. You can write tests and there's never enough tests and people always want to increase more coverage of their code or replicate or reproduce the bugs that are people.

Our reporting, just like the triage issue that we talked about earlier. So all of these are contributions that are very valid and you can work your way towards landing a PR in, in, in the core code. But yeah, I do highly recommend that people get into it. It's possible to over-commit. So, be fast to, to just say like, okay, I've been off more than I can chew.

I need to, put this down or give this out to someone else. The worst thing is to take up responsibilities. Like I'll be in charge of that and then to drop the ball because other people are relying on you. So don't do that. And then just everyone does it, everyone over commits.

So just recognize when you've done it and just go back and just getting like, yeah, I've taken on too much.

Julia Che: [00:36:22] Do you think there's space in the community of open source for. Non-developers or yeah, non-technical folks.

swyx: [00:36:29] Yeah. We have we have a couple in a small society court core organizing team.

And yeah they're there for the people. It's a very nice community and they can do project management. They can do event organizing. They can talk about like, the marketing and the blog posts and the YouTube tutorials. There's so much there's in fact, like the court is the smallest part of what it takes to run a successful community.

So yeah, if you want to do that's great. It's just I think it's very rare because as a developer, like if you're not a

developer,

swyx: [00:37:01] What are you really you don't really use the. The tool that you're supporting in the first place. So why are you there? You just, yeah, you just genuinely like the people but you could be doing any number of other things.

Like, I don't know, like gardening, like astronomy, that's the same level of connection there.

Julia Che: [00:37:17] Yeah. For myself, it's. My brother was an open source developer. And yeah, so I had that little bit of osmosis, like 20 years ago. And then more recently I've been consulting and in this space a little bit more anyway, we won't go too much into that. It's your interview here?

swyx: [00:37:33] No is fine. I like that people share their perspectives and yeah, I mean, I don't what the motivations of other people are. I just, I just have my own lens of things and it'll really think about scent too much time thinking about what other people are motivated by.

Yeah.

Julia Che: [00:37:47] Okay. So where can we find where can we find you online? Sorry. Right. I'm gonna ask that again. Where can we find you online and learn more about what you're learning in public?

swyx: [00:37:56] Sure. So I always send people to my site now, six.io. It's got all the links to everything else, if you ever need it.

And I, I do have a weekly newsletter that you can subscribe for more thoughts. I always love to share the best of what I read in other people as well. And yeah I think if anything, I hope to encourage people to go through the same journey that I did because it's really changed my life.

And I wish that people would try it out just to see what it can do for them.

Julia Che: [00:38:22] Well, thank you so much for your time.

View Details

This is a narrated version of my blogpost. You can share the tweet thread version here!


I turn 35 today. Here are 35 principles I have accumulated and try to live by:

  1. Life is too Short for Short Term Games. We only have so many years for long term games to compound.
  2. Writing is Stupendously High Leverage.
    • It helps to organize my thoughts and learning (aka Building My Second Brain). I win even if nobody reads me.
    • It enables me to share great ideas even while I sleep (as a Friendcatcher). I am constantly shocked at the caliber of people that read my work and DM me their thoughts. There is absolutely no other way I would be on their radar.
    • Blogging helped me sell $4k worth of an empty PDF on the day I decided to write my book because people trusted me.
    • It's led to multiple job opportunities from great companies (e.g. Netlify, AWS, Temporal) that I would have otherwise struggled to be hired at.
  3. Learn in Public. Most of you know me for this one... (read up if you're new round here, welcome!)
  4. Good Enough is Better than Best. In a world of infinite abundance, you can lose yourself constantly chasing the hottest new thing. Satisfice rather than Maximize.
  5. Less is More. Minimalism wins: Subtracting is harder than Adding. Quantity reduces perceived quality. Depth and whitespace stand out. (yes I realize the irony of this principle in a list of 35)
  6. Create Clarity. Simple Explanations of What, Why, and How are extremely
  7. Optimize for Change. Optimizing for anything else tends to make systems MORE fragile, not less. If you learn only one lesson from React and GraphQL, learn this. https://overreacted.io/optimized-for-change/
  8. Seek First To Understand, Then To Be Understood. Don't get defensive about your point of view or perception of reality - understand theirs first. Either you will learn something new or you'll understand how to better get your point across. Hold multiple perspectives in your head and be able to summarize the best arguments of all major parties in a way that THEY agree with.
  9. Praise in Public, Criticize in Private.
    • As satisfying as it might be to dump on someone publicly, I need to remember how it makes them feel.
    • Everything is not awesome, and I despise fake positivity. But I can either help or make them feel bad about it and the former is more effective than the latter.
    • Exception for companies and people that are actively harming or misleading the vulnerable.
  10. Build an Empathy Check Habit. I can't take back an impulsive response that hurts someone. When I can't check with trusted friends, I need to think before I tweet.
  11. People remember how you made them feel, before what you said. A good story has more power than a good argument.
  12. Treat Others How They Want To Be Treated. The Golden Rule is -sadly- not good enough when your privilege is higher or expectations are lower than others'. Time for The Platinum Rule.
  13. Complete Truths are Not Welcome.
    • Most people are more interested in...
    • being entertained
    • sharing outrage
    • feeling good about themselves
    • defending their reputation
    • ...than debating truth or improving themselves.
    • Trying to change them is ineffectual.
    • Let them be, and seek out like minds.
  14. Organize IRL Events. You can do a lot to create excitement and connection in a community simply by organizing dinners and meetups and conferences. Svelte Society started on a whim exactly like this. Now there are thousands of members drawn to the Svelte community that wouldn't have before.
  15. Don't offer unsolicited help. Make Sure Help Is Wanted Before Offering It. Men - be especially wary about this when women are talking about their problems. Sometimes they just need support, not solutions. (But sometimes it really IS about The Nail...)
  16. Ask For Help More. People are happy to help and like you more when they have helped you. Don't worry about showing weakness; you are getting something far more valuable in return. Use a Help Timeout.
  17. Log Your Wins. e.g. when you ship something big or small, or when someone says nice things about you. They can help when you are feeling emotionally down, or when writing a brag document. Help others celebrate their wins too. P.S. a brag slack channel can serve as an OLTP store of personal wins.
  18. Don't End The Week With Nothing. The reason you don't see any of my work prior to 2017 is because I thought it was sufficient to just work hard at my finance job. Now all of my intellectual output from my 20's - some of the best research and writing I have ever done - is locked up in some mailbox somewhere. Never again.
  19. Pick Up What They Put Down. Guarantee feedback by giving feedback. https://www.swyx.io/PUWTPD
  20. Speak Succinctly. Stop speaking in trailing sentences and double-barreled questions. Set the general direction and shut up. If they're off-track, interject. This is preferable to preempting all conversation paths to show how smart you are.
  21. Optimize for Retention, not Consumption. We are the sum total of still-relevant knowledge we still remember, not the total of the volume of content we consume.
  22. Illustrate Your Point. Adding code samples or drawing 2x2's and system diagrams makes your idea much more effective. A picture IS worth a thousand words! Even this shitty example works, you can do better than me.
  23. Separate Your Identity from Your Work. You can learn a lot on the Internet for the low, low price of $YOUR_EGO.
  24. Build Tools For Yourself. This is a superpower and a sandbox all rolled in one that is guaranteed to make you happy.
  25. Collect Questions
    • Obsess on collecting good answers and you might be precise but irrelevant.
    • Obsess on collecting good questions and you will be approximately right.
    • My Work-in-Progress list of questions here, but see also the Reverse Interview repo and Feynman's 12 Problems.
  26. Systems > Goals. "You don't rise to the level of your goals. You fall to the level of your systems." — James Clear
  27. Play Games You Cannot Win. Our world is full of "winnable" games - likes, retweets, #1 of the day, employee of the month. External motivators destroy our intrinsic drive. You don't play infinite games to win. Only way to keep childlike creativity is to play games that you cannot win.
  28. Use Your Calendar as a Todo List. Normal todo lists don't force you to make tradeoffs. Sequence your work, set limits, and know when to decline or delegate tasks. When time block planning, eat your frog: Put First Things First.
  29. Practice Stoicism. It'll never stay as great as you want, it's never really as bad as you feel. This, too, shall pass.
  30. Have a Productivity Keystone. If you start a day unproductive, you are extremely likely to be unproductive the rest of the day. Instead, start off with something productive that you do every morning, you reinforce the idea that today is going to be a productive day.
  31. Incorporate. Companies pay expenses before taxes, People pay taxes before expenses. (Singapore is pretty great if you have this choice).
  32. Stay in the Game. Berkshire Hathaway originally had a third partner, Rick Guerin. He got caught out with margin loans and had to sell out. Warren and Charlie survived 14 recessions. https://www.swyx.io/psychology-of-money/
  33. Don't Skimp On Your Equipment. Spending a few hundred dollars on your keyboard and monitor setup will save tens of thousands of physiotherapy and pain in future.
  34. Earn White Collar, Spend Blue Collar. Don't let your expenses rise as fast as your income - you probably don't need what you're thinking of buying. Spend part of your white collar income making up for white collar downsides - gym, group classes, personal trainer.
  35. Always Turn Lessons To Principles. When we make mistakes or have great success, we should form them into principles so we can write them down and learn from or repeat them. It is the only way for past versions of you to communicate lessons to future you.

View Details

This Clubhouse-style Q&A was held as part of my support for React Summit 2021 (https://remote.reactsummit.com/). Moderated by Robert Haritonov, CEO of GitNation.

Timestamps

  • 2:30 How do you keep up with the changing landscape?
  • 5:00 Balancing Learning Time with a Job
  • 7:15 What are the top technical and soft skills to transition from junior to senior?
  • 12:30 The Importance of Communication and How to Do it Well
  • 17:30 Prioritization, Batching and Pair Programming
  • 19:20 What can Seniors Do to Help Foster Juniors? Apprenticeships, Mentoring, Sponsorship and Allyship
  • 23:15 How to convince older devs to try new tech? Address their concerns, do proofs of concept, know when to fold.
  • 28:45 Nontraditional background. How to convince people to let you through the door? Networking and Personal Content Marketing.
  • 34:00 How do you make technical decisions as a senior and avoid getting stuck? Innovation Tokens, Action Produces Information, Pay for Advice
  • 40:30 Fall in Love with the Problem, Not the Solution
  • 42:00 Can you still be a fullstack engineer?

If you enjoyed this chat, you're welcome to check out our career community for 30% off!

Mentioned Links

  • Chapter 5 - Junior to Senior (free PDF)
  • Gergely Orosz's Tech Resume Inside Out
  • My Podcast Recommendations
  • Every Public Engineering Career Ladder
  • Sponsorship: https://larahogan.me/blog/what-sponsorship-looks-like/
  • Allyship: https://www.samanthabretous.com/blog/black-women-equal-pay-day-heres-how-you-can-help/
  • Diversity Resources (this is a work in progress list, hence not yet published, but i've been sharing these with pple who ask): https://gist.github.com/sw-yx/7aeedbeac1bb81017cd4f9d66b223b63
  • Ninah Mufleh Airbnb Resume
  • Innovation Tokens
  • If you'd like to see my React Summit talk, check out: https://youtu.be/yLgq-Foc1EE

Transcript

Robert Haritonov: [00:00:00] So yeah, I'll let you get to your Shawn just, go ahead as you please?

swyx: [00:00:03] Hey everyone. Hey, I'm Shawn, also known as Swyx on the internet.

I'm a React fan and but also a Svelte fan and one of my talks, that I speaking later on in an hour or so is seven Lessons to Outlive React. But this discussion room is a different topic. It's a non-technical topic. It's related to the book I published last year.

Basically talking about how people can go from junior to senior, how the non-technical elements of the software engineering job is very relevant for our career progression and something that we don't really talk about enough. And yeah, I'm very interested in sharing my experience, the experiences of the people that I learned from.

If you wanna check out the, the amount of research I did you can check out the site at LearnInPublic.org.

I'm going to just explain a little bit of what I wrote on the junior and senior chapter. So essentially part of what I was trying to do here was define what a senior engineer is.

And it's one of those things where everyone has a different opinion and it's more of a pay scale than it is a well accepted metric. To some people you have to have at least three years at a high growth startup. Others can take up to eight years to become a senior engineer.

Or there's, let's just say they don't care about the number of years, right? It's more about what you can do. And ultimately I think for me is what I really care about is for everyone to have the prerequisite skills enough of the prerequisite skills, and accomplishments that you can make a strong case for a senior developer, but then also market yourself as meeting enough so that people notice you and hire you whether, internal promotion or externally when you do a lateral transfer to another company.

And I think a lot of times it involves acting like a senior engineer before you officially become one. So it's a bit of a chicken and egg, right? And I think that's something that we have to recognize more and study more. . Because I don't think we have enough of a conversation about how to convert juniors to seniors and It's the biggest gap in the industry, everyone wants to hire seniors, but there are so many juniors trying to try to upskill themselves.

2:30 How do you keep up with the changing landscape?

I've just invited avocado Mayo. Are you able to speak hi, can you hear me? Hey, how's it going? Shawn? The eye. Good. Thank you. I'm a developer based in Canada. I am, I have a question for you a general career advice.

So I, I feel that the front end landscape is constantly changing and the web is constantly evolving. A question that I have for you is what are some ways that you kept up with the cutting edge so that your call I'll still the learning and what are some ways that you kept up with the changing landscape in development?

Great question. It's something I get a lot, but honestly I don't, I haven't really slowed down to like document a process. I just do whatever comes to mind. So this is a bit off the cuff. So something I care a lot about I think it would not be an exaggeration to say that I do get a lot of my tech news off of Twitter and the things that, so I tend to do this strategy, which I call following the graph, which is like figuring out what the smart people that have effect they have built, the things that you use, like the reacts and the babbles and the WebEx, figuring out what they, how they got where they are and what they're working on today, because they're also excited about other things they didn't stop just because they were done working on, on, on the tool.

So I follow the graph, like I follow who they follow, and then I figured out who their influences are and try to understand the historical context of where these technologies fit in. And that's all an attempt to try to figure out like what themes I should focus on for the future. So every now and then I try to step back and go okay what am I interested in?

Because I think honestly the reality is that there's too much to keep up on. And I think if you try to keep up on everything, it's a full-time job and you'll never go deep on any particular topic. And that's also really bad. It's not enough to just know the names of every project.

You actually have to have tried it out to know the philosophy. You have an opinion when you're, in your company, you're asked for it. So that's why I try to do I tried to have a thesis. I tried to inform it by following people who I think are doing interesting things in the ecosystem. I think attending conferences actually really helps a lot because the people who are excited enough to give a talk about something, it's probably something I should at least be aware of, like what it's about.

And I have this four-step framework that I borrow from thought bot I think, or thought works. Where it's it's like assess adopt, avoid. And I forget what the fourth category is, but basically just have an idea of what you are choosing to focus on what you're monitoring and not really getting into right now, but could be, and what you've just decided.

Okay. Hey, there's just too much going on. I need to filter something out. And I think that's a very healthy way to stay on top of things.

5:00 Balancing Learning Time with a Job

Thank you so much, Shawn. I have one follow-up question before I I go back to the audience. So as you mentioned, it's I feel like when I, whenever I get on Twitter, there's an overwhelming amount of information. And I find it also really hard with all these emerging technologies to balance. I like the, my actual job and learning these new things.

Do you have any advice for how you manage your time for learning new things and actually, getting your job done? Wow. That's a, that's an awesome question. I think it will be it's very nice. A lot of companies have this idea of some learning time.

For some companies that's half a day, every week. So I'm going to be just like one day, every two weeks, whatever it is. If your company can budget in some learning time on the side, I think that really is very helpful. For me, I do a lot of side projects. I will dive into to things outside of company time.

That's something that's not necessarily something that everyone can do because they have a life for her family outside of outside of work. But I don't know that there's, you can find ways to. I guess keep tabs. And if something's not working out for you, be okay with letting it go and try something else.

So if you're doing X, if you're doing, if you're working out, there's plenty of podcasts, I can recommend to you. Just go on my blog and look for a podcast. I have list of like 250 podcasts. And and you can keep up that way, right? Like you, you could be doing something active and still learning.

You could be, just experiment with different forms of learning, in, in different people learn in different ways. So I definitely think that I learned best by, by keeping my focus small on like the number of topics and themes I get excited about and just ignoring the rest and then actually trying stuff out because.

You really only go get so much just like looking at tweets and reading, readme's. It's once you actually have tried the thing out, then you have a strong opinion. And you pretty soon find yourself like recommending it at work. And it's pretty cool when like the stuff you learn on the side comes in and actually has a positive impact on something you do at work.

And that's where I think people start to really see the value of you learning during work as well. So you can make a case for that.

Robert Haritonov: [00:06:56] So Shawn, I've been doing some discord management, created the channel. People can ask a question there as well. It's right. The whole discussion around what's called discussion. I'm going from junior to senior. There was one questionnaire, but we also have two people joining here with voice, so Kwan and dome.

swyx: [00:07:12] I think Dom raised his hand first. I'll go first.

7:15 What are the top technical and soft skills to transition from junior to senior?

Robert Haritonov: [00:07:16] So I have two questions. The first question would be what are like your top evaluation of skills for technical and soft skills for that transition from junior to senior.

And second, my question is my second question is regarding how do you know you're in that same like level of senior after, when you start off as a junior without having that

swyx: [00:07:39] imposter syndrome? The second one is it's closer to home. The first one, let me try and rephrase the first question. Cause I don't think I really got it.

What level of technical skills are required? You said

Robert Haritonov: [00:07:48] What do you think differentiates a junior dev on a technical level from a senior dev both texts like technical level

swyx: [00:07:56] and soft skills. Yeah. It's it, obviously we're at a front end focus conference, but I try to keep my answers agnostic or front end or back end, and it's going to depend on, whatever team you work on.

But here's the bottom line, right? I think that seniors should be able to independently ship something from beginning to end, like the buck stops with you. And for most things I can just give you an assignment and you can basically ship. That feature or that issue or that Epic basically on your own, without much guidance, whereas a junior obviously would be expected to to be given as much resources as possible.

So that independence is a very, very key part of the senior definition. The non-technical elements there, there are a lot of other definitions as well. Mentorship is a key one. Once you get to a point where people start coming to you for advice that's a strong sign of a senior developer and being able to be a force multiplier for the rest of your team.

So, you're not just concerned with your own performance. You're also concerned about your team's performance and working on. Either processes or even dev tools or infrastructure tools to make them all more productive. These are all qualities that people shout out as as positive aspects of a senior developer.

I have this essay called junior engineers, senior engineer, and I have a list of like little quotes that distinguish things between junior and senior, which I could read out (see the PDF linked above). I don't know if that would be helpful. But then I can also talk about, I guess I'll squeeze in one more thing before I, I give I talk about the.

The katas which is career letters, right? Study your company's career ladder. If your company doesn't have one, try to get involved in in creating, defining one, because if you get a hand in defining your own career ladder, then you get to, nudge things in a way that you like, which is very nice.

But if you need help if a company doesn't have one, there are a lot of public career letters out there. So I have a blog posts. That's literally just Google every engineering career ladder. And it's, I've just compiled like 30 different career letters from the financial times Kickstarter rent, the runway medium all sorts of career letters that is done in public.

And you can just study them Circle CI has a really, really good career ladder, by the way. And just study, like what they define to be the qualities of a software engineer, one versus two, versus a senior versus principal versus staff. You get to see the difference. There's more and more industry impact.

There's more and more emphasis on communication. In fact, the more senior you go, it's the less technical elements are still a big part of it. But then you're also expected to be able to contribute on non technical elements, which I really. I want people to wake up to essentially even if you look at circle CII, which is one of the most technically rigorous companies out there something like 75% of their promotion criteria are essentially non-technical which people don't really realize.

Like it's not something that you learn in bootcamp or in, your CS degree that, Hey, you should be good at communication or understanding how your technology fits into the broader business strategy. But that's something that people put on the career letter. And therefore you are incentivized to learn about that as you want to progress in your junior and senior path.

Does that, I want to pause cause I've gone on for a bit does that help it? Yeah. Yeah,

Robert Haritonov: [00:10:58] for sure. I'll have to. Search your your resources,

swyx: [00:11:01] but I'll definitely check that out. By the way, talking with me is like this I always go I have a blog post of that, and that's a strategy to, you like straight up, like I'm someone making fun of myself, but think about what if you had that at work, right?

What if you you had a conversation, but then you had a really well thought through written thing to back it up so you can send it to whoever you're talking to. Like people will just like you, you're not only sound smarter. I don't sound super smart right now because I haven't really been thinking about this topic recently but.

You just sound more prepared like you've covered all your bases and like... the bit rate of trends of information transfer right now from me to you is not very high, right? Like it's just whatever I can think of. And I'm not very good on the wall, but while I'm writing, I can structure things, organize things, make links and follow up references and stuff like that.

That's just really, really smart. Write things down and I think it's a really good skill of a senior developer. Yeah. Shawn, sorry, I'll

Robert Haritonov: [00:11:53] stop you here. We've been

swyx: [00:11:54] Hiked out. We have

Robert Haritonov: [00:11:55] so many listeners here. There is all the questions and the ex chat as well. People do have some issues when they try to get on stage.

So I suggest people also to ask the question in check,

swyx: [00:12:07] And Shawn, the kitchen since there all the

Robert Haritonov: [00:12:09] questions. Maybe let's live with one

swyx: [00:12:11] question for the first time,

Robert Haritonov: [00:12:12] Just to try covering water base as, yeah. There's just a

swyx: [00:12:15] lot of Devin chatter here. People might have been with Q as first,

Robert Haritonov: [00:12:19] like you.

And

swyx: [00:12:20] then there are questions. Yeah. And feel free to just ask stuff in and I can answer asynchronously on the text chat.

12:30 The Importance of Communication and How to Do it Well

Questioner: [00:12:34] Your previous answer really helps the transition to this question.

As far as I know, something super important to become a senior, our communication skills. Do you agree with this? I guess you do. If you do, what resources do you recommend and what tips do you have? The things that you wished you knew during the transition process, when you might've felt lost.

swyx: [00:12:50] Oh, that's an interesting question. So of course I believe that communication skills are very important. In fact, it's probably one of the most common things that are in the career ladder. If you study them so very important and I will also volunteer that. I don't think I'm very good at it.

I'm decent. I, I don't fail my own evaluation, but I've seen people who are way better than me about it. So I think resources wise there's a lot about communication across cultures, which is something I think about a lot. One thing I can point you to is I think the lady bug podcast, I think a lady bug FM or something like that, they did a whole episode on communication skills, which I quite recommend the D they have some tips about just.

Understanding how it comes across how you come across. And really having empathy for what the other person is thinking and feeling. A lot of the times we have to understand that we're not just, let's say you're doing a code review you and you're pointing out flaws in somebody's code.

It doesn't reach them that you're trying to help. Unless you break down that barrier, that kid and remind them like, Hey, I'm on your side. You have to break, go past like the emotional barrier of Hey, does this is this person a threat? Are they making fun of me? There's all sorts of things going on the other person's head.

And you have to reassure them like, no, I'm really, I'm your partner. I'm here to help. And that's something that is, it is a skill as well. And particularly in some some cultures where. Sometimes the respect for authority is, can be very different. The the expectation of like your, the message that, that has received.

If it, if you say something once, do they, is the responsibility on the recipient or on the deliverer to make sure that the message went through. These are all things where communication has led to real disasters before like planes crashing, because People thought that, the message was delivered and it wasn't.

So I don't know. I don't like, this is a huge topic. I don't know if I've fully answered your question, but I think when in doubt, just write more whether it's like writing up your decision on, like, why you make a technical choice, they just write it in a comment, I think or just like your PR.

One of my most popular interview blog posts when I was at Netlify was how we do feedback ladders.

So I think if you do, if you look, if you Google, like Netlify code review or Netlify feedback ladders, you'll get this post where we actually have a system for encoding what we're trying to say, because it's when it, when you're in a, when you're in a cold, medium there's a difference between cold and hot mediums.

When you're in a cold, medium, like a GitHub PR review, people can read a lot into, like, where do you put it? A period at the end of your sentence are you being passive aggressive right now or are you just, making a joke or are you, is there a sarcasm? Is there do you think this is a big deal and I should handle it right now? Or is this just a comment? Take it or leave it. There are all these little subtle nuances that you can skip. If you have a clear code that you communicate with your coworkers with.

And I think the last point I'll make is for feedback reviews which I really like is preemptively review your own code. So that you save one round trip. So when you make a PR you just think about okay, what is this person going to say? I've worked with them enough. Let's like emulate them in my head and go like, all right, what are the typical comments that they would make and just anticipate them and then write your response.

And just by the sheer act of doing that, people would really appreciate it. And they understand that you've addressed their concerns and now they can move on to you with the more important stuff that they sell them, get the chance to get to. So I there's a lot here, communication is a really deep topic.

And I'm not the authority on that. Like I just think that people should practice it more and realize that it is as important to them as their coding skills.

Questioner: No. Yeah. That makes a lot of sense. Thank you for your answer. Do you have any resources that you're looking at? I don't want it to be like a one way street. Not me specifically. I'm trying to ask around as well, just to learn as much as possible. It has a communication resources. Just pop it in a discord channel. That's next to this room. That's a crowdsource. This thing. That sounds amazing, actually. Yes. Yes. On the same note you already answered this as well. How do you describe a senior? What should developers aim for mostly, if there's anything else you want to add and regarding the resources, how can we get your senior to junior coach?

swyx: [00:16:37] Oh yeah. So that's a chapter in the book. I can I will look at releasing I'll look at printing it out so that I can just release it for free in the channel.

But essentially, yeah I, I wrote this, I wrote the, I wrote my book Linden, public.org. I wrote the whole thing just to address this answer of the principles, strategies, and tactics that I use to get to where I am, and also the behaviors that I observed in the people that I really admire.

So I have about 1400 links for people that go down a lot of rabbit holes. Yeah, hopefully that helps. But I can read out, do I don't, do we have a lot of time left? I feel like we're, we might be a bit out of time. Cause we have, we can create, we can do

Robert Haritonov: [00:17:18] like a microphone, 34 hours myself, but let's first go through the majority of general questions as an exit face. Yeah. So based on gone, sorry, I'll remove you from the audience so that people can ask questions. Thanks, CRS. Joining us for awhile. CRS, whatnot. And three eight, go ahead and ask your question.

17:30 Prioritization, Batching and Pair Programming

swyx: [00:17:36] I guess they think that and answering questions for all your junior developers. How do you go about that? Yeah, it's a fair question. I think the vast majority of senior developers should be writing their own code still. There are more senior positions especially management as well as architects positions, where you might be writing a lot less code.

But a lot of times you'll will be balancing between reviewing and mentoring others versus writing your own code and being an individual contributor. And that's a little bit challenging. But I think you should be able to find time like obviously mentoring and working with the team is very important.

And then you should be able to figure it out. How to fit in your your individual work separately, on your own something I picked up from my ex boss, Sarah Drasner is that she actually batches her work. So if you look at her blog posts, CSS tricks, prioritization, just Google that she laid down this philosophy of basically batching this work, like individual work goes on Thursdays and maybe a bit of Fridays and then meetings are Mondays and Tuesdays, and she is coming at it from a management point of view.

But I really think that it also applies to an individual contributor as senior dev, right? If you have a lot of sort of review work batch those meetings together and also try to upgrade your bandwidth again make it very, it's very easy to pair program. People don't do it. And th the every time you do it, both sides learn something about either the way you work, or learn a new trick in the editor.

It's a very high bandwidth communication skill. I would recommend that batching and then pair programming.

Robert Haritonov: [00:19:06] So have a role SKUs that I joined and then a super Shawn quick. Now it's there, there's some voice of community that's me as with you. So there's no big on nice push check, push. You brought up because it's constant sound from your diagnostics and they're all discussed definitely to not having to ask your question.

19:20 What can Seniors Do to Help Foster Juniors? Apprenticeships, Mentoring, Sponsorship and Allyship

Questioner: [00:19:23] Okay. So my question is more coming from the other end. I'm a senior kind of more experienced developer and I'm wondering. Kind of what I can do to help people, or what are things senior does or not doing to help foster junior devs? Cause I don't, I want to know what I can do to make more people more diversity, like the industry, a better place to work in.

Wow. Okay. This, so I thought there was this was a question about people already on your team, but you're still saying the industry as a whole. That's great.

Questioner: [00:19:53] Yeah. I know. Like I can start with my team, but obviously one good safe, it's going to be a ripple effect.

swyx: [00:20:01] So my direct answer is someone who changed.

I changed careers at age 30, right? The right answer is more internships and apprenticeships for people with non-traditional backgrounds. We at tech companies have a lot of re entry routes for people for traditional degrees, like CS degrees. But then if you just went a different way and then came in to, to the tech industry later in life, you don't have those opportunities.

And I think a lot of people, especially of, diverse backgrounds would benefit from that. So that's my immediate shout out. And my wishlist is if I could wave a wand and have every single company take in, two more. Interns or apprentices. I think that we do a lot better just because the main thing is to get people to experience, and after, six months, a year of apprenticing and interning under someone else, they will have a lot better of a resume to, to go job hunt. And that then they're off, they're they're off to the races. I think the other thing I think is also opening up opportunities for people.

So as someone who's a very plugged in and very capable. People will throw a lot of opportunities to you and you need to be aware of what you don't necessarily you, you could do in your sleep, but you don't necessarily have to do, and it doesn't have to be done right this second that you can actually hold off and just go - Hey and open up this opportunity for someone more junior on your team to let them do it and you can start supervising.

So I hope that's not like too, I don't know. It's not like delegation. Yeah. More, so much as like mentoring, right? Because ultimately your success is you make another one of yourself.

I always say the best way to be a 10 X developer is to teach everything, to 10 people around you.

Rather than the individually 10 X and do everything yourself. So I hope that those are the immediate things that come to mind. Obviously, I think donating actually helps a lot, like your money goes a long way with free code camp.

And and also getting your company to sponsor those those diverse organizations and hire make sure make sure you like the hiring pipeline is equally diverse.

That I feel like I feel like I'm saying obvious things, but how does that resonate when you think about your question?

Questioner: No, that, that makes sense. Especially yeah, the letting go, the things like I know, as a know, sometimes it is hard to let go something where you're like, this would take me, very quickly this time, but the mentorship which takes, a little bit longer is way more beneficial to everyone in the long run.

swyx: Yeah. Yeah, exactly, exactly. So I w I would call out, so some I actually forget who came up with this idea, I think was Lara Hogan. She defined a difference between sponsorship and mentorship and, or I think sponsorship in allyship as well. It's I feel like it's so weird for me to tell a woman this cause I'm not the expert on that myself.

So I would recommend those resources as well. And I'm going to paste the list of diversity and tech organizations, which I've been really following and has been helping me learn a lot about this as well. Veni Kunche has a newsletter, which I encourage everybody here to sign up because she really has a balanced view, which I love which is okay, like we're not doing well.

But she doesn't damn you for it. She just says, gives you a stern look and goes like you can do better in any way. Yeah. Yeah. We know. Vinnie crunchy of diversified tech. She has a great newsletter and if you want to, hire people of diverse backgrounds definitely go sponsor her.

Awesome. Thank you so much. Thank you.

23:15 How to convince older devs to try new tech?

Robert Haritonov: [00:23:16] know, let me try it on a museum. Supertramp can you

Questioner: [00:23:21] ask your question? Yeah. Okay, great. Hey Shawn. I had a question where essentially I don't enjoy working where I am right now.

Mostly due to the lack of kind of the learning opportunities. Primarily my team, they really enjoy a very old version of PHP and I'm trying to convince them that there is some proof in the success of modern react or JavaScript or modern frameworks. I just wanted to ask if, did you have any tips to convince old PHP data's or old kind of web developers that it's okay to give some jobs could

swyx: [00:23:57] Wow. Hmm. Why are they? I T I have to dig into that further. Why are they opposed to adding new frameworks and stuff? What is their stated reason.

Questioner: [00:24:07] A lot of our products are very public facing. So they fear that if we make any kind of change that might affect like client facing products, they worry that it might break. So they just say, all right, we see what you're trying to do here. We want to, we understand that you want to improve our code, but it's currently working. So why do we need to fix it?

swyx: [00:24:28] I have a lot of sympathy with the don't fix one in Brooklyn thing. I think that's actually something that people get to after a lot of pain.

They're not necessarily wrong. But obviously what you're trying to do is also improve the user experience. And that's something that they should be prioritizing as well. Are they optimizing for their own comfort or are they really, making a technical trade off.

Here. So it's not clear to me, obviously I'm not in your situation. And I can't really speak for them. But ultimately I think there's only so much you can do as an engineer. That's probably junior to them. You make your case and you make a S a strong, where you can do is for example, like a proof of concept.

I'll give you one example, the a friend of mine, Zach Argyle he actually worked at Pinterest where he was trying to advocate really strongly for a progressive web app. And everyone at Pinterest was just like, no, like it's a waste of time, whatever. And he was ignored for two years. And the way he got through was he did a hackathon where he just built a basic Pinterest PWA and shown the really high.

And, metrics that you can get in performance as a PWA, directly to the CEO and that impressed them so much that they converted themselves to a PWA. So sometimes you have to do a stunt like that to get through to people. But ultimately you cannot convince someone who doesn't want to be convinced.

It just doesn't have an open mind. And I was already decided that their answer is right. And in that sense, you got to look out for yourself, right? So there are plenty of other developer companies will love to hire someone like you who's passionate about modern technology and no judgment on them.

Right? Like they're B they probably, they think they know what's best. But you should also figure out what's best for you.

Questioner: [00:26:05] Thank you. I like I totally. Yeah I'm totally happy to hear that. There are potential solutions for like more and water like solutions for the problems that I'm facing at my convenience facing. But if he has, like, whenever I try to present them, they Shut me off because of the fact that I'm like more of a junior developer

swyx: [00:26:23] You have to earn it, right? There's a given get here. Like they have to make room for you. And if they're not the they're making a mistake but then also you shouldn't come in and just have them listen, like demand that they listen to you have to earn it as well. Maybe also look for small projects, too side projects that that they could split off to let you experiment. That don't matter as much to them. Sometimes you can do a lot of this through internal tooling, right? What do your sales or marketing or product managers need, build that for them and see that, see the benefits internally before rolling it out externally, right? These are all things that I've actually done because people weren't letting me do it. People don't let you through the front door, go to the side, go on the back figure it out. That's cool. Yeah,

Questioner: [00:27:02] I'm actually only point of that topic. I did design like a next JS version of a, so what we did here is generate like what forms for people to put their data.

And then we we do lead generation based off that data. And I did take that initiative and create a kind of like a front end, like next JS project. But then they looked at it and they thought that this was cool, but then they didn't think it was scalable.

And they, I tried to have like more of a conversation with them about that, but then they were well, yeah, we've been doing like HP or he needs it. He's older, like pretty much for a longer time. So it just felt like. At that point in, in the one that I was presenting the project I should also say that they were they're currently sponsoring me.

I'm from Canada, I'm trying to like, I'm currently working in the UK. So at that point in time, I was thinking like, this is I think the third or fourth time, they disregarded my kind of my attempt, to improve the, let's just say the initial code base.

swyx: [00:28:02] I appreciate your Tufts situation supertramp and happy to chat with you. Async as well on the discord. Yeah, of course. Thank you.

Robert Haritonov: [00:28:09] All right. So if anyone else wants to ask a question, raise your hand. We'll set the stage. Meanwhile, Shawn, you can just cram maybe

swyx: [00:28:16] through your questions

Robert Haritonov: [00:28:17] in the light. Maybe you get a big

swyx: [00:28:21] face on that.

If people were trying to hire a super Supertramp and

It's a good idea to, yeah. Honestly, I find a lot of people changing jobs at conferences. It's a really nice thing to see and good for labor mobility, but maybe not so good for employers sending people to conferences. I don't know, but if you're confident in your employer brand, then you should be a net hire from conferences.

And if you're not, then it should not be so good for you.

28:45 Nontraditional background. How to convince people to let you through the door? Networking and Personal Content Marketing.

questioner: Hey Lucy. Lucia. Yeah, Lucy was here. I don't know. So I'm actually a developer who came from a very non-traditional background. And they did a bootcamp to get into our changed careers about two years ago now. So I did a four-month bootcamp and I managed to secure my first job, which was amazing. When I was transitioning from my first job to my second job, the issue I was encountering was I wasn't even really being given the chance to get through the door for the interview.

The few interviews I did get, I found that if I got to that stage, I was able to convince them that I was a good candidate. I got a couple of offers, which was amazing. So my question was like, how do you convince people to let you through the door? Just from your CV, if you're forming a more non-traditional background.

Wow. Yeah, that's a challenging one and there are a number of ways, essentially networking is the one that comes to mind, it's my friend Gergely Orosz wrote a... Little, I think it's a free book called the tech resume inside out maybe. I'm not exactly sure. What his book is.

I want it, someone, let me look it up. But he actually had this, he had he'd look at the numbers, and a lot of people don't get through the first screen, which is the resume review screen. Cause people take a look at your resume for 30 seconds. And it's a very inefficient transmission format.

Cause you're supposed to serialize your experience and your potential down to a single piece of paper. And you hope that they have the correct deserialization algorithm to, to do that and figure out that Hey, you're someone that they should be talking to. So I really liked the other way of networking within the company and getting a warm introduction so that they not only skip you to like the next step where you actually do a proper interview, a phone screen. They also give you a few hints as to what the company values and what you could be doing there because ultimately you want to have a good answer for like, why are you interested in working with us?

And that's something that you really get from like understanding the company really well and talking to people internally within the company.

So that's one thing, I it's, I think it's a very common thing to say Hey if I buy your coffee we we let me pick your brain. Don't use those exact words because picking your brain is extremely overrated in 2021, but you could go I'm interested in applying I, and I'd love to learn more about your day to day stuff like that. It's just a very genuine people know what you're trying to do.

And we've all been in your shoes. That'd be not all, but we appreciate that. You're trying to get somewhere and I think people really appreciate the effort that you put in to even like a cold email, right? To say Hey, we've never met, but like you work at this company, I really interested in it.

Do you have 15 minutes to chat? Most people will say yes. And I think that's a good way to get going. If we're doing this in person, I would actually not recommend coffee. I'd recommend a walk in the park which is something I used to do in New York. Okay.

The other thing I really like is the permissionless application, right? You're applying through a CV and, you may have a portfolio if you're a more design and front end oriented person. But you can also do Like a breakdown. So some, a story I really liked was this woman who was very interested in working on marketing for Airbnb and realize that, she was wanting to show some in the middle East.

And she realized that the Airbnb didn't really have an middle Eastern presence. So she mocked up a fake site. That just looked like Airbnb and just demonstrated her potential as someone who could do that. She worked in marketing, but you could equally work, do that for engineering, right?

Like just do a simple CLO and talk about a specific algorithm that that you could work on. A friend of mine from my bootcamp actually broke down the collaborative filtering algorithm of Spotify and she got an interview there. Because it, it went viral.

So like people were Spotify would definitely noticed. But it just shows a level of commitment and interest that most people don't have because you're not praying. It's the industry term is called spraying and praying, like anything that you think that you can do to show that you genuinely have interest, and you're not just like throwing your resume every which way.

I think that actually just puts you in front of the line. So that's my quick take. Yeah. Ultimately, so ultimately you won't start this way, but ultimately what you want to get to is you want to be, you want to have your domain and your sort of expertise. So well-marketed that people come to you, right?

Whatever you're particularly interested in winter where there's animation or accessibility, or responsive design, whatever it is, you want to be such an authority on that. And people come to you for things that you're interested in. And then the hiring conversation becomes very different.

It's more about whether they're a fit for your interests whether as compared to, can you contort yourself to something that they need right now, which is at the end of the day, like if you apply to the company in the end, they're just not hiring. You're not getting in the middle of what so it's really dependent on those things, but hopefully I've given you some ideas here.

Yeah. That actually has been really helpful because it actually talks with. My experience in that, one of the offers that I got was specifically because I've been to around them meetup talk and messaged someone who'd been talking and was basically saying saying things like I'm struggling to, to get people to listen to me, but I feel like I'm a really good candidate.

Yeah. And then I just struck up a conversation with him online reading 10 and from that I then got an interview which then led to an offer which was awesome. But yeah, I actually hadn't really thought about it in that way, but actually yet it really does make sense. What we're really doing here for those interested is we're doing personal content marketing is the same thing that companies are doing for their brands and their products.

And we can do it on a personal level.

Cool. Lucy, thanks, sir. That's a great question. Go ahead and answer your question.

Just remember to push book.

34:00 How do you make technical decisions as a senior and avoid getting stuck? Innovation Tokens, Action Produces Information, Pay for Advice

Questioner: [00:34:07] Hi I'm a big fan of your writing in your blog, Shawn, thank you. What I wanted to ask is related to in a situation where you're given a bit more responsibility as a senior, and you have to start making decisions, especially technical ones regarding the stack regarding specific things you need to accomplish for a client or a project.

And how do you maybe are how do you not get stuck in that, in the, over analyzing the specific decision, not just to not make a mistake for your client or for your product, but also not bother your, or add overhead to your teammates as well and your colleagues in. To not to create issues later on, on a project, sometimes you get stuck in the decisions so much that you feel like you can move on. I dunno if there's something that all the time

swyx: [00:34:57] Are you familiar with the concept of innovation tokens? And no, actually kind of her. Yeah. I think this camp I'm not sure where this idea came from, but people who'd go Google the source, but essentially the idea is to minimize risks but to allow some innovation, right?

The tech stack that you work on work with for a client it should be something that you're mostly familiar with and you're confident that you can ship in time and on budget. But you allow yourself, to innovate or try new things in one or two areas of your tech stack, and that's your sort of innovation credit or innovation budget.

And yeah, so to me, that's where you want to get to that may not necessarily be where you are right now. First job is to have a set of technologies, which are. Which the whole team is confident in, right? To me, I call this like a minimum spanning set of technologies that like, you can pretty much string together to accomplish any tasks.

They may not be the best tool for the job. They might, wanna be the trendiest tool, but they do the job. And then you allow yourself in every project to try a new piece of technology that you want to include in your tech stack and try it out on a real project.

So that's what comes to mind for now, I think obviously where I don't really understand why you're paralyzed. I think that there's something deeper there. Can you tell me more about the analysis paralysis or I forget what you call it, like the stalled decision.

Questioner: Yeah, I guess it was not a, it's not just a specific situation I'm talking about. Maybe, Maybe does happen when you you were given more responsibility. I do not, you don't know how to approach it. It's not necessarily choosing a JavaScript framework, but making also bigger decision on on different elements of how the team is supposed to work together either technically or not. And sometimes it does happen. I don't have I don't want to go into very specific because there's multiple cases where it does happen. Maybe it's personal to me and just wanted to hear about maybe similar situation and how other people dealt with it. And you were, I mean, perfect example.

swyx: [00:36:43] Yeah. If anyone has ideas let's cross source this as well. Cause I, I feel like I don't really it's so broad this question and it can go so many different ways. To me, it's something that you have to agree on it as a team. If you have a.

I guess if you're in the position of leadership, then obviously you're in charge of proposing and helping, having to serve as a tie breaker. If you have a client, sometimes they have a very strong opinion and you can present them, twice HSB and then let them choose. These are all really nice ways to basically offload the decision.

Ultimately I think a lot of things are a lot of decisions are reversible, right? If you think about type one and type two decisions which is a Jeff Bezos type of framework, I'm trying to understand if your decision is reversible or not. And if it is then just doesn't matter which one you try it out, just try it, try something out for a few weeks.

And then if you don't, if it's not going the way you think it is, then you can go try the other thing. Ultimately the way I approach any sort of analysis paralysis now is this idea which I got from the sun newsletter called common cog. It's called action produces information, right? If you've done any, if you've done all your research, you've asked everyone and you're still stuck between two options or three options.

Then no amount of further studying and worrying and hand-wringing is going to help you. You need to take action, whether it is commitment to one thing. And then you realize that no, actually everyone did the other thing. Or it is taking ticket for this step of running a small proof of concept or asking for more mentorship somewhere within your organization or just your, an external mentors.

These are all like, you can even go as far as like paying someone for their advice, right? These are, this is a super, highly underrated thing in the company environments. Like people are available for hire, like max Storybird is available for hire. If you want any react to architecture advice, he's not cheap.

But he's available. And so what other people so yeah, that's as much as I get, I can go I don't have much to work with on the question.

Robert Haritonov: [00:38:35] That was very, very helpful actually.

swyx: [00:38:37] From my perspective. So, thanks. Yeah. Thank you. It's given me something to think about as well, and hopefully I can write a better answer in the future.

All right. We have a couple other questions and I have a few more minutes, so let's get this going. Pokey juice from Poland. I'm guessing. I'm inviting them. I'm going to drop by the way for those still in the room, I'm going to drop the chapter for junior engineer versus CD engineer.

And we can have a better discussion there because I feel like I didn't really do enough prep for that. Hey pokey. Hello. So I would like to address the previous in person or in, at talk question, and because I had a very similar situation that I'm like slowly progressing to higher roles.

And it sounds so overly stressful to decide yeah. And good to make the decisions. And the thing that helped me that, which I have recently found out is that unless you are in a company, which has two people and you are the most experienced one in that company, then there's always slept the bigger fish in the company, more experienced.

And you can ask them for for help or you can ask older people who maybe are not to give them the seminar. But to have more expertise in certain fields, or they haven't been working with certain technology and you can ask them how we do work for them. Yeah. So I have no question.

This one. No. That's great. Thank you for chiming in yeah, it's a challenging position to be in and that's why you've made more money. Hopefully they're paying you for all this stress that you're taking. Great. All right. I am, by the way, I'm extracting my junior to senior chapter so we can invite more questions.

I see a lot of questions also piling up in the text chat and I will drop my PDF in there so people can talk more stuff.

Okay. All right. So yeah, I've just posted that in the room. What else can I say about this?

40:30 Fall in Love with the Problem, Not the Solution

Something I really want to emphasize, and I've been really trying to find the best words for this which is essentially that we should. Fall in love with the problem rather than the solution.

And I think that's juniors may be defined, maybe falling over themselves to define themselves by the solution, right? Like I'm a react developer. Whereas seniors have probably been through a few of these cycles where like they've had, they've been super into something else before, and then they had to change frameworks and get changed frameworks again.

And by the time you get to your second or third framework, you're just like, all right, this is another tool to solve the same problem. And ultimately the thing that lasts longer than the solution itself is the problem, because that will never go away. It will. It w it will just have different solutions that come along and with, and solve it with different trade-offs.

So I hope that's a message that I want to get across that seniors. Basically collect patterns and problems and juniors collect solutions. And I want to guide people towards understanding problems deeply. And that's a lot of the way that, that the way that I structured my thinking and learning and speaking as well.

So the talk that I'm going to give later in about 30 minutes is focused on what problems does react solve, and what can we learn that will outlast react? I think that's, that's one way to go from junior to senior. Okay. I don't see any other questions I do have okay.

Robert Haritonov: [00:41:55] All right.I just want more,

even the act of discussion I'll be full if there's a topic. Thank you so much for everyone. Who's come by. Thanks. Yep. Hey Darren. Hello.

42:00 Can you still be a fullstack engineer?

Questioner: Hey, how are you doing? I just asked the question in the discussion, but I thought maybe you could ask her near him suggested that. So myself, I'm a full stack engineer, but.

And the more I look at these big companies. Now you see all the postings are from our backend or our front end and not really CFO's stacks. I was just wondering your opinion on maybe focusing on one of those things that you're more well versed in, or is it still that it's supposed to engineer still an achievable thing to work towards these days?

swyx: Wow. Ah, great question. There are definitely people hiring full stack developers. You just got to find them. I don't know where you're getting this impression that people aren't hiring full stack. I feel like they're, it's actually a lot, it's a meme in the U S where they, once someone to do everything.

I would say, yeah, I'd say it's definitely achievable. I just think it's not as realistic at some level of scale because ultimately there's, this is meme where it's like this. Horse where either your joint you're during the front end really well. And then the back end is like a really crappy children's drawing or are you drawing the back really well in the front is just like this really really childish imitation version.

There's some trade-off to be made. And ideally there's some level of specialization that you have where you can actually, market your skills in in, in a good way to and it probably involves specialization as well is what I'm trying to say. So full-stack is great for people who want generalists.

And if you want to, for example, be a startup founder or an indie hacker yourself that's definitely something to pursue and to be well rounded. But if you want to be a specialist, a consultant an industry authority, you probably should specialize. And those two are not at odds, but you probably want to market yourself in some, in based on what you're trying to tell to your clients and your employers right now.

Great. Thank you very much. Yeah, I've heard the thoughts on like specialization versus generalization. There's a separate chapter of mine but essentially the TLDR is that everyone is a generalist in some way. And when in doubt, you should be specializing because that's where you learn how to be an expert and learning to be an expert and crossing that sort of learning gap in itself is a skill.

And then also marketing it's way easier to market yourself. So I have a friend who's called, who is Cory house. He's a reacts consultant. He specializes in transitioning big companies mostly from angular to react. But that's not his only interest. He's got a lot of other interests and he actually is a pretty full stack developer just based on a history, but he chooses to market himself as a reactive Oliver.

And he, and when he did that, his consulting practice 15 in one year, And in terms of inbound inquiries, you can go look up his his tweet channel he'll he'll back that up. And that's just because marketing a response to niches, it's like a specialization. If you see any expert in something people believe in more rather than I can do anything.

Forget. Thanks very much for that. Yeah. Great questions everyone. I see a lot more in in the chat and I have to go through and answer them. But hopefully this is useful and this is fine. I had no idea what to expect a new media. Thanks all Shawn for drink. Hopefully we'll be able to replace it

Robert Haritonov: [00:45:11] again.

Yeah, the topic is really, really in demand. You had a really solid conference level audience and just this small room for joining these for all your insights.

swyx: [00:45:20] So yeah,

Robert Haritonov: [00:45:21] hopefully you'll be able to reply there. Any questions and shout whenever you have time.

swyx: [00:45:27] 30 minutes. I'm excited.

It's is yeah, I love the sock. All right. Thanks for having me, Robert. And thanks everyone for coming. Bye. See you soon.

Robert Haritonov: [00:45:34] Cheers.

swyx: [00:45:35] Bye.

View Details

Listen to Part 1: Origins here.

Audio Source: https://www.sunrun.com/quick-reads-from-ceo/masters-of-scale-podcast-sunrun-ceo-lynn-jurich

Transcript: https://mastersofscale.com/wp-content/uploads/2021/01/rapid-response-transcript-lynn-jurich.pdf

SAFIAN: You mentioned climate change. With health concerns rising over the last year, it
sometimes felt like climate's become, I don't want to say a secondary priority, but it's been
pushed down. Sustainability now certainly includes health in a way that maybe it didn't a year
ago. What do you think the long term implications of that will be?

JURICH: I think that we're seeing more impact from extreme weather than maybe the
question appreciates. If you think about California as an example, with people at home,
working from home, schooling at home, and the fact that the power is getting turned off
because of fire risk, that is a very visceral experience for people, and we'll see more of
this.

Puerto Rico is another example where the energy system is just frail. I think 70% of the
energy assets are old, and extreme weather is only making it worse. So I do believe that
it is and will increasingly become visceral for people. And back to that change formula, I
think that dissatisfaction is, and that pain will drive awareness and attention to it.
We're taking a different approach, which is, independent of your view on climate, we can
offer you a better lifestyle and meet carbon emission goals. If you look at the home,
there are about four big choices you can make around energy that lead to your carbon
footprint: your car, how you power your home, your heating, and your cooking. An
electric vehicle is less expensive. An induction stove is superior. An electric hot water
heater can save you money, and solar saves you money. So if you look at what we can
create for a household, it's an average of $1,000 to $2,000 of savings. So you don't have
to be a climate warrior to adopt these products.

The challenge is really social and political and financing, because many of these green
assets, they're more expensive upfront, but they're less costly over time. And that was
the innovation of starting Sunrun was we saw solar as a technology that would clearly be
the future.

What was so breakthrough about solar is that it can be distributed. You can site it locally
where the power is actually going to be used. In the U.S., two-thirds of your power bill is
transmission and distribution. From a first principle standpoint, if you're able to use
existing infrastructure and put the solar on there, it will be a more affordable solution. We
just needed to eliminate the upfront cost, and so we invented the business model of
solar as a service where we paid to install the solar system and the homeowner just
buys the electricity, just like they would from the utility, only it's cheaper and it's green.
When we think about climate, we don't think it needs to be this ethereal thing. It's about
everyday savings, a better lifestyle, and job creation.

SAFIAN: Now, when you describe all that, it raises the question of why residential solar isn't
more ubiquitous. It's still a small proportion of residential homes have solar. So what is that
about?

JURICH: First, because this is called Masters of Scale, I’ll throw out a few scale facts for
you all, so one, we already have 500,000 customers, just Sunrun, and we've raised
capital to install about nine billion dollars worth of solar. Sunrun is the second largest
owner of solar in the U.S. behind NextEra, the huge utility. Residential does have scale
now and will increase.

If you look at a market like Hawaii, where the value proposition was strongest first, it's
about 30 to 35% of households have solar power. California is about 12%, the rest of the
country is about 1 to 2%. It will all get there. The amount of power you can get off of a
rooftop with solar would serve 75% of California's energy needs, it would serve 40% of
the U.S. energy needs, so it is a scale technology. What's holding us back is inertia. It's
why do I want to do it now? 90% of Americans are in favor of solar. The interest is there.
It's just the challenge of friction in the process.

SAFIAN: So I have to ask you, your biggest competitor is Tesla, which took over SolarCity a while back. What's it like to compete against Elon Musk?

JURICH: Well, you never underestimate him, that's for sure. I think we're still in the
adoption phase where a rising tide lifts all boats. So I'm very pleased with their brand
being well-known, well-liked because it just increases the awareness of solar energy. As
we mentioned, it's only 1, 2% penetrated right now, so that'll help lift us. Recently when I
looked at the data in the markets where we're both competing, we have a higher close
rate, effectively. Again, it's this normalization of solar that's a benefit. It's the awareness,
it's the trust in their brand, and I aspire to, over the years, have the Sunrun brand be
better known in terms of turning your home into an electric energy asset.

View Details

Listen to Part 2: Growth here

Lynn Jurich started her solar energy company in the depths of the 2007-2008 financial crisis, as a 26 year old with no prior experience in the industry. Now it is a $10b giant beating Elon Musk's SolarCity at its own game.

Audio source: https://socapglobal.com/2019/02/ep-17-lynn-jurich-ceo-of-sunrun/ (5 mins in)

Transcript

Nina Bernardin: [00:00:00] What are some of the very first steps that you guys took? I mean, starting like a coffee company, I can like understand like basic elements of starting a coffee company, but starting a solar company...?

Lynn Jurich: [00:00:12] Yeah. Well, so, so I used a lot of my analytical skills and experience to, to start to learn more quickly.

And the first thing I did was look at a network of Stanford alumni who were in the energy industry and just started calling them and interviewing them and asking questions about, Hey, how viable is solar? Is it in your plan? I was talking to utility executives, anybody who would really take my phone call out of the Stanford alumni database and what I heard.

Very clearly from everybody was, Oh, it'll never work. There's, yep. Solar's getting cheaper, it's getting better. But there's so many sophisticated people doing this that, be careful, implying that I wasn't sophisticated or that I was young and naive or inexperienced and energy.

And that it wouldn't work, but I was 26 probably, but they validated to me that there was a business opportunity. It was just, the commentary was very much like, Oh no, but it's not for you. So that also kind of gets me going, gets me motivated a little bit. And so I did that. And then we started talking to potential customers.

So some of the early customers that day w solar, where universities were, other public schools governments. Some businesses, some forward thinking businesses. So we just started calling customers, trying to understand what they wanted, what their needs were. And so it was really a lot of, I, because it's, it was a nascent industry, there wasn't a lot of research to do.

It was very first person just kind of calling around anybody who would take your phone call. So that's really how we got started. so what we figured out fairly quickly was there's a lot of interest in solar, but there was a lot of complexity to it and there was a high upfront cost.

And so the model that we came up with was, Hey, people will switch to this. If you can just make it easy. And if you can just turn it into a monthly bill, like what they're used to paying for energy. They'll adopt it. So we came up with a model where we would pay for the installation of the solar panels and just sign customers up to long-term contracts to buy the electricity for us.

And there were some early subsidies for it. So we could actually, even though solar was fairly expensive 10 years ago, compared to where it is now we could sell electricity. Just for a slight premium versus what the utility company was selling it for, even with zero upfront cost for customers.

But we had to get convinced consumers to sign up for a long-term contract, because the business model from Sunrun's perspective was we had to pay $50,000 to install a system on a homeowner's house. Upfront. So the only way to recover that over time, if you're only billing a customer $150 a month is to get them to sign a long-term contract.

So we had to launch the business by convincing people, Hey, work with this startup sign a 20 year contract. That's what we are. And still today, our customers signed 20 year contracts. To buy the electricity for us. And and so we had to go out and convince a number of customers to do that, that as you might imagine, was quite expensive because that $50,000 a pop you're putting the cash out for that with these 20 year contracts, that you're going to get the money back over time, but you have to find a way to finance it.

And so then we had to go to banks to, to figure out how we could pool enough of our home owners together. To go to a bank to say, Hey, can you give us a million or so dollars upfront? We're going to in return pledge you these, 200 homeowners their cash flows for the next 20 years. So it's a very, it was a financing model.

And so what we had to do, which was in retrospect, quite risky, was spent all of our own money upfront buying all these systems. So we funded the company ourselves about $3 million. To get started, which was, as you might imagine, a lot of our savings and didn't pay ourselves for quite a long time. And and then we're able to go out and raise capital from people that we had worked with before venture capitalist.

So we raised $7 million from venture capital firms. But still we were spending all of that equity capital to buy these projects. We did not have the project financing lined up. So we didn't have that bank financing lined up that was going to help us make the upfront cost, and pledge the customer cash flows to pay back the bank.

So we had to make a bet that we could get enough consumers to do that. And that we could go to a bank and find someone to give us capital in order to make it a more sustainable business. And that was in 2007. And unfortunately right when we had spent millions and millions of dollars, the market crash and it was really.

Quite stressed, quite stressful, quite horrible time. But we were able to finally convince a bank who was not as exposed to the subprime crisis that, we all remember from 2008 where they still had capital available to even invest. And we were able to convince us bank to give us $40 million which kept us going for, the next year through the crisis.

And we developed track record and we prove that consumers wanted this, that people were paying their bills that, there was a deep market for this. And then from that point forward, we've been able to steadily attract the capital to finance the business. And now we're up to raising some more than $3 billion worth of that capital over the last 10 years.

View Details

Audio Source: https://joincolossus.com/episodes/10262551/pujji-a-primer-on-performance-marketing?tab=transcript

Transcript

The Execution Loop

Patrick: [01:17:01] Can you walk us through this idea of the loop, the execution loop, and maybe it's specifically... I don't think it is specifically just suited to bootstrapped founders or businesses. I think it's very generally applicable. It's an interesting combination of quantitative rigor, and acknowledging that you don't know what the future holds. Maybe there's some over the horizon vision, or goal, or whatever, but that you have to be very flexible along the way, but also be very rigorous. So not loosey-goosey along the way, like hold yourself to hard standards, and that there's this happy medium for the best operating cadence within a business. Can you walk us through this loop?

Jesse: [01:17:39] Let me talk a little bit about why we built it, because I think that's a very important piece of backdrop. So we started the business when we were 25. In the first few years, like most businesses, it was really fun. And then the business actually had real revenues in EBITDA. And then we realized we were waking up, more often than not, shit-scared that somehow the golden goose was going to go away. And we said, "You know what? We thought we wanted to build something long-term and cashflow, but let's just sell it. Let's get this thing into an exit." We grew up really fast. Glassdoor started popping up with very negative things about the culture. My wife was like, "What's up, dude? You don't seem that happy doing this anymore." And we really got to the point where we said, "Man, we're not enjoying this and our culture is not great. People don't like the culture." And it is a very common entrepreneur offense, especially in the first business. And so we started working with a coach, and we said, "What's what's going on here?" And there was a few things, we started doing this thing in the Conscious Leadership Program. There's this book, The 15 Commitments of Conscious Leadership, which has been pretty life-changing for me. And I'll just share a couple of the concepts and then I can talk about the loop.

So the first concept was types of motivation. And there's these five types of motivation, according to this paradigm, and it's fear, extrinsic, intrinsic, play or genius, and then empathy or love. And that's more about the human experience, not about a person individually. And these are all, again, these are fractal. So we might feel these all five of them in any given day for given different things that are going on. And in general, we're motivated by them. And you think about fear, motivation as like a chip on someone's shoulder, "I'm not great enough." "I'm going to go conquer the world." And you think of empathy and love as like, "Man, Mother Teresa, I'm going to make everyone's life a little easier." Extrinsic is money, titles. Intrinsic is my own thing. Play and genius, I think of like Buffet, where it's like, "Oh, I just love what I'm doing. I'm enjoying it."

And they talk about fear... They're all effective forms of motivation by the way, and there's none better than worse... Fear tends to leave a negative residue on yourself and other people. And it tends to run out on a non-renewable resource. It's the common thing where someone goes, "I got my number." And you get to your number and you go, "Oh, no. Now I want that other number because I was scared. Now I'm here and I've run out of motivation." And love and empathy, and play and genius, tend to be renewable, and they tend not to leave a negative. They tend to lift people up as you do them. And so we started learning about this and had this moment where we were like, "Oh my God, we've been, more or less, totally fear motivated for a very long time. And no wonder the culture, no wonder everyone feels negative"

fullscreen

And the other concept I'd tie into this is the concept of context versus content. And this is just another paradigm, which is, oftentimes, some really bright people especially go, "Oh, do I like healthcare? Do I like marketing services? Do I like..." And I got to this point personally, where I was like, "I don't like marketing services. Why did I start a business like this? And I'm not motivated to keep doing it." And with the help of my coach, he was like, "You were fear motivated. You made some money, you sold a part of your company and now you don't feel scared anymore and so you're struggling with what motivates you." And we went through this whole process.

And the context versus content idea is, it sort of like, from where are you doing it? And there's people who are mission-driven, cancer-curing companies, but if they wake up every morning and they're coming from a place of fear, or they're worried about how they show up in the trades, or how much money they're going to make, you'll hear that they're not happy, their cultures are not happy. On the flip of that, you'll hear of like insurance brokerage, or some random commodity business isn't sexy, doesn't have a great mission. But the people doing it, the founder especially is coming from a place of wanting to make his employees lives great and wanting to help people get better in their careers, or truly wanting to help his customers. And those businesses are flourishing cultures, and all the great things.

And so that's the concept of context versus content, from where are you coming? And a lot of the paradigm of conscious leadership is just starting to first notice. In one moment, you're feeling fear, in one moment you're feeling like you want to help an empathy. And we looked at OKRs, which we'd been using. And we said, "Gosh, there's two issues with them we didn't like, in particular, in most of the goal-setting processes and systems." We said, "They seem very fear-oriented." They just felt like you got to set this arbitrary goal out there, and you're going to rush, rush, rush to hit it. And it's got to be a big jump up. And if I don't hit it, oh gosh, that's not a good thing. And the other thing we didn't like about it was it tends to... To us, at least, it seemed way better for a business you understand and know, to go, "I can improve conversion by 20%." but in entrepreneurial ventures, you don't exactly know what's going to happen.

And so the motivation behind the loop is, can you build an organization and a culture that gets all the benefits of entrepreneurial thinking and approach, speed, ambition, creativity, problem-solving, tenacity, all of these amazing things, and mitigates the things that tend to make humans' lives not fun, the fear of fundraising, the failure, or someone getting reamed in a conference room. And by the way, I don't know that it's possible, to be clear. Bill Gates talks about himself as being a terror when he was building the biggest company in the world. Uber, we've heard stories. There are other stories like Red Ventures, where I think, truly, they have accomplished versions of this.

And so the motivation behind the loop is, can you build an organization and a culture that gets all the benefits of entrepreneurial thinking and approach, speed, ambition, creativity, problem solving, tenacity, all of these amazing things, and mitigates the things that tend to make humans' lives not fun, the fear of fundraising, the failure, or someone getting reamed in a conference room.
But that's what I'm most motivated by personally is an organization that teaches people, brings them up, but also is ambitious and exciting and they're doing that for the purpose of learning and growth of the people. And the people sometimes refer to them as deliberately developmental organizations that the businesses are there actually to serve the people's growth and the learning, not the other way around. And that's, I'd call it very aspirational, but that's my aspiration for what I do with my career forward from here.

And so our loop is the first version of like, "Okay, well, if you want that, you have to have an operating system that supports that." And so it starts with this idea of what's our desired future state. What do we want in the future? And that's not uncommon. And we give this example of JFK saying, "We want to put a man on the moon." It's like this is a motivating, exciting thing that people want, but it's not a thing you have to do, or you should do. And you often hear the words, entrepreneurs, and business, "Oh, we should really get this launched." Or, "We should really become the highest market share." No, no, no, it's not a thing you have to do, or you should do, or you must do, or the world ends. It's something you really want. It's coming from desire. And it's ideally coming from a play place, or of actually helping people in some way. So that's what it starts with. That's the desired future state, and that part, most people get, but it's disconnected from today's reality. It doesn't have to be where today sits.

And then the next point is there's this idea of current reality. And this is a really hard one. This is actually one of my biggest personal development challenges. I'm the guy who can do desired future state all day. And then you talk... I just did it. I just got you excited about my vision of an organization. And then current reality, you're like, "Jesse, you didn't do reviews for people here. Five people are waiting on their reviews. What the hell?" And part of current reality, the challenge of it is, first of all, seeing it clearly, and not with the rose-colored glasses, or not seeing what you want to see, but what's actually there, which I struggle with. And then the other part, and this is a really interesting one, is accepting the current reality. And so what acceptance means, what do we do when, "Okay, man, our numbers desired future state was 50% revenue growth, or whatever. And now it's 25%." We try to explain it, we try to blame. We go to these negative places, which is very common, "Oh, it must've been because these three things happened." And you know what? Honestly, if you just think about it in this very sort of meditation, whatever, mindful, it's just what reality is in this moment. This is the number. This is actually what happened.

And oftentimes, we don't think you can do the desire future state until you're accepting what is here and just fully, "Okay. This is where we are." And all of us go through that sometimes, where we have a bad situation, we didn't get in the college we want to. Eventually, then we go, "Okay, we're going to accept this. And now what? Now, what do we do?" So it's like trying to make that a real system, or process, sort of the basics, "Okay, here's where we are today. Here's where we'd like to be."

And then we have this thing that we call waypoints, and it's a sailing analogy. I'm not a sailor, but somebody taught this to me. And it's the idea, this is where it's a little different than OKRs, is when you're sailing apparently... I'm not a sailor... You don't just say, "I'm going to go from here to India." You go like, "To get to India, first I need to figure out how to get to Hawaii." So actually, my waypoint is next, I'm going to put my degrees in this thing. I'm going to get to Hawaii. Then from Hawaii, I'm going to look at where the best place to go is. I'm not necessarily going to go to Japan. I might go down to Tahiti, or whatever. Then I'm like, you're sailing around the world. And we think that's more similar to the process of building a business than OKRs. OKRs are kind of like getting into business school. There's a checklist, do your GMAT, write your score, whatever, go through this whole process... essays, get your recommendations, and then you get into business school, or not. This is much more of a, "I don't know exactly what's going to happen." So then the way you set goals is much more about the hypotheses you have, doubts you have, which is an interesting one like, "I'm not sure that people will buy this product. Let me launch an ad campaign to see if people will buy it." Or, "I'm not sure that the content is going to get that in. Let me launch five of these things to get content." And it tries to really engender that beginner's mind. Sometimes we call it learning leverages goal. So learning leverage means, what can teach me the most in this moment about what I'm trying to figure out? There's some prioritization against them, but generally, you're operating less from a, "I must hit this metric or 0.7 of this metric", and more of, "Where do I need to get to the next step and what's the progress that I'm going to get as it relates to that?"

Then what do you do? So you set that all up, then you do what we call entrepreneurial rigor. And this was a learning we had after a long time, which people would say, "I'm either really rigorous and analytical, and I analyze everything, and I come into it." Or I'm like, "I just hustle. I just get it done." And neither of those quite satisfied us. And we said, "Okay, there's a two by two here. There's hustle on one vector. Yes? No? And then there's rigor like, are you being analytical? Yes? No? And we actually use it as a coaching technique internally, which is like, "Hey, you're really good at analyzing but when it comes to getting stuff done, you need some work." Or, "You're really good at hustling, but we need you to be a little bit more analytical." And we think that the best entrepreneurs do both of those together. So they're looking at numbers, they're reacting, they're constantly going through their own version of this, and that's the way you execute. And you try to accomplish those waypoints.

And then the last part of the loop is accounting and response. And so accounting, there are a couple of interesting things we learned, accounting is separate from the response, because think about what typically happens in an organization is, I ran my waypoints. I didn't prove the thing out I thought I would prove out, or the numbers didn't come the way we wanted them to. Immediately, if you're an executive or you're a person, the narrative starts to shape around that. Why did that happen? What's next? And we said, "You know what? Let's pull all the emotion out of accounting. Accounting is just what happened. Tell me the facts, tell me exactly..." And the facts could be, we missed this number by this. We beat this by this. Accounting, we realize, and we started doing it in meetings, it's like a five to 10-minute process because there's just no story. There's no narrative. There's no nothing attached to it. You just go, "We thought this, this is what happened."

And then the response is a much more interesting conversation, "Okay, what can we learn from this?" "Oh, you know what? We're pretty bad at setting goals as it relates to how many creative we can build in this much time. We're pretty bad at setting goals around X, or Y. Maybe we didn't actually miss the mark. We're just not good at actually setting the goals." Or, "You know what? I don't think we have the right people who can do this." So the response is a separate activity where you start to think about... And the response can tie you back into any of the three buckets. So you can say, "You know what? I think our desired future state was off. I don't think people want to buy direct-to-consumer rubber gloves. I just don't think it's a thing. Yeah, because my waypoints taught me that nobody clicked on the ads I ran. It could be, I was testing the wrong things in my waypoints, or it could be my execution wasn't where I'd like it to be." But then based on the response, you start that cycle over. And again, I'm not sure that any of this is super original. The idea behind it is language matters, the approach matters, the words matter. And it's about learning and growth of the people and of the process, and not about must hit this goal at all costs. And we're trying to make it fun, and enjoyable, and a play orientation for building businesses and entrepreneurship, and not like life at all costs has to be put in this direction.

View Details

Robin Dunbar did an interview to coincide with his new book, and there are surprising depths to Dunbar's Number that isn't normally picked up by commentators.

Audio source: https://play.acast.com/s/intelligencesquared/thescienceoffriendship-withrobindunbarandhelenczerski

Share this clip on Twitter!

swyx: [00:00:00] Something I also learned about the Dunbar number is that it's very tied to age. We don't always stay at. 150, we start with about one or two wishes, our parents then we get to about five with our closest friends. Then in our twenties and thirties, we overshoot and go to about 200, 250 people. By our thirties that drops to 150. And then into our sixties and seventies, it continues to decline. And there's an age related dynamic to this which i didn't really appreciate

Helen Czerski: [00:00:30] Albert wants to know about the correlation between age and the ability to form friendships. And what's, why is there a connection between age and new friendships? And he also, I assume it's, he says at the end, I've personally found there to be a negative correlation which is. Diplomatic, I guess.

Robin Dunbar: [00:00:47] Yeah. So I used to getting very close to home to what happens to be age. Yes. So actually you can think of this really as a sort of arc that you start out at birth and it's an arc, which involves the circles. So we do seem to acquire the circles of friendship as complete circles, as it were over time and correspondingly, we lose them as we age, but th the arc looks something like this.

You start out. With as in a core of about one and a half there, obviously your parents, as it were by about five, you can reach the five threshold. And then as you age, you can accrete the various layers as your social and cognitive skills developing, and you can handle them.

They want, it seems to happen is in the late teenager, early twenties. You overshoot as it were, but they commonly get up to about in terms of face-to-face and meaningful friendships, roundabout 200, 250 people. And then it's by the thirties that will cut down and drop to about 150, which is the sort of, obviously there's various individuals vary around these numbers, but these are the average numbers from about the thirties through to.

Perhaps the late sixties, it's very stable at about 150. And then you go into. This sort of period of terminal, I'm afraid decline from perhaps 65 70 onwards, where you gradually lose the layers and end up if you live long enough, backup one and a half. Again. Now that's a consequence of that end of losing people in your sort of layers dying, or maybe even moving away or becoming unavailable for other reasons.

And. If you were in your 20 somethings or teenager, if somebody moved away like that, you would simply replace them with somebody else. You would go to the usual venues that, that, where you meet people and you would find somebody else to add in and replace the missing person. I think what happens when you get to all this, the general sense in the literature is w w.

We've only done a small amount on on, on this aspect of it. Once you get to the older age, you just no longer have the motivation and the energy to get up and go to places where you're going to meet new people to fill out that. And also you're not sure what people. Talk about anymore, if they're younger than you or complete strangers who built up this cozy little world, which has been very stable in the latter decades of your life and you're embedded so much within that you're probably less well engaged with the wider community.

Than you would be when you're younger. So you don't, you're not sure about going to, clubs or whatever, where you would stick out like a sore thumb anyway. And B you don't know how to ask or invite a conversation. What kind of conversation do you have? What do you want to talk about?

Helen Czerski: [00:03:36] So it's not that you can't form friendships. It's more that, there are a few opportunities and you're possibly a bit fussier about, that's anecdotal entirely, but I think people spot what they want in a friend. Yeah.

Robin Dunbar: [00:03:48] Yeah. I think this is what happens in this. So the overshoot in, in the late teens, early twenties is that w we look at it as a younger people being careful shoppers, they're checking around all the supermarkets to see what's available out there in terms of the possibilities for finding good friends and romantic partners and all that kind of thing.

And once they've had a look at what the market looks like, then they start to narrow down in their thirties because the other big thing that rather forces this. Narrowing down is if you reproduce and as all those who have young children will remember, babies and social life, absolutely incompatible.

If it takes a long time to emerge from it.

View Details

Robin Dunbar did an interview to coincide with his new book, and there are surprising depths to Dunbar's Number that isn't normally picked up by commentators.

Audio source: https://play.acast.com/s/intelligencesquared/thescienceoffriendship-withrobindunbarandhelenczerski

Share this clip on Twitter!

swyx: [00:00:00] I think people who work in community and social networks think a lot about Dunbar's Number, and i was pretty surprised to hear Robin Dunbar actually talk about it recently so here's a clip from his recent interview:

Helen Czerski: [00:00:12] Let's get onto the numbers a little bit. There are these numbers that seem to be surprisingly robust. Tell us a little bit about the hierarchical structure on what those numbers are.

Robin Dunbar: [00:00:21] If you look at how often people talk with their friends and extended family, what you find is. That you can string everybody out from the person who devote most time to the person who devote less time to, but actually it's not a sort of simple line of declining contact.

It's rather bumpy. And those bumps occur in various specific. Places which cause your social network, the sort of collection of friends and extended family, you have to look like a set of ripples on a pond. If you like, where a stone has been thrown. If you think of yourself as the stone, right in the center, you're surrounded by these ripples, which go further and further out.

And in fact the analogy is quite good because the inner most ripples are usually a bit higher than the outer, most ripples of getting towards flat as the energy dissipates. So the inner most layer, or the ones you devote most time to, in fact, you devote 40% of your total social effort to that inner core of just five people.

And then beyond that, you titrate your time, according to the value of the relationships in many ways. And you end up with these quite distinct layers and the layers count cumulatively you see. So each layer includes the layer inside it, but there technically one and a half, right in the center, five, 15, 50, 150.

And then they extend beyond that 150 is your sort of natural social networks, but they extend beyond to 500, 1500, 5,000. That's the largest circle we know anything about. And it really seems to differentiate between. Completely anonymous people, people you've seen before somewhere, or you recognize the photo, but it's probably as much as we can actually cope with, but those layers, we pick them up.

Not only in face-to-face interactions, we pick them up in telephone databases, if you look at how often people phone each other. You can see it in Facebook, if you look at the frequency with which people post to named individuals. We've even picked it up on Twitter. Pretty much anything you look at. If you look at the structure of organizations, the structure of natural groupings of humans, you see the same layers.

They're extremely robust.

swyx: [00:02:32] There's an implication here of how Dunbar communities form an us versus them approach. And Robin Dunbar actually proposes that there are some ways in which we find connection across very, very large groups.

Helen Czerski: [00:02:43] You can't just have a group that gets bigger and bigger and bigger. Eventually it'll split into two groups. And even you say, around the dinner table, if you have eight people, it tends to split into two groups.

There's a lot of what feels like tribalism to me in society is a lot of us. And then you're all a lot or you're there a lot and a lot of people and I have to confess I'm one of them would just, wouldn't it be nice if everyone just stopped being in a tribe and just all got on, is that is nine nice that LIDAR of everyone.

Not belonging to a very strong, bonded social group and just, accepting people. Is that a pipe dream? Are we programmed that there has to be an us under them at some points, because if you've got people in your social group by definition, there are people that are outside it.

Robin Dunbar: [00:03:21] Partly obviously it's all the screaming stuff, but we also do it at a cognitive level, a psychological level, whereby we look for people who are rather similar to us, so-called homofeely effect, which is why we get these echo chamber effects. We tend to like people and spend, want to spend those time with people who are similar to us and a whole tranche of in particular cultural dimensions, which we call the seven pillars of friendship.

And these are things like shared interests and shared moral views and shared sense of humor, shared musical tastes and so on and so forth. And it turns out that we're very good at building kind of mega communities out of one single dimension. So normally. With your nearest and dearest you'd perhaps share.

Six or seven of these seven pillars wisdom. So if you'd like to think of them as a supermarket barcode of your kind of interests in hyphen and so on, on your forehead or accepts that you speak them obviously, but sort of when you get down to the nether, reason regions of your social network, you might only share one or two, but being able to take one of those.

As the basis for creating friendships with what amount of friendships with strangers seems to be a skill that we've managed to develop quite effectively. So this is the thing

Helen Czerski: [00:04:41] where, someone supports the same football team, or they play the same sport or it's that sort of thing.

That, that is enough that we're already automatically on the same side. We've got shortcut. Yep.

Robin Dunbar: [00:04:50] Absolutely. And that's exactly what it is. It's a shortcut through get having to get to know them better paradoxically though. The one thing that seems to be particularly good at creating a sense of bondedness with a complete stranger is your musical taste.

So if they liked the same music as you boy, you're onto something good here.

View Details

Video: https://www.youtube.com/watch?v=JfZm0tPUxjE
Site: https://codingcat.dev/podcast/1-15-whats-up-with-svelte

Details

Shawn or perhaps more popularly known as, Swyx, is a frequent writer and speaker best known for the Learn in Public movement and recently published The Coding Career Handbook with more advice for engineers going from Junior to Senior. He has worked for Netlify and AWS and is also the co-host of the Svelte Radio podcast.

Questions

  1. Where are you living these days?
  2. What is Svelte and how is it different from other frontend "frameworks"?
  3. The website Svelte.dev explains a lot about why I love Svelte. It says, write less code in languages you already know, compiles the framework away to a tiny vanilla JS bundle, and easy out of the box reactive state management. All of this sounds fantastic, so why are companies still choosing the other big 3 frameworks. Is there anything Svelte missing?
  4. a. https://www.swyx.io/svelte-sites-react-apps/
  5. I saw you have a course on egghead on Design Systems with React and Typescript in Storybook. Do you think Svelte would be a good choice when building a design system since it is so close to base HTML?
  6. Built in animations and actions out of the box are 2 things that really make Svelte stand out for me. Can you explain more about what actions are and how you use them in Svelte?
  7. a. https://github.com/sw-yx/svelte-actions
  8. The Svelte docs are really nice, but when it comes to video tutorials there isn't much out there. Where would you tell people to go that wanted to get started learning Svelte and would you ever think about creating a course for Svelte?
  9. We've all heard the rumors that SvelteKit is coming soon and I know you don't work on that specifically. But, with this new solution coming out that will supposedly handle static site generation and server side rendering, do you know if Sapper is going away or what is happening there?

Additional Links Mentioned

  • https://sveltesociety.dev/
  • https://github.com/sw-yx/svelte-actions
  • https://svelte.dev/
  • https://svelte.dev/examples#actions
  • https://www.svelteradio.com/
  • https://egghead.io/courses/getting-started-with-svelte-3-05a8541a
  • https://frontendmasters.com/courses/svelte/
  • https://www.youtube.com/channel/UCZSr5B0l07JXK2FIeWA0-jw
  • https://sveltesummit.com/
  • https://podrocket.logrocket.com/swyx
  • https://svelte.dev/blog/whats-the-deal-with-sveltekit

Purrfect Picks

These are fun picks of the week. Maybe something you bought online, a great show you are currently watching, or that last book that you thought was amazing.

Shawn Wang

  • Threejs Journey

Brittney Postma

  • https://www.swyx.io/svelte-sites-react-apps/
  • Draggable Kanban App with Svelte - https://www.youtube.com/watch?v=mcaYol_XFk4&t=1529s

Alex Patterson

  • https://undraw.co/
  • https://github.com/sw-yx/spark-joy/blob/master/README.md#illustrations

Transcript

Alex Patterson: [00:00:00] Welcome back. Perfect peeps to perfect ad dev today on the show we have Shawn Wang also known as Swyx. Hey Shawn, how's it going?

swyx: [00:00:11] Hey, thanks for having me. Yeah, happy to be here.

Alex Patterson: [00:00:15] Thanks. Thanks for coming on. A little bit about Shawn, or perhaps popular known as Swyx is a frequent writer and speaker best known for the learning public movement. And recently published the coding career handbook with more advice for engineers going from junior to senior, he has worked for Netlify AWS and is also the co-host of felt radio podcasts. That was quite a bit of stuff.

swyx: [00:00:39] Yeah. Is that too long of a bio? I've been thinking about cutting it down?

Alex Patterson: [00:00:42] I don't think so. I think it's perfect.

Honestly, I really like busy.

Brittney Postma: [00:00:47] That's really cool. We like

swyx: [00:00:48] all the content. Okay. Making up for lost time. I was a career changer, so from 2011 to 2017, I was finance. And now I'm trying to make up for it.

Alex Patterson: [00:00:59] I think you're doing a great job. You've probably leaped over a lot of us. So I probably varied deleted as I always tend to do, because I'm just so excited about the guests. Usually not as much, well equally as the sidle and subjects. So, today we're talking about what's up with felt. And possibly some things there.

Brittany will probably lead a lot of this conversation today. Folks, you probably hear too much from me, but Brittany loves fell. And so, I'm going to let her take charge on this one quite a bit. The only things that I want to know before we dive in is felt where are you these days? Are you at home or where are you?

swyx: [00:01:32] Not for those watching on video. This is clearly not daylight. It is 3:00 AM my time in Singapore. And basically this is where I was born and raised and where my family lives. Normally I live in New York but. You know exactly a year ago, I fled New York because I wasn't sure if the healthcare system could take me if I got COVID.

So I came back to the only place I knew, which is here. And I've been here. It was supposed to be like, I actually packed for like two months and I left all my stuff in my apartment and I was like, it's a short trip. It's fine. And now I'm still here. Repeatedly. It's

Brittney Postma: [00:02:06] crazy. That's exactly how we all felt like it's going to be over in a couple months.

Like, let's just do this for now and then no, we're still here a year later that you got to go back to the family.

swyx: [00:02:19] I've lived through this I've lived through SARS which actually shut down schools here in Asia for a while. And I think Americans don't know how it is. So maybe, I do think that you ha you don't take it as seriously if you haven't been exposed to it.

But like everyone everyone of us in Asia knew exactly what to do. And we just did, follow the playbook. But it was over in two, three months. It wasn't like, We were scared. I was scared for my baby sister. I was like, what well did you just get born into? But it was fine. And and I thought this would be the same way and it wasn't.

So there we go. Well, I'm

Alex Patterson: [00:02:49] even more happy to have you on the show now that I know exactly what time zone you're in, it's crazy early or late defending. So thanks again. I don't know what hours you're keeping these days, so,

swyx: [00:03:00] really appreciate it. I call it the reverse nine to five. So we wake up or start work at 9:00 PM and at 5:00 AM.

And it turns out that it's not too bad, like as long as like the house is quiet, which it is, then you have to focus on your work and you'll eat dinner with your family. And that's fine. Yeah,

Alex Patterson: [00:03:17] that's crazy. Well, awesome. Well, yeah, not to drive too far away from it. I'm glad you're you were able to get home and healthy and we're super excited to talk about smelled.

So I hope you're. I hope you're ready to talk about it too. Yeah. I

Brittney Postma: [00:03:30] am extremely excited to be talking about like, I, this is my favorite framework, library, whatever you want to call it. Right. Like compiler, but what do you. Thanks spelt is. And how is it different from those other front end frameworks that are out there?

swyx: [00:03:48] Well, I'd be interested in your take since you're also, the resident expert.

Brittney Postma: [00:03:53] I don't know if I would consider myself an expert, but yeah. I mean, I know spelt is a compiler, so I think of it as a framework because it's structures or code, right? So it's something that structures your code and that you can write some form of markup in it's like an HTML super set.

So that's kind of how I view it as a framework that compiles away. Yeah,

swyx: [00:04:16] my, my experience, I came from, I started with view and then I moved to react. And then I found svelte. And so I view that I view this progression in frameworks as just ways different ways in which to write user interfaces on the web.

And to me it's felt is the simplest by far that I ever tried, it is a full sort of batteries included. It is a joy to to write. And the docs are really easy to explore. And the community is very nice and welcoming and small, which it seems like a surprising thing to want a small community, but having been in the large community like reacts, I was a moderator of the.

Reacts, separated where there was over 200,000 people. Large communities have their problems too. And sometimes small is beautiful. And I think that's a lot of the philosophy has felt, like the basic hello world should not. Come with like, 120 kilobytes of uncompressed JavaScript.

And unfortunately that's what you get with some of the heavier frameworks. And you that just doesn't matter for things. So Svelte like its name. It's a compiler framework compiler first. So unlike viewer reacts where you can just drop things in with a script tag, it's felt you do have to run a build step.

But. With that one compromise you get a lot of mileage out of that build step including things like first-class animations, first-class styling support which react doesn't have. So I enjoy that. And of course the output bundle is as small as possible. Sometimes an order of magnitude smaller than what you get with react or view.

And that's just because it's adopts a fundamentally different approach. I don't necessarily think one is better than the other. I just observe my mood, like, okay. So I think there's a S I still advise. Beginning developers to go learn reacts because that's where the biggest job market is.

Okay. But once you're pretty secure and like your front end knowledge and your like your choice of tech stack, doesn't dictate your economic value. Then you should explore two tools that just make you happy and more productive. And for me, that's felt.

Brittney Postma: [00:06:15] Yeah. You mentioned a couple of things that are actually some of my favorite things about spelt the developer experience.

I feel like it is so fun to write. Like it is just simple and I almost feel like I know job market isn't quite there yet, but it's probably one of the easiest for developers to jump into right out of the gate. Once, you know, HTML, CSS and Java script, you can write spelt. It gets just that simple. So that's one of the things that I really love about it.

And if the job market catches up, like, do you think that might be one of the things that we get to where they can learn that first?

swyx: [00:06:51] Yeah, absolutely. So, we, we say things like the job market isn't there is it's not zero and it's growing every day. Apple is actively hiring for salt developers.

And so as Ikea I think something like American airlines is also using there's a bunch of, so I helped to run this fall society community, which is kind of like the official community as felt. And we just keep a list of who's using salt and production and it's very long list. Yeah.

And

Brittney Postma: [00:07:16] there's felt jobs, right? It's

swyx: [00:07:18] full jobs. Yep. Yep. Schneider electric, there's, household names and then there's less household names, but still very important, big companies that use felt. And I, I just. W at what point, how many, w is there a number at which we're happy or does it have to be a number one in order for people to be happy?

Like we can get jobs using salts like that. That's not in doubt.

Brittney Postma: [00:07:37] I think that it's easy for people to jump in. Would you agree with that? Like where people could just jump in and learn it right after learning HTML, CSS and JavaScript.

swyx: [00:07:47] Yeah, no, absolutely. Yeah. In fact, like, I think the progression from HTML is probably the simplest compared to the other two frameworks, because it is a HTML super set, like you just said,

Brittney Postma: [00:07:57] Yeah.

And those sugar syntax that we get with smell, I feel like are so much, I don't want to say better, but with react. And JSX like, there's so many of those nuances that you have to do, like class name and you have to do whatever your attribute is equal to. And then you have to put the JavaScript in there and we can just do those shorthand.

Syntax is in spelled that are so nice.

swyx: [00:08:21] Yeah. There's good and bad in the sense that it does add learning curve to the framework and reacts intentionally for better or worse is on the other side of that. Spectrum, but for things that we do multiple times a day, every day, it's nice to have a shorthand.

Brittney Postma: [00:08:38] That's really nice. And you mentioned one of those other things that are my favorites is the built-in animations with spell are just outstanding and it's so nice. Especially if you're building a static site, like you can do page transitions easily. You can bring in like a little. Fade in animation, whatever you want.

And it's just, it comes out of the box and you get that easily. Also actions are another thing that's felt provides you. And can you explain more about what actions are and how you used them and spell

swyx: [00:09:06] it? Yeah, I haven't tried explaining this. So this will be a challenge. Actions are basically life cycles or side effects of components that mounts on the Dom.

So you can instructs felt too. Run some code when something mounts, when something changes data and when something on mounts and that can be anything from measuring where the screen, where the most position is, there's a trick to triggering like a keyboard shortcut registration.

There's lots of use cases for actions. In fact we are, we actually starting to collect some of these. I have a felt actions, repo am I GitHub where I am proposing a couple of, I think, six of them so far. For example, you can change a button, like one of the problems with web apps and buttons in general is that if you bind something to click that works fine on a desktop, but then it doesn't translate very well to a mobile.

And for example, if you want to have something long press like that, that works on the long press you have to, it there's no event for that in, in I'm mobile. So you have to code it up yourself. So as felt action, how helps to give you reusable pieces of code that you can just say, all right, once this thing is mounted, let's add this additional listener with this preset amount of logic.

And that's an action that you can just say, like on long press do this other thing or on, keyboard, shortcut, trigger this other function. And these are just very convenient ways to attach. Individual pieces of logic and sometimes reusable logic to the Dom elements that you work with.

Are they all events they can generate events or they can sort of trigger based on events. So, so yeah that's how I think about it. And it's basically, you can map it to the react concepts of use ref and use effects together. You just don't have to write as much because use revenues effects are a little bit lower level.

And they give you more power, but they also give you more rope to hang yourself with. And actions are pretty straight forward. You just attach it to them and use them as there is. You're supposed to use them. Yeah.

Brittney Postma: [00:11:03] And you said a little bit in there, how we have the on colon.

And use colon that we can use those with inside of the HTML super set. So there's like that little shorthand that you can use your action with.

Alex Patterson: [00:11:16] I'd almost like to do I love what you guys are talking about, but I'd love to tie a visual to some of it. So I jumped out to the field site and some of what you're talking about, I'm like, I wonder what this looks like.

And they actually have some, like, felt examples out here for.

swyx: [00:11:33] Hits at a draggable action. There's one there. I love it because I needed it and I just went to dogs and grabbed it and I was done. I didn't have, I did the same thing.

Brittney Postma: [00:11:42] I just did it and had to go to the same one.

swyx: [00:11:46] Do you see it? I

Alex Patterson: [00:11:47] don't say it.

I don't know how I'm missing it though.

swyx: [00:11:51] Actually it's actually, you just missed it.

Alex Patterson: [00:11:53] I see animations. There we

swyx: [00:11:55] go. Actions. Yeah, use directive. Okay. Is this the one with the drag? Yeah. Yeah, this is the one. Okay. That's so wild. Yeah. So, so these actions, the use the, the panel vote dot JS, that's the action.

And go look up, look at the code, right? It's, it's basically some like low-level mouse, smooth code, right? Which you write once, but essentially once you've written this function, you can go back to your main app. And then look at where Panama is used. So scroll down to use panel down there, right?

So you just attach it on and that generates three events that you hook into. So, on pen, start on pen move and on pen end. So these are ways to extend the platform, right? These are not natural, dumb, specific events that are generated by your browser. These are things where you synthetically create out of out of applying their use panel action.

And so now you have just event handlers, which you can use to do whatever. And here we were just. Implementing drag and drop just like that.

Alex Patterson: [00:12:51] Has it on felt like expert, I've written a couple of like little things to tie and firestorm, but when you actually write this and then you go through that build step, like you're talking about, and then beginning, this actually becomes just straight JavaScript, HTML on the other side, right?

swyx: [00:13:05] Yeah. Yeah. Just dominance functions. There's no intermediate library, which makes it very spelt. So I like the name.

Brittney Postma: [00:13:11] Exactly. It fits right in.

Alex Patterson: [00:13:13] Yeah. So for anyone that hasn't checked out, it's, Felia here's the main site. It kind of walks you through just different areas for write less code and you can dive into why that's the case.

And it just has these great little snippets of how to start taking in data. So curious, like using name with data Yeah it's pretty simple. And you almost think you're writing which you are basically writing JavaScript most of the time. So it's pretty, pretty awesome.

swyx: [00:13:40] And

Brittney Postma: [00:13:40] I, Ms. Swyx said earlier, like the docs are really nice.

They're really helpful.

swyx: [00:13:45] Yeah there's something about single page docs and having an embedded ripple where people can experiment and play. It's a very nice community norm to the point where the first conference, the first fall conference that we organized I was like, Hey, we need a timer.

So I just like made a really crappy timer in this fall rapport. And then people just took that rebel and they cloned it. And then just add started adding like wacky animations and SBGs and all that. And it was just like a really fun and remixed cultural type of thing that. Could not have happened in the other frameworks, just because the other frameworks take so much setup and you have to fight over libraries and stuff like that.

Spelt is, designed by rich Harris at the New York times. And it's really, you can really tell that it's just like, I, it's one, it's a tool set for someone to be productive without having to make too many choices. And it's very much loved by the data journalists type of people who make interactive graphics and like drop in.

Sites and components even though it's capable of making full apps I'm just saying like, that's what hooks people from the start, which is how easy it is to get started.

Brittney Postma: [00:14:43] Yeah, that touches a little bit on the article that you wrote. Right. Felt for sites, react for apps.

swyx: [00:14:47] That's a controversial one. Cause I got haters from both sides.

Brittney Postma: [00:14:51] Oh, I liked it. I think you can write apps was felt, but I mean, it just wasn't there at the time of writing the article, right?

swyx: [00:14:59] No, it was, I'm just saying like, you care about different things at different scales and I think.

In JavaScript. And in programming in general, we try too hard to make one tool fit all skills. And we should be more respectful of the fact that tools that are made to extends from the smallest thing all the way to the biggest thing we'd like to make claims like that. But you typically are not using the best tool for the job when you do that.

And so it kind of shows and, and that's why, I wanted to make the case essentially for react people, to try svelte. And first of all, people to not be so obsessive about salt, owning everything because your nerves are not there yet. And there's no point pretending

Brittney Postma: [00:15:34] That is very true.

And I feel like we need to use the right tool for the job like that. That's what you're saying there. And

swyx: [00:15:40] I do have a blog post. So it's a nuance thing. It's still new ones. I do have a blog post called in defense of hammers, which is this idea that if you have a hammer, then everything was like a nail, right?

It's like, it's a criticism of this person who has one tool and is like, use that tool to solve everything. And you know what? That's actually pretty great. Like if, if you have, you can just learn one tool and solve everything. That's awesome. That's good for you, like, cause what's the alternative, like learning a thousand tools.

That's also a lot of overhead. Right. So I think people are a little bit too lazy when they say use the right tool for the job. I mean, I just used it. So, I'm not exempt from this. It's a nuance thing. So maybe use two tools to do two different jobs. And just identify, that when you're working at small scale and working in large scale, these jobs are different.

They're not, they may not nominally be the same thing. Cause you're kind of working on the same substrate, which is the web, but at different scales, then different things start to matter. And so, so my example for why continue to use react was for example, react native, which is the most advanced sort of cross that forum JavaScript framework port, or whatever you call it, like SaaS native insomnia script exists.

Brittney Postma: [00:16:47] Yeah. What is felt native? Like I've heard of it, but I've never worked in it. Have you ever worked in spelt

swyx: [00:16:52] native? No, I have not. So, but we did just interview a guy in SWAT radio. And be coming up, it'll be coming out in a couple of weeks, but yeah, it uses native script, which is a way to generate mobile apps, from JavaScript.

It, I don't know what the trade-offs are between native script's approach and react native's approach. And I mean, I will I'll figure that out when I get there. I just haven't needed it yet because I'm, cause I'm only web.

Brittney Postma: [00:17:14] Same. Yeah, exactly. And yet you touched a little bit on how nice the docs are, but when it comes to video tutorials, there's not really a lot out there right now.

Where would you tell people to go that wanted to get started with spelt? And would you ever consider creating a course was felt possibly.

swyx: [00:17:30] Ah there are plenty of people who've made courses actually. There are some courses on AK dyo. I think Tomas Lacombe from Poland has made some videos there.

Rich Harris, the creator has taught himself has done a full workshop on front end masters. Both of these are paid sites but they're. Pretty worth it. In my opinion, there are free tutorials on YouTube. So probably the free code camp channel has a couple of hours or more of a good spell tutorial.

And I also know some people are making salt tutorials on their own. So Scott Selinsky from level of tutorials in syntax that FM has a full course together with like a it's a full stack it's felt core. So it has like authentication and stuff involved in Yeah. Yeah. It's on his YouTube and it's very high quality cause he's a professional video course creator.

And there's also a channel called spelt mastery, which which also goes into some of that. And Lee tan, who's also Singaporean. But also one of those core maintainers goes into the core code, has felt and explains how it works on his YouTube channel. So there are a bunch of different. And these are just the ones I know of right there, there are plenty of other things.

Like we accumulated a lot of them on this false society, YouTube channel basically any anyone who's a society member. It's free. Just some it can, you can send in, send it in and we just want to make this more accessible to people who want to learn. But there's also as felt Russia as well, India, SWAT, Brazil, there, they all got stuff going on.

Brittney Postma: [00:18:47] It's so the community is just like expanding like

swyx: [00:18:50] crazy Japan. Hey cool. Cause like, I started as felt society essentially on a whim because I was like, so the story of what was happening is I'm friends with rich Harris just cause we were both in New York and we hang out a bit and and the first felt meetup was going to happen in London.

And I was like, I heard about that and I was like, Hey, we have to create her in New York. But the first meetup is in London, we got to beat them. Right. So, and so, so within one week I just announced that, Hey, where we're holding a meetup, I don't have a location. I don't have a place. I don't have attendee lists.

I don't have speakers. But we're just going to make this happen because we gotta be first. So it didn't a week. I got a place at a Microsoft building. Someone volunteered 50 developers and three speakers for the first fall society meetup. No, that's Rootstrap Holy smoke. Yeah. It was fun.

I mean, Twitter is great. And, I've been involved in the New York tech scene for three years, so it wasn't exactly like, from scratch, but it's a lot of friends and it's really a nice community. So simultaneously we had on the same day, October, first of 2019 we had foster Sadie's Stockholm.

So also the, of London is false society. New York. And we continued like that for a few months until COVID hit. So then we all went online and we just decided to merge. And now the three of us are the hosts of the swell radio podcasts, and we have organized two conferences together and we're going to do a third next month.

Yeah.

Brittney Postma: [00:20:09] It's spelled comp next month. Is that what you just

swyx: [00:20:11] said? Yes, faults summit, because we like.

Brittney Postma: [00:20:15] All the other conferences

swyx: [00:20:17] out there, but like, it starts with an S right. So you got to go with it.

I really want to start. So view had a view of Vixens for a while, which is kind of like the female organization. So Jen Lopers on that, right? Jen Looper. Yeah. Well, they've really renamed themselves to front end foxes, so they kept the alliteration. But I want to, I was thinking about like salt sisters is that's what someone suggested.

I don't know. But it's still looking for a. Champion of that weak link, Brittany,

Brittney Postma: [00:20:49] I'm taking on so much. I don't know about taking on more than right now, but yeah, that sounds great. Yeah. All right. I know we diverged a little bit. Let's get back on topic.

Alex Patterson: [00:21:01] I really appreciate it. I'm trying to keep up with all the mentions and all the HTML links are so getting

Brittney Postma: [00:21:08] all those notes in the show notes.

We actually had Scott to Linsky on last week. And you mentioned his felt course, and he has an animating spelt course too, that I really loved. I actually perfect picked it last week and it's a really good course too. But I saw you have a course on egghead IO on design systems with react and TypeScript in storybook.

Do you think spelt would be a good choice for building a design system since it's so close to that base? HTML that we talked about?

swyx: [00:21:34] Oh, this is an interesting question. I think it would be good, but it would not be the only choice. And I would not be upset if people chose something else, because I mean, ultimately.

Ultimately what choice of technology you choose for your company. And it really depends on your team and what they know well, and if you just randomly force a new framework on them without consultation, like that's not going to go over very well. So I prioritize the health of the team over anything on technology.

So as much as I like to fault it's just I'll do a go with whatever the team that wants to do. So, you gotta be a team player. But I will say that, so it's felt is a better base for a design system than react is mainly because a react design system is going to require you to use react in your main app.

Whereas felt it can actually build this web components which you can use in any app.

Brittney Postma: [00:22:18] Yeah. And that's what I was wondering is if it's more dynamic in a way, because you can get that base HTML and Java script, and then you can. Move it into whatever you need it to be.

swyx: [00:22:28] Yeah. I don't know if I'll call that dynamic, but it's more portable.

Yeah.

Brittney Postma: [00:22:33] Affordable. That's a good word.

swyx: [00:22:35] Yeah. I will also say like, any design system needs styling in react does not have styling. So.

Like you just have to solve a lot more problems with starting from a base of react. And some people love that. And then some people don't need to spend their time doing that.

Brittney Postma: [00:22:48] Do you like storybook for using design systems

swyx: [00:22:52] in react? I think it's. Okay. I think it's I it's born in. Okay. That's good. I'm friends with Dom in the, the team over there.

My problem with them is it's slow. So we use storybook in production, not production, but like professionally to develop. Netlify like the, the netlify.com. App and site, we have an entire design system sort of spelled out in storybook that things takes up something like 30 seconds to load. Because it's so slow.

I don't know what it is inside of storybook. It could be Webpack, it could be the initialization inside the storybooks internals. It's just slow. And it's getting slower. The more we add to it. So it's gotta be. Faster. I've given them a lot of crap in public about it. So they're aware and they're working on it.

And to be fair, to be really clear. I don't know. I'm not saying that I could do a better job. I'm just saying, I think we don't, I don't think this is the final state of things. I think that can be better. And and so, yeah, I secretly wants to build a better story book myself, but I think there's.

Laurie you bet

Alex Patterson: [00:23:56] on pod rocket. Caleb Mozhan the creator of Alpine JS talking about how he was showing off some things to the storybook folks. And it was so much faster. They're kind of blown away. So I'd be interested to see all these little permeation. Yeah.

Brittney Postma: [00:24:14] Shawn was on pod rocket

swyx: [00:24:16] today. I am I, well, I recorded it a couple of months ago, but yes, it's released today.

Swyx yeah. 68. Yeah, exactly. No they're really cool. And I mean, I just, I. Obviously I've benefited from the blog posts. And I liked that they're branching onto podcasts. And I was very excited that to learn that they were launching a podcast. In fact I heard about it from an unrelated, like non-developer podcasts because those, the founder was on there.

He just like casually mentioned it and they searched it up. They hadn't even announced it yet. And I was the first to ever tweet about it. So I kind of got the scoop and then they was just like, okay, well you want to come on

Brittney Postma: [00:24:52] and log rockets a little bit into everything and everywhere. It's crazy. How like, guilty about it.

Yeah. Related. Yeah.

swyx: [00:24:59] Yeah. I mean, th that's a little bit of content marketing and sometimes it's annoying sometimes, but I think they're generally on the good side. So give them a pass on that one. I think they talked

Alex Patterson: [00:25:08] about that. Trying not to be annoying part when coder was on.

swyx: [00:25:11] Yeah. And you have to, like, if you're not annoying someone, you probably not doing it enough, so that's one perspective because yeah. The alternative is that you never blog and no surprise nobody's ever heard of you. Right. So, I F I feel both sides and I think sometimes it's a tough line to draw and everyone Johns at different ways.

So that's my take on that. So

Alex Patterson: [00:25:30] This might be a question maybe for Brittany, because I think we brought it up with you. Swyx but maybe both of, and I just have no clue. I'm so confused. Between what's happening with Sapper and felt it. Can you guys explain to me, like what essentially is happening in that world?

swyx: [00:25:48] Ready you to take a crack,

Brittney Postma: [00:25:52] get into that, like where's the future of spelt going? Like, what is it and is separate, dead. Like, we've heard all these like little key frames or keywords going on. So, I would like your take, like what do you think is happening and is separate going away or what is going on

swyx: [00:26:08] there?

Yeah. I don't have any sort of inside information, but essentially what happened was last. Conference last fall summit recharge is actually made it, made the announcement that SAPRA would never be reaching 1.0 meaning it will never be considered production ready. He considered the existing foundations, to like he wanted to do a rewrite from scratch using the new tools that.

He enjoys, which is he has build and the different foundation for routing and stuff like that. So he eventually announced full kit, which is essentially sappers spiritual successor. There are a lot of companies, including rich rich, his own internal tooling that used Sapper.

So there's a natural question of like, what am I, are you just leaving me high and dry? And the answer is no, because everyone who's making salt kit. Has production separate apps and and they're going to ensure a good migration path. So it's full kit is fundamentally rearchitected from like, kind of a next yes.

Inspired next. Yes. Like as of like next year's version eight or nine it was like, He was originally architected as like a node server app. Right. You run a server, you run in it in node JS and it would serve requests. Now it's fun to me, fundamentally rearchitected to be a serverless solution.

So you would able to be, to split up serving your pages from different serverless functions. And some of them could be static. Some of them could be dynamic. And it's very much in the line of the new. This generation of meta frameworks like remix in the react world. And I think that's a fundamentally good architectural design to make.

And also it needs to be faster in, in sort of data generation. Like I, when I had my blog on Sapper, I ran into this so much so that I had to build a separate overlay to make the page generation a lot faster. And so, so there was a, there's a lot that goes into this technical decision-making but it is very exciting because it means that.

The server side rendering story in salt is no longer a separate project. Now when you MPM installs felt you actually get a CLI that generates an, an app for you that also does server-side rendering and can be deployed on a number of different platforms. They're going to have multiple adapters to CloudFlare, to AWS, to Netlify, to whatever.

And that's a much simpler story for me. It's gonna annoy some people that people get annoyed by change, but that's what's going on. So Sephora is not fully dead. It's not fully alive. It's just going to have a successor. At the time we thought it would be out by like the end of 2020. It is now March, 2021.

And but we think there'll be a public beta pretty soon. So, that's all I know, I, it'll come out when it comes up, but I think that it's felt philosophy has always been towards. Unified tooling that is simple and fast. Everyone in the community, has, it's a benefit of being a second framework.

Everyone knows what they want when they, when it comes to salt and it's its speed, its simplicity. And and I think SAP focus is going to deliver on that.

Brittney Postma: [00:29:03] Yeah, as in the community are just waiting. Cause retires, keep saying Alpha's coming soon and we're like, Oh, is it ready? And I've tried it a couple of times.

It does still seem a little bit buggy. And I just saw that they moved from snowpack to Veit. You know what V is or how that's different from snowpack and what the difference of that is.

swyx: [00:29:20] Yeah. And these are like, for anyone who's listening these are all new names that popped up in the last year, right?

Like if you're out of the loop, it's okay. Like, you're it's a full-time job keeping on top of all of these things. But I can explain it so. The whole goal, the whole innovation, I guess, that's taken place. And this is a broader thesis I called the third age of JavaScript going on is that we are replacing sort of legacy assumptions and, and just going all in, on sort of integrated bundling and IES modules.

So. Veit and snowpack are both solutions where they serve a dev experience. That's entirely based on IES modules which are, native JavaScript, important exports. This is different from what you may be used to in web pack roll. Roll-up where the import and export will be transferred to some kind of internal module representation, where they would stitch things together for you to bundle it up.

Which means that when you fire up a dev development mode to, run your apps on your, on your laptop it would have to build the entire app in order to serve your first page. Whereas with Veet or S or snowpack they would only just have to serve exactly the components that you requested in the current path.

And that scales, because it becomes linear time. Like, the number of pages, the number of components that you have It goes from linear time to constant time, which is just the number of components that you are requesting. So you can have a massive site and your lo your startup time would be exactly the same as something that's that's much smaller.

And also because you're basing it on a different base. So both feet in snowpack use IES build, which is a Webpack replacement from. Ironically a side project of the CTO of Figma Evan Wallace, cause he doesn't have enough to do. He made a new bundle that this thing is built and go rather than in JavaScript and it optimizes the hot paths.

So, it actually builds a hundred times and this is not an exaggeration. Exaggeration a hundred times faster than Webpack. And whenever you have order of magnitude changes in your development skills like that, you just unlock new levels of play and, and experimentation that you could not have before in your development.

So, that's why we basically have to burn everything down because there's just a new foundation coming around in JavaScript. And.

Brittney Postma: [00:31:26] Yeah. And like those architectural changes that you were talking about, I feel like next JS just really like exploded in the last year. We're actually rebuilding our coding cat.dev site in next JS now.

And with Sapper kind of going away and spelt kit taking over that, those adapters that you were talking about, they have like a static adapter and I think it's a node adapter. Is that right? Do you know, if we're going to be able to do that, like next JS thing where it's on a per page basis or is it going to be like where the whole app is?

One way,

swyx: [00:31:56] I think there's, I think probably just gonna be a third kind of adapter where you serve it from serverless. I don't actually, I haven't actually seen it and I'm not on the team that maintains it, so I can't promise it, but that was the original vision that I was told. So, That's as much as I can tell, because he's very bought into the serverless environment.

So I don't see any and any future in which he doesn't provide a service adapter.

Brittney Postma: [00:32:17] Yeah. I mean, the only thing that I have in it is just I've played with it a couple of times. And like I said, I mean, it was kind of buggy. Like I couldn't refresh in the browser and things and I wanted it to do things that it just wasn't doing it and it wasn't there, but I'm really excited for the future of spell and how it's growing.

So,

yeah.

swyx: [00:32:36] In a sense, like, I wish that it's felt had a bit more backing to it, because the reason next year has, has had such success is because there's a company behind it and it's very incentivized to market it and to invest in its development and all that good stuff. Right? Like that's actually open source working at its best.

Here it's just like a loose connection of volunteers who like chip in on the weekends. So. That's why we don't have like firm's schedules and like even our conferences, when we put them together, it kind of buggy something, we had downtime and there's, it's just a, it's a mess. It's a community effort.

It's charming getting

Brittney Postma: [00:33:09] that passion though. Like companies like put just the marketing and just the money into it, and we're getting the passion of the developers because that's what they want and that's what they need to see. So that's one of the nice things about

that.

swyx: [00:33:22] Yeah, a little bit challenged.

Cause like, as it grows clearly the community deserves better than like, it's like, like a fly by night volunteer sort of sometimes you're there. Sometimes you're not effort. Like Vue has figured it out. They, they have the, they do have the funding and they have a good organization and it's felt, I don't think it's there yet.

There there's, there's starting to be some kind of some measure of governance. In fact, my, probably my number one wish first of all, is just more open and regular committed governance to the project. And and you don't think about these things when you choose technologies when you're just starting out as a dev, but then the more you rely on these things and you see that you're downstream of the human principles and organizations behind the code, then you're like, Oh, okay.

I start to really care.

Alex Patterson: [00:34:03] So without knowing, obviously I'm not in the community, as far as you guys are I feel like you've touched on every part of it.

You've talked about spell versus fell kid and the production side. The only. Like I would be curious just to leave off with, and I think we touched on it a little bit as like a new developer coming in, like a junior, like just leaving college or a bootcamp or whatever to, to takes felt. And we kind of said, maybe don't learn felt for your next job, but definitely, check it out and learn it for your side project or like your blog or something like that.

Is that still pretty accurate?

swyx: [00:34:36] Yeah, I think so. In, in the same way that react, represents what's in production today, but there's a new generation of tech coming. I think that's felt could be that that future, that glimpse of the future, you definitely want to stay informed of like, what is possible, even if you don't use it every day.

You shouldn't know. What is exciting, what excites the people who are focused on the future? To me, that is swell. That is yes, bill. That is Veet. This whole generation of tooling is, is going to be. A huge differentiator for the next 10 years in, in JavaScript. So yeah, if you're just, if you just graduated from bootcamp, go get that job, no, I'm not gonna stand in your way.

But you should know that you deserve better tooling. And also your, the tools that you use for your side projects should not be the same thing as the tools that you use for work, because there are different scales and Yeah. I mean, you should start choosing the things that make you happy and more productive.

Yeah. That's

Alex Patterson: [00:35:29] well said. I think that we'll probably leave it there because that's a great ending to this podcast. And then the last thing that we always love to do is a fun part of the pod and we called our perfect picks. So Swyx we, we have your perfect pick. Let me bring it up real

swyx: [00:35:46] quick here.

Oh, yeah. Oh, it's gonna work so great on the visuals. So this is 3g S journey. It's by Bruno Simon whose personal site actually went viral a couple of years ago, because it's all built in web geo and it's like this, you start as this little race car and you drive it around in three JS. And it's just such a gorgeous sight.

Move your mouse around and look at it, responds. And it basically shows you how to get involved in three JS in a very approachable and French way. He keeps up a lot of French speakers when they only speak English. They know that they have a very heavy accent that makes them a little bit hard to understand.

So they just very apologetic about it. And I watched this video and I'm like, dude, like you already apologize. It's fine. Just say it's gorgeous. It's one of those things where like, at some point, if you do enough with development you're tired of moving boxes around on the screen. It's kind of how I put it and we should look into some of these more interactive and imaginative experiences.

And they're not so far away. I, I'm still, I'm still learning it. I'm just thinking like, there's more to life than just, yeah. Moving boxes around and I think. You have to do the, pay your dues to like learning this stuff to recognize opportunities where you can just like sneak it in to a project.

And it just has the little pop that makes people, enjoy your work a little bit more. Like you can see it's very tasteful that you don't, it's possible to go overbearing with 3d, but it's very tasteful and I just love it. Yeah.

Alex Patterson: [00:37:04] Fantastic. We use three JS all the time, but it's more just for like graphing and stuff because we're getting paid for it.

We don't have fun stuff to do. That's awesome. Very cool. Brittany, you are up next.

Brittney Postma: [00:37:17] Yeah. My first pick is the spelt for sites react for apps, blog posts that Shawn actually wrote that we spoke a little bit on earlier. It's a really good blog post that kind of breaks down. Like what's the difference between a website and a web app.

And why does it matter? And. Kind of what he just touched on with like building what you love, like in a language that you like to write. So getting the fundamentals there and then building what you need for the job and what makes you happy? I thought it was a really good post.

swyx: [00:37:49] That's awesome. Thank you.

And this side is villain spelt and it's open source. So you can check out the code. Yeah, sure.

Brittney Postma: [00:37:54] Swyx the IO.

Alex Patterson: [00:37:55] And all the links should be on our blog posts. So.

swyx: [00:37:59] Check it out. Yeah. I tend to ramble a lot in my blog post.

Brittney Postma: [00:38:02] My second perfect pick is a little bit of, kind of a shameless plug a little bit because I was on Kobiashi Maru last week and I built a draggable Kanban app with spelt and.

I'm not an expert by any means. And I stumbled through a lot of that and didn't actually even get to implement the draggable part, but there is a link to the get hub repo in there, and we'll link it in our show notes as well. But yeah, it was super fun. And you kind of learn how to persist local storage with a spelt store in that.

So definitely check that out.

Alex Patterson: [00:38:33] Sweet. Very cool. And then my last pick, I use it every day and I was struggling to come up with a pick today. So I'm like, why wouldn't I pick it? Aandra if, if you don't use it, we use it all the time. Especially in our kind of our cover images and stuff like that. Fantastic work.

I'm totally dropping the name. What's her name? Hang on. I shouldn't give her props. There we go Catarina limpid Sunni. That's why I can never remember it. I had to look at it

swyx: [00:39:03] now. She does amazing work.

Alex Patterson: [00:39:04] Yeah. Yeah, absolutely amazing artists. And it's all downloadable, all free to use. Using Algolia to search, she can set our famous, or at least to me, five, five, 1186 purple

Brittney Postma: [00:39:19] color.

Oh, you even know the hex

swyx: [00:39:21] value.

Alex Patterson: [00:39:22] I got to know the hex of a coding cat and you can search through and when you click it on, the cool part is you can download the SVG or PNG the SVG. You can drop directly in Figma and off to the races you go. So, yeah, it's super cool. And you can break it apart. So like I delete stuff out of there all the time just to use the rest of the SVG.

So I

swyx: [00:39:41] love it. I dropped a link in our notion for more resources, like on draw. So I collect these in a repo that I call a spark joy for basically like all the design resources that always reach for, you should have them ready. And so I dropped it in a notion more places which you can find Andrae is right up there at the top, but there's humans, there's black illustrations Vic TZ, there's just a lot of really great design resources and we should make it easier to access.

So this is my attempt. I'm I'm

Alex Patterson: [00:40:10] bookmarking all the ones like this directly. I used to have a, an API one like this, there, a gate to like all the open

swyx: [00:40:17] API APIs scroll all the way down. All the way at the bottom. Yeah. It's just like demo APIs. Cause some of them make you sign up. So I don't like that.

So I actually I'd make the, actually I record the actually free ones. No next there's another one all the way down at the bottom. Yep. There we go.

Alex Patterson: [00:40:33] Very cool.

Brittney Postma: [00:40:34] Mark. KPI's. Yep.

swyx: [00:40:37] Yeah. Nice. Cause I, I used to do a lot of demos from my previous jobs.

Alex Patterson: [00:40:40] I think we're running up on time. So I just wanted to say, thanks again. Swyx for jumping on. I know it's a crazy time where you're at right now, so I really appreciate it.

swyx: [00:40:50] No, I appreciate the opportunity to talk about spelt. I'm always down to spread the word, spread the gospel, come join the community.

We're pretty active with discord and on Twitter and on YouTube. And then we are holding spot summit in April and it's free. And you just Go to SWAT summit.com I think to drop your email.

Brittney Postma: [00:41:08] Awesome. Thank you so much.

Alex Patterson: [00:41:10] Appreciate it. So, yeah. Thanks again.

swyx: [00:41:13] Take care of me. All right.

Brittney Postma: [00:41:14] See you later.

View Details

Today Webflow is valued at 2 billion, profitable, and is a leader of the No Code movement.

Share this on Twitter

Vlad's Webflow Journey: https://twitter.com/callmevlad/status/1095333269946621958

Audio source: https://saastr.libsyn.com/saastr-438-webflow-ceo-vlad-magdalin-on-building-an-enduring-company-one-hard-lesson-at-a-time

swyx: [00:00:00] Vlad Magdalin started Webflow and his story , starting it several times over 16 years is when it's super inspiring and also just jaw dropping. He told a little bit of it in the SaaStr podcast, and I encourage you to listen to the whole story, but here's a clip where it really got to the wire.

Vlad Magdalin: [00:00:16] I sold all the stock that I could, that I had at Intuit had basically my entire life savings, which total about 20 grand with the stock sales and poured it all into the company and got my wife on board. Got her convinced that, we were going to raise a ton of funding and a couple months, and it was off to the races.

My brother Sergey moved into our tiny little condo where we had our kids' room that we cleaned out that he crashed on the floor. We somehow had this kind of perception that we had to do all of this stuff to run a startup. Like we spent half a day in a park taking professional headshots, even though we didn't have a product, we didn't have a website.

We didn't have anybody who cared about like what we were building, but we just like somehow had this checkbook, like. List of things in our minds around like what real startups do. But in retrospect it was silly. And then we thought that, Hey, we have almost unlimited money.

That's what it felt like at the time we have 20 grand that's in this business account. And what do you do with that first by brand new Mac books, which is exactly what we did. And here's my wife, the voice of reason saying is that the. The best idea and me rationalizing.

Yeah. Like you need to have the best equipment to, to make the house, but don't worry. We're going to do this Kickstarter and we're going to raise 300 grand and everyone's going to love this product and it's going to buy into it. So, of course we pour in something like $12,000 into this Kickstarter video.

We have to rent like this massive flat that looks like modern. We record this entire video around the idea of what flow, the product we're going to build. And of course it's like a plea to the Kickstarter users from other videos that we've seen that were successful. So at this point, most of our money is gone.

We even had like this, the guy convinced us to do a little bit keyboard, cat impression that surgery almost. Made on the internet, but I'm glad we spared the world from that happening. And then reality started to hit at this point. We're almost out of money, but we still have all this optimism that we're going to post a Kickstarter.

It's going to go bonkers. We're going to get all this money and we're going to build the product, et cetera. And on that emotional high, we decided to apply to YC thinking that, Hey, we have this great idea. We have this Kickstarter video that we're about to put up. And in the matter of two days, we got both a rejection from my saying that, they're not open to interviewing us in that round.

And the Kickstarter telling us. Hey, actually, we don't support SAS software. It either has to be downloadable or it has to be something that you physically shipped to people. And of course our entire videos, like, Hey Kickstarter, Hey kicks like you can't just like ad-lib or Madlib Indiegogo in or something like that through post-production.

It was essentially a completely shot project that we had to throw away. So we went into like just deep work mode, two, we moved to this place called the hacker dojo, which is. Completely free, but also pretty, you had to fight for space and had to be there like super early in the day to get a table to work on.

And then. We're at the precipice of like nothing's working, we got rejected from ICU. This Kickstarter doesn't work. And right at the end of the year of 2012, my daughter gets really sick and with a life-threatening condition. And of course, when we started the company in September I had personally made the calculation of like, Hey families, healthy kids are young.

If something happens, like, all we really need is catastrophic health insurance. So our health insurance was of the variety where it's like a. 10 $15,000 deductible where just the tests alone to figure out what kind of surgery she'll need came to like $12,000 or whatever. And because it's close to the end of the year before the surgery actually happens, it rolls over to January 1st and the deductible resets and all of a sudden, like we're completely out of money.

I'm borrowing money on credit cards. Things are really tense at home. Thankfully, we're able to borrow enough to like pay for the surgery. And she's perfectly fine now. But things are getting so, so tense that we're just like scraping together money. We sold the family car that we had a little bit of equity and converted it to a really cheap lease and then surgery.

And I figured out. Just to survive on the company front. We found this restaurant called OODA Moss, where four for $8 and 30 cents. You could order one fajita plate that came with two sort of like fajitas, but enough raw materials to make two burritos. So that was our daily sustenance. We were just like go to this place once a day have those have an $8 and 30 cents.

Meals expense per day. And that was keeping us going. And the thing that really brought it home, like the one gift my wife gave me that Christmas. Cause that's how things felt at home was this placard, like this thing where this frame $20 bill that said in case of emergency break glass, and we were such a like hanging on by a thread where we started talking about.

Like Sergey, my brother, and moving back to San Diego, getting his job back. I was already talking to, into a colleagues to figure out if there's a place back for me at Intuit so that we can Moonlight on the side. So big, huge lesson there. Even though we didn't have that much cash, it felt like, we had enough that it didn't give us this sense of.

Frugality and sense of scarcity that we just in retrospect wasted it on these large projects, not really thinking carefully. So I would encourage every startup, like whatever cash you have, cash is King. Like it's something that gives you not just a lifeline but also the ability to To make core decisions on things that you truly need, and also read the freaking terms of service, cause that is something I still regret not doing to this day.

View Details

Emmanuel Straschnov (@estraschnov) is the founder and co-CEO of Bubble.

Audio source: https://www.spreaker.com/user/10197011/how-no-code-is-enabling-entrepreneurship

swyx: [00:00:00] I've always been interested in no-code and I think it's a pretty cool to see Emmanuel Straschnov give a brief overview of the past present and future of no-code on a recent podcast with a village global. So here he is

Erik Torenberg: [00:00:16] Emmanuel. I'm really intrigued because you started this so early. Give a little bit of the overview of the different phases of sort of no code acceptance.

Like what were the inflection points by which it became much more accepted and much more prominent and ineffective.

Emmanuel Straschnov: [00:00:33] So the very first phase for us, I mean, between 2012 and 2014 was, wait, why are you doing this? Squarespace is already here. And it's great. So that was the first phase where you had to explain.

Yeah, I mean, Squarespace is great, but if you want to start Airbnb, you can do it on square Squarespace. So that's what we're working on, but that was not necessarily a messaging that was working very well because the product was not ready yet. Like no code is very much something that until you have a great product to show people are not going to believe it.

Okay, then we have the community of early adopters starting in 2015. Uh, in fact, our first visible launch on product hunt, uh, in October, 2015, that went very well. I think, I mean, you know, Eric product did very well. So then I think we got on our first week, maybe like 2000 votes or something, which back then was a lot at that point in 2015.

And so that was a committee of early adopters. Playing with it. Most engineers were like, this is never going to work. Uh, but you know, product people or non-technical product people in particular started being a little bit more excited about it. And then I think it's toward the end of 2018 where the community of, uh, early adopters, you know, Ben also heart of product.

And like also also the macropod people started, you know, communicating more about educating the market about no-code. Turned it into the point where early 2019, when you're what Ryan Hoover, it's a lot of product and people here. Uh, Ryan Hoover wrote that post about no code where it started being much more on the map as an interesting way to build things.

And then it really blew up, at least from what we could see right at the beginning of COVID where I think it was not necessarily, there's no logical relation to that, except that people had just more time to learn things. And so they had an opportunity opportunity to start spending time learning new tools.

And at that point, the tools were just good enough that it became what it is today, where today I hear investors. When people pitch them, Hey, I'm building this. I have like 2 million of AR and spit on bubble. People are not going to be like, Oh, I can't invest in this. It's built on the code. People are like, okay, show me what you have.

Um, and so we're not that maturity stage yet. I mean that we'll consider maturity where engineers use Bo no-code themselves, you know, to build things. And we probably need to wait another couple of years to get there, but we suddenly getting to a point where people are not surprised anymore. When you tell them you're building a no code.

Erik Torenberg: [00:02:56] Yeah. You were saying that the why now is, is partially that people have have more time. Where's the, where's it going? Uh, how do you expect to evolve in the next, uh, the next few years?

Emmanuel Straschnov: [00:03:06] W what I'm hoping, I think that's where it's going. It's also like a vision I have. So, you know, I hope it turns out to be true.

My hope is that five years from now, we don't talk about no code anymore. And it's just, he knows the way to build things similarly to, you know, Ruby on rails. Uh, react became the new way to build things. You don't have that many people who use, you know, C plus plus to do things it's like, low-level right.

And so I'm hoping that five years from now, so default stack will be a local platform, hopefully bubble. But if it's not us, I hope it's someone else because it's very much some things that world needs. And then engineers will just be part of the picture when something new is needed and they need to extend the platform with code that's where I hope it's going.

View Details

This is the narrated version of my latest blogpost.

Set Explicit Help Timeouts

This is the backstory of how a 1-2 hour task stretched into 2 weeks because I kept it to myself.

A few weeks ago a customer conversation resulted in a simple documentation request. Take something undocumented, and document it. I've done this a gazillion times. I happily took it on.

But when I actually looked into it, this task was different. I knew in theory how it worked, but I had never personally used this functionality before. So to document it, I had to learn it. And there was no source material, no YouTube tutorial, no Stackoverflow answer.

I felt that little "uh oh" pit of despair. Our CTO had given some pointers, so I fired up my sample code, and tried them out. Didn't work. Several variations also didn't work. By then my time was up and I had to go to the next meeting.

The next attempt, I realized that I didn't have an optional dependency (Elasticsearch) configured for this feature to work. Stupid me! Of course nothing I tried worked! That was on us for not having helpful errors to warn about such things, but that's a task for another day. I enabled it, and went on to try out the exact same pointers given.

Still didn't work. Several variations also still didn't work. Then my time was up.

If you had asked me, at the outset, how long this task would take, I would have said 1-2 hours at most. I ended up intermittently banging my head on it for 2 weeks before admitting defeat.

Only when I asked for help after 2 weeks - literally typing "I need help" into Slack - did I find out that the pointers given were incorrect and we needed a deeper inspection of the source code.

There were multiple failures here - my failure to go back to my CTO to pin down what exactly he meant, my lack of familiarity with something I only conceptually understood, my failure to open up source code when surface level attempts didn't work (something I preach!).

But I think my biggest failure of all was letting it drag on for 2 weeks. I should have just asked for help after the first day. Or first week. Anything would've been better than 2 weeks.

The real reason was this: I was new at the company and wanted to appear like I knew what I was doing, so I didn't ask for help. Keep in mind I'm someone tells people to embrace the power of ignorance. And yet, that's what I did. I was in a supportive environment and it still felt embarrassing to type the words "I need help".

From now on I'll make it a point to simply call out where I'm stuck when I'm stuck.

Personal Help Timeout Policy

The trick is setting the "help timeout" — how long before you ask for help? Clearly zero timeout is too noisy, and 2 weeks is too quiet. I put it to a poll:

If you have a daily standup, this is the kind of "blocker" that is ideally brought up there, limiting your help timeout to 1 day. However, in practice, there are many long-running async tasks, "important but not urgent", that don't get brought up as blockers in daily standups.

It's obviously context dependent, but I'm personally fine with a 1-4 hour timeout for most things I do. Struggle is useful and you can learn a lot through it, but you should never have to struggle for more than 4 hours alone on a problem, when you have a team.

Shared Help Timeout Policy

As much as this policy might be helpful individually, I think it might be even better when set as a team. I am not in any real danger when I ask for help. But others might feel like they are.

Without having a real conversation about help timeouts, it is easy to end up in a situation where implicit help timeouts vary from 1 hour to infinity, and team progress is slowed by having to overcome this barrier every time. Make it explicit, and shared, and you enable lampshading of lack of progress and normalize asking for help. Team leaders should role model this too, instead of merely saying it's ok for everyone else to ask for help.

Disclosures: This is a new policy I have made for myself, but have not applied at a team level yet.

View Details

Loren Sands-Ramshaw: https://lorensr.me/

The GraphQL Guide (coming soon): https://graphql.guide/

Transcript

Loren Sands-Ramshaw: [00:00:00] So welcome Shawn to the GraphQL Guide interview with Shawn Swyx Wang. Is that

swyx: [00:00:04] it? I pronounce that, right. It's it's my Chinese and English initials. And it's just a branding that I'm leaned into because it's unique. Yeah. I think it's great.

Loren Sands-Ramshaw: [00:00:11] Yeah, definitely unique. So for those of our readers who don't yet know you,

swyx: [00:00:15] Who are you, what do you do?

Cool. I'm Shawn. I guess I work on developer experience at Temporal. I should be more assertive. I am head of developer experience at Temporal.io. It's a Small startup that does microservices orchestration, which is a very, very fancy name that basically runs an open-source framework spun out of Uber that we can go into more details, but really, I've done.

I sort of migrated from finances, which is my first career. Then I went into Front end. So I did a JavaScript bootcamp then went into front end D started doing some speaking and writing in 2017 and got noticed by Netlify. And that's how I got into developer education, which is what we're here to talk about, I guess, and then started getting into graph QR because it was all tied into the react world.

At the time. You could not ignore graph QL and Gatsby and Apollo and all the other ecosystem in, in, in place. I did. Then I then went to AWS to do the same job, essentially where they have amplify an app sync apps think is AWS has graph QL gateway as a service, which we can talk about. And I recently left to join Temporal.

Loren Sands-Ramshaw: [00:01:18] Going back to when you were getting noticed you were like writing blogs and doing talks and getting out a spot Netlify how did you decide to get into developer education?

swyx: [00:01:25] I didn't, there wasn't actually a decision. It was just like, let's just try this. And see what happens. So that the context was that the boot, the first job I got out of bootcamp was at Two Sigma, which is a well-known Quant hedge fund in New York.

The problem was that I was in a, I didn't know it, but I got into a bad part of Two Sigma where they were severely underusing their engineers to the point where four days out of five, we were not doing anything like specifically not standing on our desk. Cause we had stand up desks. And.

Explicitly given to have the okay. To do whatever we wanted, whatever because we just didn't have work. And that was, it's a, it's an enviable position, right. For for a lot of people like, Oh yeah. Paid around and do whatever you want. That's that sounds like a great job, but I don't think it's a very good job for a junior.

Like someone just starting out. Right. You're not going to grow up very much. So it's like frustration. Really that I was like, okay, I'm not getting any learning at work. My, my team lead was like not doing his job. So I just started blogging and, making my own mentors, like, externally New York city has a pretty vibrant meetup scene.

So I just, started doing my own talks, even though I didn't feel like an expert. And then I started doing blogging and I think the first one that really picked up for me was. When react announced that it was working on async react like concurrent mode as it is known today, but back then it was async react.

So it was announced at a conference in JS conf on March in March, 2018. And I remember that night because it was a big shock to the react ecosystem and it was like a sweeping change. They touching every single part of react. So I just stayed up all night to write a walkthrough of the talk, the demo, and just really like went through everything at it.

And that was the first blog post that. We've got really some notice for me and that really still bald since then. And since then I've kind of enveloped everything into this principle I've learned in public. Like when you find something interesting write it up in your own words and share it with people.

And at least the people involved in working on the thing will probably read it. And if you're saving some work and if you have some unique perspective than other people will find it helpful as well.

Loren Sands-Ramshaw: [00:03:26] Was there a moment where you were like, I'm going to write my own blog posts instead of reading other people's.

swyx: [00:03:32] I've been doing it, unsuccessfully for like the two years prior. So there was no one single moment. It was just like focusing it on something that people actually cared about. It turns out that, you want to write things that people want to read. And that's that was a pretty big insight for me.

It's not, it didn't seem like that big of an insight until you look at it. The vast quantities of developer blogs out there. And a lot of them are sort of very inward facing. They don't really answer the question of why should you care? And so I, I definitely had my mentality changed around like, okay.

Like it has to be an intersection of things you're very interested in and things that other people are interested in and you can't just have one or two.

Loren Sands-Ramshaw: [00:04:07] Speaking of things that people are interested to read, you have a great book on the coding careers. That's called the coding career handbook.

One of your first. Customers really like the parts of it that I read. What was that like coming with the idea of the book and writing it and

swyx: [00:04:20] publishing it. So there's a fun story for the reason the name is so awkward. I still don't like the name, but I just had to go with it because I didn't have anything of anything else.

The reason was the original name was cracking the coding career because there was a successful technical interviews book called cracking the coding interview. And the whole point was that it w I wanted it to be apparent in the title that once you're done with the interview, once you landed the job.

There's a huge gaping hole of what's next. And this th this book is targeted at the what's next. Unfortunately, Gail McDonald, the author cracking Cody career actually got in touch with me and mentioned lawyers. So I had to change the name before lunch. So, by the time, like I already had my Twitter handle up and all that, and I was just like, all right, I'll just stick with this thing.

But it is an acronym. Yeah the. Point I think is that people, I think my most successful writing, like it or not has been my non-technical writing which the learning public essay has reached, hundreds of thousands of people. And I constantly get shout outs every single day about people starting to own journeys.

And it's something that I really. Believe it, even though I hate, I'm not like the Tony Robbins type, I don't want to be like a lifetime life coach or anything. I just think that this worked for me and it will work for a lot more other people. So I was like, okay. I just, I should probably just write down some more advice on, on, on what I think that people need, because.

I think what really crystallized it for me was when you look at career ladder. So I did a study of every public career ladder out there. So career ladders are these things where it's like, all right you're junior, you're expected have these qualities or senior, you expected these qualities, staff, principal, whatever.

And and everyone has some version of these in some companies are actually brave enough to publish them. And so if you just study all of them and you realize something really interesting, which is that when you look at the way that people are promoted and graded about 75% of the grading criteria is non-technical.

Seventy-five right. It's like, all right, you can call it. Great. But what about your communication? What about your business impact your mentorship and all that, which is like surprisingly not the type of thing that you learn in college or bootcamp. And no one tells you to do it, but suddenly it's 75% of your evaluation, like, well, okay.

And I think that just reflects the reality that we are less coders and more code enabled humans and we can code, but we're humans first. And so we need to apply all these sort of soft skills. I hate the word soft skills, but that's the common commonly accepted terms. So I use it Two two, we need to teach each other, lessons from these things.

I am not saying I'm the world's foremost expert at them. I have things to work on myself and it's a very difficult thing to, to come on and say like, I have something worthwhile for you, even though I'm imperfect. But I don't base my advice on myself. I also base my advice on.

Hundreds of other people that I've interviewed and collect collected the book has like 1400 references to people smarter and wiser and more accomplished than I have. And that, that's just what research does for you. And hopefully you can decide yourself which of these ideas you agree with and which are not.

And that's all I ask really, I think it's really hard to write a soft skills book. Because your sort of character has to be impeccable. Like the moment you're like, Oh, I had a bad interaction with this person. Therefore, the entire book is wrong. Like, I'm sure, if you want to take that view that's fine for you.

But I view ideas as sort of independent, you can sort of pick and choose. And if this book, has 40 chapters and three of them make sense for you then that, that would be a good investment of time for me.

Loren Sands-Ramshaw: [00:07:39] I liked it like the field of life coaches and career coaches and therapy and stuff.

And I really appreciate the knowledge that you've put into the world with that book. So thank you

swyx: [00:07:49] for writing. Well, yeah. Thanks for asking about it. It's kind of, it's still awkward that you can hear me like being very hesitant about like, talking about this thing, but people like it.

I think that, everyone wants to hire seniors. That's the truth. There's a huge glut of bootcamps producing juniors. There's lots of people self-teaching. And then from junior to senior, somehow you magically, hope to. Find something that works. And then once you're seeing her every once a hi, everyone wants to hire you.

So I guess if I had to narrow it down, like I need to make it. Easier for people to up-level whether or not they can use the book as a guide or they can join the discord that I have and interact with me directly and ask me questions and all that. These are all passed into upscaling, more people from junior to senior.

And I think people don't do it. It's just, it's a very awkward thing to do. But that's an interesting challenge. I really

Loren Sands-Ramshaw: [00:08:37] liked the boot camps. There were like nine months. You can go really deep. It'd be cool if I was like a graduate school version of boot camp. So you go to the bootcamp one, and then later on you go to the boot camp two.

swyx: [00:08:46] Oh, there is a Recurse center, which is the self guided one in New York. Yeah. A lot of pretty famous people have come out of the recur center because they do it's essentially like graduate school. Like you propose your topic and then you sit in a room with a bunch of other people who are very self motivated as well.

And you produce something to impress each other and the kind of people that actually self-select to go there are very intellectually curious themselves. So they work on pretty cool stuff. And it turns out that once they graduate, they will actually go on to do some pretty interesting things as well.

So, that's a comparison, but like the thing is that doesn't scale. Like they, they admit like maybe a few dozen people there's tens of thousands who will never do it.

Loren Sands-Ramshaw: [00:09:23] Also. There are a couple more ideas in that area that I have where like, Having it be more of a norm for companies of like even medium size to have like a junior teaching mentorship program.

swyx: [00:09:37] Yeah. Yup. More apprenticeships, especially for people from non-traditional backgrounds. I find, I see so many companies that have, Campus recruiting for colleges. But actually, what about everyone else? So, yeah. And then in the mentorships, it, th the thing is like, it's perceived to be a cost.

And we need to turn that around and turn the tenant equation around and say like, actually you're getting. To upskill talent, there's that cheap, that becomes very valuable once you put, once you invested in them. And I think some companies are getting into this mindset. So Stripe is having direct integration with the university of Waterloo.

And I think shop, sorry. Stripe is integrating with the university of Limerick, I think in Ireland. And Shopify is. Has a has a degree offering with the university of Waterloo. And it's just amazing to see all these innovations, but they're just sort of piecemeal. And then, they'll improve a few dozen people, a few hundred people at a time, but it's a slow process for sure.

Loren Sands-Ramshaw: [00:10:28] I would think of it makes sense for there to be like a lower part of the market where like, like the, maybe under the entry-level for expected junior does, there's like a gap where people can do like. Traditional apprenticeships where it's more of a stipend or like an internship kind of thing where you're not being paid like a normal dead salary, but you are learning a lot.

Yeah. And maybe like that would be low enough that it would be profiled.

swyx: [00:10:52] They are doing that at they are doing that at Lambda school, which is the online bootcamp. The problem is Whenever you talk about paying people perhaps less than an average developer salary the, there people online who get very angry about that.

And I, it's not my place to say. Who's right and who's wrong. I defend the right of consenting adults to agree to whatever contract they want, even though, some, some of them may be exploitative in retrospect, but we have to let people make mistakes. And we have to let people experiment with new forms because all we know is the current system.

Doesn't work well in, in some way we need to try new ideas. We need to make it safe to try new ideas. And and so Atlanta school was really trying. And I think what they have right now is they'll guarantee you they'll give you a student for a month.

And they'll pay the full month of it. So it's totally cost free to you, except that you have to give them, stuff to do. And I think that's a really beautiful experiment. So I don't know, some people get angry about that. I'm like, you're, you don't know what it's like to be a bootcamp student.

I would've killed for that. When I was a BlueCat student,

Loren Sands-Ramshaw: [00:11:51] I have friends who haven't found a job after boot camp. So, hope that

swyx: [00:11:56] system works fine. Yeah. Nothing is better than sort of just getting into a real work scenario and like, stop jumping on the artificial hoops with like in video binary or whatever.

And just get into the real work. And after three months, six months, nine months, you're a dev. And. You know that w yeah. Every, everything else is just gate keeping. So whatever.

Loren Sands-Ramshaw: [00:12:14] So you think of algorithm, coding interviews? I had an interview with Toptal, and I didn't know they were going to do data structures and algorithms.

So I didn't study and like, I haven't studied it in over 10 years. And I got an a in my courses at Dartmouth, so like I knew it at one point.

swyx: [00:12:30] But I totally did you burn, did they give you a grade? Did they give you a number? Like how bad? I know they just like stop

Loren Sands-Ramshaw: [00:12:35] asking your questions.

swyx: [00:12:36] Yeah.

Yeah, yeah. So tail, the reason that'd be so stringent is the marketing, right? They're like we, they have to have a rejection rate to, to show off. Because that's part of the marketing appeal. I totally get it from their angle, but then also, like you don't need them. So, whatever.

Loren Sands-Ramshaw: [00:12:49] What are your thoughts around different education mediums? Like how did you decide to do a book versus a video course? And do you have any plans for doing books or courses or.

swyx: [00:12:59] Inefficient. That's an interesting question. The reason I did a book was because the MVP of a book is a blog post, and I already done like three, four years of blogging prior, and people already knew me from my blogging.

So it was very natural progression. So I didn't really question it. I also know that I take a lot more time to do video than I do writing or, yeah. No, let's just put it, let's put it the other way. Like, I don't think I'm ever on the world's most natural speaker. I have a lot of false starts.

I've thought I'm sinners and I'm still working on it as you can probably tell. But yeah. And so when it comes to writing, it's SEO, searchable, it's you can edit it anytime and reformat things, and it's not it's super cheap. You can add hyperlinks, which I love dropping references.

Right? Like when I. Have references in a podcast or a talk. I can't drop a hyperlink in my mouth and you can click on it and it just leads you right to the source. I really liked that. And it annoys me when podcasts say, like, we'll put it in the show notes on any deal. They don't it's really super annoying anyway.

So writing solves all of that. It's it's perfect. Medium. It's very scalable. In fact, I have a whole chapter on why writing is great. Everyone, every developer should write. So yeah, I mean, no, no contest on mediums. That's it. One of the downsides of writing is that the moment you call anything, a book, what's the normal price of a book it's nine to nine to $59 or something like that.

Like you can go to maybe 99 or whatever, actually, I don't know how much the

Yeah, got it. Yeah, there's a range. Right. And it's basically constrained by the format rather than the value of the knowledge contained in the book. So if my book happens to. Yeah. Increase your the slope of your career by $10,000 a year. The Mexican charge is 59, which is what I charge that's absurd.

Right. And other formats, like video courses, that's automatically like 200 to $300. Irrespective of like the actual value of the delivers to you. And so that's a really bizarre way to do things. So that, that was one, that's one argument for why you might want to do other formats.

So apart from this book, I actually considered doing a reactant types, of course, because my other one of my other side gigs is that I run the react and TypeScript cheat sheet, which is. The de facto community docs for react and TypeScript. And it's a, it's a much bigger deal now with them back when I started.

So I teach, a thousand people a day react to TypeScript and it's been a completely volunteer behavior volunteer activity. And if I, sold 1% of those on a video course, I probably make a living.

It's something that I thought about. Th the only reason I don't do it is because I don't want to be a teacher. I don't think I'm a, I've a very ever temperament to be a good teacher. I don't think I have the patients. I want to do other things with my life apart from teaching.

So I think I'll just leave it to someone else, or maybe collaborate with someone.

Loren Sands-Ramshaw: [00:15:44] Let's move to the backfield topic. What is your

swyx: [00:15:47] take on evacuation? Greatest thing since sliced bread. Is that what I'm supposed to say? So I had a talk about this Hawaii where like kinda compared it to like, I hate I wish that people would start comparing graph QL to risk.

Like we have to, because that's kind of what we. What the paradigms are and how people mentally place them. But rest doesn't go away at Graco has a protocol over rest. And so it was like, it's, it's not either, or it's like one and the other. That's it. My sort of galaxy brief summary of graph you all is that instead of creating a dozen different end points that are all kind of dumb you create one smart end point and then you have contracts that can specify whatever that end point does sort of on, on request.

And I think that's a really simplified take, but it really. You were there at Apollo day. And I think the Apollo folks have a really good present explanation of this. It really starts to come into its own when you start having multiple devices to support. So you have mobile and desktop and web Sr and, and Sorry.

Well, mobile native and desktop and mobile web and on whatever other devices that you may have, these are all have the different data requirements. And there's a combinatorial explosion. They have all these lines crossing over from different services, into different devices that you could simplify by just having one single sort of smart endpoint.

And everyone connects to that one smart end point. It speaks to the right contract and that smart endpoint has. The means to resolve all the data from each individual data source then that's essentially graph QL. Like you could do this in a bunch of different other ways as well. And there have been many, many other attempts like graph QL is, is, it's not new.

They're there. And I think the creators of graph you all are pretty upfront about like the inspirations that led to. Craft you are like all data, which I never really tried any of these. So outside, I don't have much sympathy. All we know is that graph QL is successful. Now it has the network effects now, and therefore it's a much better bet than the other formats.

Which is an argument by like it's success, it's popular. Therefore it should be more popular like that kind of argument, but it's true. There's some amount of validity to betting on things because the ecosystem is better. And so, so that's really smart.

I have another take, which kind of combines into one of the questions that we prepped for is what I dislike about it. So, I think that it's very, very easy for front end developers to wax poetic about graph QR, because it makes their lives a lot easier. And the people that we kind of leave behind, or we sort of punt all the tough questions too, are the backend developers for whom It turns out it's not true.

It's not always true, but net, it turns out that it's more work for them, whatever it is from like, figuring out how to do off figuring out how to do like rate limiting or like query complexity, limit limitations and like, Inserting all the validation steps or like joining schema is, and the federating them, these are all the tough work that was maybe sometimes shift done on the client side has all been shifted onto the backend.

That's really unfortunate for graphical adoption. Like the main bottleneck of graphical adoption is backend. That's it there. And I wish we would stop. Okay. I wish front end developers would stop selling graph QL based on how easy it makes their lives, because it's totally unsympathetic to graph to back in people back.

And people are just like, you guys are not thinking about the security risks. They're not thinking they're not talking to them in terms that they are thinking about. And I wish that more evangelism, more graphical individualism was more sympathetic to the backend perspective.

Loren Sands-Ramshaw: [00:19:08] What are your personal

swyx: [00:19:10] favorite parts?

Oh, graphical. I, this is the common answer, right? Like it's I feel like graphical is kind of like the common ground of all of them. Cause like, you can, it's a raffle or it's a postman or whatever it is. It's the common tool and it's so good and actually got a lot better. We graphical Explorer sorry, graphical Explorer.

And that's the little side tab that the added and I think, their plans were a graphic for 2.0 in graphical. And it. It's just such a introspective tool that has embedded documentation in it. Like, it's just, it's everything you want out of a documentation tool and of API documentation that rest never really got to, like the best you got.

It was open API and even that's kind of like a sprawl and it doesn't have embedded like try this, it, it does, but like it, it's just not as smooth as graphical. So yeah not really galaxy brain take here. But I think, yeah once you make experimentation and modification a lot easier than you, you move the pace of development faster, at least on the front end.

So, I definitely like that a lot. The errors kind of bother me a little bit with, areas being 200. Okay. That's a common sort of gripe among people who don't like graph QL, but you'd learn to deal with it. You just, yeah.

Loren Sands-Ramshaw: [00:20:16] Any advice for

swyx: [00:20:16] people learning Graco?

Nice. We're learning people that are in graph. Y'all I think the thing that you do in the book where like you explain the validation and set it, set things up from scratch you should do that. You should go through the exercise. Actually even set up a server using just pure graph LGS without all the fanciness that maybe Apollo server does for you.

And just, yeah. Fundamentally understand like, or, so like, I guess the advice would be like stripped down the tooling as much as possible and build your way back up instead of just starting at the tooling and never going down the stack a little bit. So, did you know that you can query Aggreko end points just with fetch?

Do you know how to do that? If so then great. Then what's the next step after fetch? What does caching actually do for you? So on and so forth, like these are all this, these are the steps that you knew you need to sort of work through to, to build up to a complete understanding of graph you are so that when things go wrong, you know how to fix it.

And that's one thing which I really encourage because graphene is a complex system. It's client side is service side and there's like, This complex chain of events that go through it. And sometimes the errors can be a bit too loose. If you don't really know what's going on under the hood.

Loren Sands-Ramshaw: [00:21:19] Yeah. I don't a friend who I was a junior dev working at a company that like had a Apollo in place and like their view of craft kill was if I add this like fragment or this query to this component, then. I'm going to get the data. And so they don't have the understanding of like what's happening, how it's all getting collected, where the cash is doing.

Which is definitely helpful. When things go wrong.

swyx: [00:21:47] Yeah. Yeah.

Loren Sands-Ramshaw: [00:21:48] What are your, yeah. So you had a chance to read parts of the guide. Thank you so much for being here. I really valued your feedback. What

swyx: [00:21:55] were your favorite parts of the book? So I noticed that you do something unique, which I don't see a lot in a lot of other books, which is every code sample has like a good tag.

Is that what you do? And you can just view the defer or go straight to the, get, get tag from that sample. And I actually really liked that. Sorry. So this is really tiny detail, but then like, I appreciate that. Cause I read a bunch of other books as well. Like I got another, a book here.

And on top of this monitor that I'm looking at you on, I have a bunch of other techniques as well. I really enjoy reading technical books as a way to level up. And so like when you can actually follow through on the code and download it and run it yourself, that's a really nice detail.

Overall, like, I think it's, I think it's a very comprehensive, like 500 something pages, which is huge guide, and it's the kind of detail that you would take months to really pick up on. And, you get it within a Yeah. Within a few days of just reading this book.

And so I just really appreciate it, like all the research and all the piecing together of things. Obviously you had to make some tough choices, like, picking on picking Apollo. But I don't think these are controversial at all. These are just like, the industry standard things that, that you would at least expect people to be familiar with.

Even if they go with the alternative. And then going into like each individual client and framework, I don't use react native sorry, I don't use Vue or react native, or I think you have some other native iOS, even that you went into there. I don't use any of those platforms. I'm just a web person.

But I know that, when the time comes, I can just pick it up and start there. So that's a really good perspective as well as like the broader ecosystem, right? Like, Apollo Federation, which is like a fair, fairly new thing. And then talking a little bit about history as well, which I think is one of the most significant graph your companies out there.

So, so yeah, it really like combines, condenses a lot of research that's done by you and John Resig and that's pretty well, this very much worth the sticker price.

Loren Sands-Ramshaw: [00:23:36] Thank you. So the tags is particularly difficult because I have a tag for each section of each coding chapter.

And those are chapters six through 11, and then for each version of the book has a different tag of version. So it's like the react chapter is maybe 40, 40 tags with each, with a version number. And then each time I changed the code for the next version of the book, I can make another 40 tags. It's a big process.

Yeah.

swyx: [00:24:05] I was thinking about, is react the best pear to graft you all like, does it, is it an accident of history that it just happened to also come out of Facebook? That's. Which is why we use it together. I always wonder that because, we act it's very weird with its effects and all that.

It's kinda clunky to, to use. So you basically have to use a third party library, like, or goal, or Apollo client to wire to that. I don't, I'm not sure how I feel about that. Like I was just like, Ugh. Anyway, we can talk the frame, talk about frameworks in a day, but yeah, I appreciate it that all the guys are in there and you took pains to, to cover other devices.

Like, like I said, like, one of the main benefits of adopting graph is that you can support multiple devices, multiple frameworks in paradigms pretty easily. Okay.

Loren Sands-Ramshaw: [00:24:47] Any visions

swyx: [00:24:48] for the future of death off? Oh

Loren Sands-Ramshaw: [00:24:51] well just probably like, having the backend story be. More developed. I think it was both pitching them and then

swyx: [00:24:56] also the software supporting them. I have a pretty good coverage of this in the book where you talk about differ and idea, the two directors, which I never remember stream yes.

Street. So like all these spec level things are very important because once it's in the spec then multiple, different parties can implement them. And we because right now everyone's kind of haphazardly kind of. Hacking their way around it if they need it. And once it's standardized we can really build some rails around it to make it a lot more reasonable and, things like the, for like, they need to be in there just cause once your graph gets big, like you, you need to, query things at different paces and have them all in one quick one single query.

Yeah. So, so more standardization of stuff. Like I even, I don't know. I don't know how you feel about this, actually. I should ask you a do, but I think that graphic, I wish that graph y'all had a date time. Standard type.

Loren Sands-Ramshaw: [00:25:41] Definitely. I think it's a,

swyx: [00:25:43] some stage in the spec. Okay. Super annoying. It doesn't happen.

Yeah, so, I think Lee Byron has had arguments for why did kept it out. And definitely simpler is better for the initial success of graph. You would prefer would not be where it is today. If it had done all the things it had to really, really scope down and just solve a specific problem for Facebook and the early adopters.

Then it got big and then people want more out of it. This is the natural way of things is how it always goes. That's it. It's super annoying to work with the time in in graph QL and everyone has their own really weird spec. And we should probably standardize on that. I think relay seems to, relay seem kind of dead for a while.

And then it had a little bit of resurgence and people really like the the cursor format which which I think you briefly touch on as well. There's, there seems to be some amount of need for standardization of like, the way we do pagination, the way we do a bunch of things like even authorization as well.

I don't think it's really it's too. Left to influence that it's too hand-wavy. And so, yeah, which is, which kind of goes back to the solving backend developers, pain points, like having best practices that are sort of, well defended and in production at well-known companies that really gives a lot of assurance to the rest of us who are just trying to figure this out and trying to evaluate like, Oh, Hey, I have this thing that has worked for 15 years.

That's that happens to be rested. I can ship faster with that, or I can deal with this cutting-edge thing, which like I might make a critical mistake on. Sorry, my cat and my Comey. Exactly. So, nine times out of 10, the, I was going to say no, because it's just like, are you a dev just trying to play it a new toy or are you trying to ship, do you know how to ship things, which I've always worked in, nothing's broken about it.

So you really need to pave the path, which is something that obviously I do for a living, but Graffio has a lot of smart people working on that. Yeah. Did I answer the question about the future?

Well, Federation used to be a big sticking point and then they actually, came out with it. So I think it's less of a talking point now. And hopefully I, I haven't used it in any sort of work setting, so I don't know how actually people feel about it. All I know is that it was there were multiple competing solutions and now there's an official one.

Loren Sands-Ramshaw: [00:27:48] So, I guess the last thing on graphica was app sync. I'm curious. But what kind of companies you see you saw using it? I guess I quick over here for people.

swyx: [00:27:57] Okay. Absolutely. So graph yall tends to end up as a gateway meaning that it starts to wrap around other rest API starts to wrap around your other data services.

And then you start to that's as natural. In my view, state of where it should lie in your stack and then your front end sort of starts to query against the graphical gateway rather than your rest or API gateway. In Amazon's terminology, it is literally called API gateway, the most unimaginative name possible.

So, the graphical version of that is called app sync. Not graphically I'll get waived for whatever reason. And it really does essentially the same thing. You can define resolvers and resolve against data sources, whether the rest or a third party, or even then I can include a dynamo DB database, which there's a specialized schema for that.

We can, which is really intuitive to set up. And I, I think so, people are using that Amazon music, 30 million monthly active users, it's is based on that think there, there are some clients, I, big sort of consumer brand clients. And then there are a bunch of smaller smaller of a well-known names.

Like, orange theory is another one that, which we talk about a lot which is a gym that converted to like an online fitness training company during COVID that has like, that does like 2 million, monthly subscribers a month or something like that. And. And yeah, I it's used in production by the kind of companies that use AWS and they may not necessarily be, well-known names to developers, but they are successful businesses in an off their own.

Right. We also have a bunch of non-profits, which I really enjoy because it helped them get to market quicker. I feel like I, I still am still performing my role as AWS spokesperson here, but like, it really, I really enjoyed this cause like during COVID, a lot of people had to go online and a lot of nonprofits actually built out their apps using app sync and they got to market in like three weeks and, started serving people.

Like some of them were like homeless shelters. Some of them were like sort of critical medical care facilities and and. When you see the pace of development solve by, by, by this, by the service like you, you can get naturally very excited by them. And sorry. So let me get to the point.

The point is that you want a service, a graph, your service and either someone at your company is going to build it and it's going to be. Weird and funky and kind of, custom to your company or it's sort of, specked out and developed and scaled by someone like AWS or her Sera or Apollo, w whoever else does the graphic as a gateway service?

Because I, it could, because I just said like the backend stuff is the hard part. So when on, let someone else do that for you, that's the SME pitch. So yeah. Sorry. I feel really weirdly passionate about this just cause like it's a really fascinating investment. It'll be, this is the only big cloud to invest in graph you off.

As you're in Google and awareness on this and now Facebook is in the cloud. So, so, I feel like it, it has, maybe it doesn't get enough credit for like the amount that is really investing in making graphical a thing and making graphical easier for people to, to put it into production. I would say it's not the easiest thing in the world because it still has to encounter a lot of AWS hurdles, like, how do you deal with IAM policies and billing and all that which has its own sort of nightmares and EWS.

Nothing's perfect, but it's a trusted brand and it serves people who are familiar with AWS. It serves them well enough. Oh. One example. I think I really liked was a Yan tweet on Twitter. I don't know if you, if if you come across him he's actually done a bunch of tests and actually helped to help a bunch of clients build with ASIC.

And one of the interesting things is that graph Jaan natively has his subscription sort of. Paradigm association method, method which you can implement it with like long polling, whatever. But yeah, the high thing was serverless has been using has been developing serverless, which with WebSockets like having the scalability, serverless with the persistent connections or web sockets absent has this built in.

And so it's much easier to to develop sort of live apps, w. With the live reaction functionality that that website has give you with seeing them without, and to go pure serverless with API gateway. I'm sorry, I'm throwing a lot of jargon at you, but if you're in the AWS ecosystem, you know what that means?

Loren Sands-Ramshaw: [00:31:42] No, I've. I've used it on one or two. What did they call it? Consulting gigs. And I

swyx: [00:31:48] remember not understanding the UI

Loren Sands-Ramshaw: [00:31:51] very well, like you're not feeling intuitively, but then being able to do most with like CloudFormation via the amplify CLI.

swyx: [00:31:58] So I liked that.

Yeah, that's a that's the common starting point which is like, if you just have a pretty common use case, I definitely recommend using a CLI then the more. Custom you get I would recommend checking out co CDK, the CAGR development kit where you can programmatically create confirmation resources to attach onto your API gateway.

And that's the migration path. You start with the CLI started out, building something simple, a proof of concept get familiar with the graphical schema definition, language that maps onto your resources. Like. And that's ultimately what you want. Right? You want your, the graphical, SDL SDL that you write to to do as much work for you.

So that means provisioning infrastructure in the backend and doing Kojin and the front end. Right. That's what, that's the ultimate dream of like do one thing, one source of truth. And it flows both ways. Right. And that's what I think, is. Building towards I'd definitely say it's not perfect.

Like, like exactly AWS will never win any awards, but the bar is very low for AWS. Like, all you have to do is to be in better than existing services that AWS has is not trying to win the world's best API for, compared to all the other startups out there. It just has to serve existing AWS customers.

Very well. So, so yeah that's kind of my perspective on that. Like, and like the core gen goes all the way down to the front end. So, EDSS has this sorry. Amplify has this idea of the data stores, which is on-device cache of your remote data, which is powered by your graph, your schema.

I remember

Loren Sands-Ramshaw: [00:33:16] When Twitter figured out that JB amplify a client was based on a public client, but also had a lots of added things like offline.

swyx: [00:33:25] Data. Yeah. And th this kind of thing is only possible with strong typing, right? Like w which is essentially what graph provides for you, strong typing of your backend schema.

And so once you have that, you can produce a front end replica of that, and then it works offline which is the kind of thing that you basically only possible by vertical integration. And if you don't, if you piece things together yourself, then you're on the hook for building all of that.

Which is pretty rough. So like, I just think it's amazing that they want an investment that's going into this. I feel like it's really rough to make easy and get right, because the surface area is massive, but but I think that the vision is correct. I think the vision of like, let's make this graph, Gail schema do everything.

Drive make it the source of truth and drive the whole app. And when you do migrations it's very easy to see what to regenerate the clients regenerate the backend infrastructure. That's the way you want to do things. Because if everything's disconnected, then you're essentially doing a lot of things twice.

Like, you change the schema. All right. Then you write the resolver then. Alright. Provision the infrastructure, the backend. These can all be done in one step. If you had tight integration any

Loren Sands-Ramshaw: [00:34:25] final message you'd like to give to the readers in the graph? Yoga.

swyx: [00:34:28] Enjoy the book and ask the authors for coverage of relay.

Cause I feel like there's a lot and no fault to you. Like I think graphic equals ecosystem is big enough and you already did a fantastic job of covering all of these things. I just feel like, Apollo is one perspective on what graft Cal could be. And there are very, very smart people that I really, really respect that love relay and I don't know anything about it and I wish I could read more about it.

Loren Sands-Ramshaw: [00:34:51] I planned on adding at least a little bit about relay pursuant to your feedback. So thank you for that. And thank you for joining us today, Shawn.

swyx: [00:34:58] Yep. Likewise.

View Details

An untold story from Adam Grant's new book, Think Again, with special appearance by Ed Catmull and Rufus Griscom.

Audio Source: https://play.acast.com/s/the-next-big-idea/gid%3A%2F%2Fart19-episode-locator%2FV0%2F8eGHqU6ud87TFzlI-OG-ar2xD8QTim65hR_4cgCWV9c

Transcript

swyx: [00:00:00] I've been listening to Adam Grant, do the podcast book tour with this new book. Think again. And none of them really connected with me until this one. On the next big idea podcast. I think it resonated because he's friends with Rufus, the host. And there's a lot of good ideas in there:

  1. Challenge networks
  2. Don't let your ideas become your identity
  3. Treat arguments like a scientist
  4. And some thoughts on opening other people's minds
    1. by preaching, not prosecuting,
    2. having fewer points
    3. asking how the other person arrived at their conclusion
    4. doing motivational interviewing.
    5. complexifying the world avoiding binary bias.

So a lot of good ideas in there. I recommend listening to the whole thing.

But the clip that I'm going to show you today is a, an untold story. That's not in the book about how Steve jobs was often wrong and that runs against the typical. Impression that we have a leadership that it needs to be very definitive in certain. So here it goes

Rufus Griscom: [00:00:58] I think it's so nice to see examples of leaders who are more comfortable with their humility. The examples of the young Steve Jobs and the Barry Dillers of the world have always frustrated me. I feel like a lot of people have a desire to have this kind of obnoxious resolute leader mythology.

Adam Grant: [00:01:17] It's interesting Rufus. I I cut a chapter from the book that just wasn't quite working. It was basically about the idea that. We think of Steve jobs as a visionary thinker. And the story we tell the myth anyway is that it was his reality distortion field, his ability to bend the world to his will, that made up a grade.

And I think if you really study the history of Apple, if. Steve jobs. Hadn't surrounded himself with people who knew how to change his mind, that he might've never changed the world. He, he didn't want to make a music player. He insisted, he swore that he wouldn't make a phone. And it was, it was the team of designers and engineers around him who convinced him to do a lot of rethinking.

I ended up scrapping the chapter from the book because it felt a little bit too tactical, but something really interesting happens just this was week and a half ago now. I got an email from ed Catmull out of the blue and I've admired ed, since I first became aware of Pixar, he invented computer animation, founded Pixar led it.

And I got this note from him saying he was listening to my book on audible and going through the hardcover in between. And I'm just going to read this to you because I thought it was so interesting and he said, As I was listening well, am I spinner a flood of memories came back. I think I worked longer for Steve than anyone else, and I watched him change considerably, but he was always someone who understood viscerally that there's no upside in being wrong.

And that was such an interesting contrast to the, the popular portrayal of Steve jobs. It doesn't mean he wasn't stubborn. But it does mean he was willing to be convinced. And ed said he said, I believe you have the essence, he was rethinking all the time. And I got my way two thirds of the time either because I convinced him or he gave up and let me do it my way.

Interesting. And my question there was, I've heard from so many people that ed Catmull brought out the best in Steve jobs. Steve jobs was kinder that he was more, open-minded more thoughtful when dealing with ed than anyone else. What I'm so curious about, and I'm reaching out to ed to find out what his answer is on this.

Is that just because Steve had so much respect for Ed's intellect or is it because of the strategies that ed used to open his mind or some combination of the two?

Rufus Griscom: [00:03:28] Yes. Yes and no. I think this is a part of the Steve jobs story that is often ignored, which is. Again, I think we have this attraction to like the asshole, like just incredibly decisive and certain, startup founder who just drives their way forward.

And the fact that Steve jobs famously had this view that people don't know what they want. He was in some sense, it was perceived to be the opposite of the scientific method. He was basically like our consumers don't know what they're going to want in five years. We have to tell them what they're going to want.

But I think there was this evolution of Steve jobs to some degree in that he started off as a pretty, stubborn, difficult character. But you do get the sense reading about him that Pixar, as you say, was this incredible culture of collaboration. And I think that Steve evolved as a leader and precisely because maybe of ed Catmull and that Pixar culture.

Yeah,

Adam Grant: [00:04:23] I think that culture had a big impact on him from everything I've heard. It seems getting kicked out of his own company or, nudge or force that helped a little bit, failing a bunch of times maturity. But I think one of the things that, that I don't see talked about enough, Is that the whole customer thing I think is also misrepresented.

The what's the apocryphal Henry Ford line, if I asked my customer what they would have wanted, they would have said a faster horse. So you can't talk to the customer. Yeah. I think that's a gross oversimplification of what Steve jobs believed from talking with dozens of people who worked with him closely for years, he was very interested in customers' problems.

The things that drove them crazy, the things that frustrated them, he just didn't trust their instincts about the solution because he thought they weren't thinking far enough ahead, or they didn't have necessarily the technological expertise to figure it out. And so I think that the Apple view of the world, which is maybe a rethinking for some of us is to say, you know what?

You want to do a lot of listening to find out what people's pain points are in the world, but don't always assume that they have the right solution to their own problems.

View Details

My tweet thread: https://twitter.com/swyx/status/1364107473724919809?s=20

Audio source: https://fs.blog/knowledge-project/nir-eyal/ (40 mins in)

Future edit: Followup episode with Cal Newport on Time Block Planning

Main Points

  1. Prioritize the hard stuff not the distracting stuff
  2. Todo lists don't have constraints, Calendars do
  3. Self image of Person Who Gets Things Done

Transcript

swyx: [00:00:00] I want to share with you an idea that I've been recently very obsessed with, and it comes like many things from Cal Newport. But I'm going to use my own words. And here it goes:

your Calendar as Todo List. (Why I'm getting into time block planning).

We are besieged by to-do lists, open browser tabs, YouTube watch later podcast queue, Twitter, bookmarks, unread emails, notifications messages.

To do lists aren't good enough. They just solve the easy problem: storage.

The actual hard problems: prioritization and scheduling.

Calendars or to-do lists with prioritization and scheduling built in.

You have to answer questions like: what should I do first? And what's my time budget for this?

Most people's calendars only track meetings with others, but why shouldn't we make appointments with ourselves?

Your calendar is the only todo list, where you have a chance at a 100% completion rate.

So I heard a version of this in Shane parishes podcasts with near IUL. And I wanted to clip his version of his as well, because he writes about it in his book Indistractible.

Nir Eyal: [00:01:04] So the second step is to make time for traction. That's the second big strategy making time for traction essentially acknowledges that you can't call something a distraction unless you know what it distracted you from. And so, yeah, this is where we're actually. Yeah. So this is a really, really important insight.

Most people out there don't keep any sort of a schedule, what they keep as a to-do list. And to-do lists are horrible

Shane Parrish: [00:01:26] validated right now. Oh, you're not a big to-do list guy either. No, I hit two. Do I put every, almost everything in my calendar?

Nir Eyal: [00:01:32] Yes. Okay. Thank goodness. So you're already a convert and this is, this has been around for decades.

Actually. This is one of the most. Well-researched time management techniques out there. This is called making an implementation intention. Literally thousands of studies have shown that you are much more likely to do what you say you're going to do when you plan a time and place to do it. It's common sense.

And it's incredible how few people say, Oh, I use my to do list to get things done because that's what some guru told me. Or I read some books that's what I'm supposed to do. And they don't realize. That to-do lists are killing your productivity and they kill your productivity for a few reasons. I know I'm killing a sacred cow right now, but this is really, really important.

I'm not saying don't write down things. Okay. If what you do is a brain dump of here's all the things I need to get done. That's fine. What I'm saying specifically is don't run your life with a to-do list. Don't wake up in the morning and look at your to-do list. As the first place you look, you should be looking at your calendar.

Your calendar is your best todo list. And the reason todo lists are so toxic is for a few reasons.

Number one, when people look at it to do list first thing in the morning, as opposed to their calendar. Do you think the first thing they do in the morning is the important thing, the hard thing, the thing they know, they really need to get done. No, of course not. They do the easy stuff, right? They do the stuff. That's not that important. The distracting stuff. It doesn't really matter if they did. That's what we tend to do.

The second big problem with, to do lists is that they're not, there's no constraint to a Todo List. So what people do with to-do lists, they just add more and more and more and more and making them even less likely to finish what they say they're going to do. I've never met anybody who actually finishes everything they say they're going to do on there to do this. Unless they keep a calendar. They never finish everything. And this was me by the way, five years ago. I This is very autobiographical.

And the third reason this is so toxic is that when you live like this, when day after day, week after week, month after month, year after year, you don't do what you said you're going to do. You still have unfinished tasks at the end of your day on your to-do list, you are reinforcing a self image of someone who doesn't live with personal integrity. Right? That you are reinforcing another day, went by and I didn't do what I said. I'm going to do. I lied to myself yet again, I didn't go to the gym. I didn't finish that project. I didn't make time for my kids, whatever the case might be. I didn't do what I said I was going to do. And that over time begins to become acceptable. And that's where we really lose the war. We begin to think of ourself image as someone who just can't follow through, and then it's a lost cause as opposed to.

A timebox calendar with a timebox calendar. What we're doing is we're going to decide in advance, how we are going to spend our time. And the only metric of success is not. Did we check some time, some box off, right? That's not the metric of success.

The only metric of success is not finishing anything. The only metric of success is did we do what we said we were going to do for as long as we said we would, without distraction.

Not did I finish? Okay. This is a big. Mind shift for people. It's not about finishing the task. It's about working on the task for as long as you said you would without distraction.

And it turns out that people who use that tactic actually finish more. They are actually more productive than the to-do list people. So that's why time boxing is such an absolutely fundamentally important technique that we must use. And it's really about what I call turning our values into time. Where the first step here is to ask yourself, how, what are your values really?

That's where we start, but this is very difficult for people. Cause you know, I don't know what are my values. Instead, what I tell people to do is to look at values as attributes of the person you want to become. Okay. If values are defined as attributes of the person you want to become. So what you're going to do is to ask yourself, how would the person I want to become, spend their time.

And so here's where I give these three life domains. Have you, you are at the center of these three life domains. How would the person you want to become invest time in themselves?

View Details

Audio source: https://www.svelteradio.com/episodes/svelte-language-tools-with-simon-holthausen (55 mins in)

My blogpost: Errors are Not Exceptions

swyx: [00:00:00] A while ago, I started learning Go and found that there was an interesting difference between how Go handles errors and exceptions compared to JavaScript. So I wrote a blog post called errors versus exceptions. And that blogpost really stuck in my mind so much so that in a recent episode of Svelte Radio i pulled it out again as my unpopular opinion so here it is.

All right. Other unpopular opinions. I've got a quick one, I've been learning goal recently for my new job and I realized that. Other languages handle exceptions and errors differently than JavaScript. And I did not know that there was any other way to do this because my only prior exposure was Python and JavaScript and they treat them the same, the exact same way, but in go, or let's say in rust, you don't really throw unless you really like shit is hitting the fan and the error the program needs to end right now.

Whereas in JavaScript is pretty normal to throw. Whatever area you want. And then you would just expect someone you document that someone above should catch you. You expect someone to catch you somewhere. And then the program is going to recover and continue. From an error. And so I I realized this when I, yeah.

I was just like, exploring like, what is, what's the difference between errors and exceptions like that? I don't know if you guys have ever thought about it.

Antony: [00:01:12] I have thought about it because in Java where I originally came from, it's two very different concepts. So it and an error, sorry.

An exception is something quite normal. It's an exception to the flow of the program or the circumstance you're in. And you can even do exception, different programming, which I used to do quite a lot, where you just have. So Java has very good exception catching it. Doesn't have like JavaScript.

We have to inspect what kind of code is or read some texts out of the message. It has explicit types around what you're throwing. So you can make a catch date with multiple catches and just say this type, do this, this type, do this. So an error in Jarvis thing that if you throw an error in Java, your program equates that's the end, right?

And error is critical. It's your system is broken and you always never used them. Yeah. When you're programming regularly, you never really used it. You shouldn't use them, especially web apps, but for an exception, that exception is quite a normal thing. And it literally means the truest term. It's an exception to.

The flow you expect to be happening.

swyx: [00:02:11] Yeah. So that, that was what it took me a long while to actually get there because I've never used Java. And then th the other thing that was confusing was go actually names them the opposite way around. So which ones are errors and then areas are

Antony: [00:02:22] that's complex.

swyx: [00:02:24] So it really, really screwed me up. But anyway the unpopular opinion is you should not use. Throw in JavaScript, unless you can really, really avoid it. You should use, you should return an error or you should return it in some sort of error objects. I see Simon and give me a thumbs up. Yeah, definitely.

That

Antony: [00:02:38] is a hard wiring rework of my brain. If I was to do that, to be honest,

swyx: [00:02:43] this is so normal to throw, but we should not be randomly throwing like that. It's not, it's an abusive thrill.

Simon Holthausen: [00:02:48] There, there are concepts in, for example, a functional programming with this either. So you either return the normal thing or something that exception, so to speak, and then you are forced to handle that all the way up the chain.

But I think that's also why it hasn't gotten so popular because if you have to explicitly handle it every time, which is generally a good thing, I think. Many people are just lazy and say, okay, I'm just going to throw a, try, catch somewhere, very up the chain and just deal with it there instead of having to pass around this either all the way up.

But I think it would make for a much more robust code. More

Antony: [00:03:31] predictable quotas. If you're programming, if yeah. I if you're writing a language, like you said, um, If you make it too different to everything else, that's out there, you split the camp into two types of people as those who will adopt it and change their program habits, which should be few.

There are people who will just ignore it completely because it's so different to what they used to. And then there'll be the fanatics who absolutely just love it. The fact does everything differently. Again, be a small counter centers. Describe the. The Elm language quite well, possibly I've not looked at Allen

swyx: [00:04:00] quite possibly either or maybe yeah.

Monads yeah, and then for me, the final realization was that anytime you throw within the anything async, and the moment you have, you, you call promise and you forget to catch that error just goes out the window. It's never handled that doesn't exist and goes to the top.

I actually got mad at JavaScript. I was like, wow this is the reason we have shitty programs in Java scope because we don't have really good discipline around error handling. Anyway, that's my unpopular opinion. You should, we should stop.

Antony: [00:04:34] All right.

View Details

  • Adopting BSL to defend against AWS
  • a "truly serverless" experience for Cockroach
  • A perpetually free relational database - what Gmail did to email
  • 4 scales for cloud: Free tier -> sustained throughput -> sole tenancy for scale -> dedicated multitenancy cluster (for the big enterprise)
  • it turns out that developing a multitenant hosted service also helps develop for large enterprise that wants dedicated multitenant service

Audio source: https://changelog.com/founderstalk/75

Blogpost: Why we're relicensing CockroachDB

Share/Comment via Tweet: https://twitter.com/swyx/status/1376470276918050818

Spencer Kimball: [00:00:00] The real challenge is how do you build and deliver cockroach as a service? And that's that's where I think the future of our success is going to be made or lost. And it's a, it's a transition right now.

The world's biggest companies. They want to run a relational database themselves. They want to self hosted. They want to buy software licenses. They might want to put it in private data centers or hybrid across private and public clouds. On the other hand in five years, even those companies much less, every other startup and high growth tech company, you know, they're all going to be using databases as a service in 10 years.

The entire world will be, so we have to not just win where we originally set out to build cockroach DB , the way that you might run Oracle or Postgres, or my SQL if you're running yourself. But we have to also now succeed with Amazon as a direct competitor and Google and Microsoft at these big clouds that are offering databases as a service and doing quite well with those businesses.

So how do we deliver Cockroach as a database as a service and effectively compete? There's a lot of really interesting answers to that question. It's by no means a foregone conclusion that a company like AWS, which is the cloud vendor incumbent really has as many advantages as you might think they have.

Adam Stacoviak: [00:01:17] I didn't do that thing because unless he pays for Cockroach cloud, you say. Cockroach cloud is the simplest way to deploy a cockroach DB and is available instantly. And here's the key on AWS and Google cloud. So what's your current answer. I'm sure over time, your answer will evolve, but what's your current solution to competing with these big players?

Spencer Kimball: [00:01:38] There's a number of different aspects to the successful strategy. And as you say, ours will continue to evolve. And one is you out innovate. And I think Google is probably the only of the cloud vendors that has a truly comparable technology. Amazon's better at repackaging existing open source. And, and part of that out innovating is you may have read, we made some license changes to the core of cockroach.

So we adopted something called the BSL, and that's a, that's part of how you continue to out innovate. It gives you a little bit of protection. Then there's. The idea of being multi-cloud or cloud agnostic, and that includes private clouds. So the deployment flexibility is extremely important to the world's big companies that have been around for a couple of decades and have lots of existing investments in data centers and high value use cases that aren't going to be easily moved to the public cloud.

And so that I think is incredibly important. You know, part of something that's worth touching on further is just how much innovation can be done in the database as a service model. And that's something that we're, we're pushing really hard on right now. Ultimately we'd like to deliver databases and with a lot less friction than they currently are delivered as a service.

Right now, when you get a database as a service, there's quite a bit of cost to it. I mean, even like a sort of production ready, encrypted instance of RDS, that's sort of the minimal footprint still costs you about a hundred dollars a month. Just a lot. And you're choosing the size of nodes where those nodes are located.

And there's a number of decisions that increase the friction of the process. We'd like to drive to a world where databases are, are truly serverless. And the sense that when you get a relational database, it's something that you can pay for exactly what you use. Not worry about what kind of machines, how many and so forth, or even where they're located.

You just get a database and that database is truly capable of global operation. Hey, if you only use it, the East coast of the United States, great. You want to add the EU? That's extremely simple as, as simple, essentially as setting a different value in for a column and a table specifying what region the data should be stored in, or whether it should be global as an example.

And further, we actually think that price is a major impediment to using something like a relational database as a service we'd like to make these things perpetually free for developers for a pretty generous tier. So think about what Gmail did in 2003, where they're effectively making a gigabyte of email free.

And you know, at the time you had, it was unheard of Yahoo. Yeah. It was like five megabytes. What you got before, which it's filled up with one MP3, somebody sent you or whatever, a couple of photos. So this is a huge innovation, obviously just set a new standard for what web mail should feel like. And while Gmail is free, if you want a hundred gigabytes, you pay for it that, that extra storage space.

And that's exactly how cockroach cloud is going to feel to a developer. Like we want to make perpetually free relational databases that are. The seed of an extraordinarily powerful production database, something that can scale to run, you know, retail banking for the world's largest banks that has geo replication for a high level of resilience.

And that is capable of truly global operations. So that even a startup could use the free tier of cockroach cloud and you know, store data for customers in Brazil, in Brazil store data is for customers in Japan, in Japan, right. And give them a local experience. That's how big tech build services and applications.

We really want to make that, so that every company in the world, even every developer, like even in a hackathon can build that way. And it's, you know, ideally easier to build that way than it is to stand something up yourself in a single availability.

Adam Stacoviak: [00:05:23] That's ambitious for sure. Because one of the hardest parts is adoption and you're guaranteeing that by.

Enabling that perpetually free tier that's generous so that you can tinker in a hackathon or scale your enterprise. And it's the same coverage for cloud, right? It's the same cloud. It's not, it's not like a different version of it. It's the same version

Spencer Kimball: [00:05:44] regardless. Yeah. We want that to be a very continuous product experience.

And I think the journey that is most evocative for me is, you know, you're starting a company which, you know, I've done. Viewfinders the canonical example I was using my head. How much easier could we have made the viewfinder experience? And that's just great, right. To have that experience, to, to make product decisions is, is pretty fundamental.

But you know, the idea would be a cake. You know, Hey, you want to stand up your database, your pre-production, but you know, you have developers that are pinging it and so forth. Certainly don't have to pay for that. Right? You don't have to have this big server that's sitting there. That's almost completely idle for months.

And then you launched the first version of your software. You get something into the apps, or maybe it's in test flight or something, and you have, you know, a hundred beta users that are, are poking at it and so forth. You're still under the free tier for sure. Right? It's only when you really scaled to get more product market fit and you start having sustained high throughput, then you start to get into overages and you can pay for exactly what you're using over the free tier threshold.

And then eventually if your startup continues to succeed, you're going to want to move to sole tenancy, a dedicated cluster, as opposed to the, the cockroach cloud free tier and the overages where you're sharing a multitenancy cluster with other users. So for InfoSec reasons so that you don't have noisy neighbors and you have a very guaranteed.

Throughput exactly what you expect and there's no sort of variance in terms of your latencies and response times and so forth. And also in order to truly scale to big sizes where the, the cost is more economical, that's where you'd move to the dedicated cluster. And there you can scale to, you know really as far as your ambitions.

Adam Stacoviak: [00:07:28] Yeah. It's very similar to the, the VPs analogy, you know, where you might be in a virtual private server, you know, you're maybe have some noisy neighbors to use your example, but if you can go beyond that, maybe you get your own dedicated virtual, private server where you're not sharing, you're not in shared resources, you have your own dedicated, that seems like a very similar analogy.

So if you get that from that world, then you'll get that in the database world,

Spencer Kimball: [00:07:53] the church that's exactly accurate as an analogy. And what's. Really wonderful about this capability that we're building. The thing of it is virtualizing a big cockroach cluster and allowing many tenants to share those resources.

That's also something that's extremely interesting to big enterprise customers. They would like to have their production use cases also run on a multitenancy dedicated cluster. So one of these big clusters that, you know, we might have a public, you know, any developer can sign up with their GitHub OAuth login.

But you know, you might deliver that to a major financial services institution as a dedicated cluster, but their internal teams get to share those resources in a pool. So they don't have to say, okay, for each one of these production use cases, we have, we're going to have completely dedicated hardware, which we, you know, have to make sure its size so it can handle our peak throughput.

That's a lot of wasted resources over a hundred production use cases. If you can pull all those resources and allow the. Overages from one to use additional resources from others that might not be at peak for, but then you get to have much more efficient resource sharing. So what we're building for the public at large to really connect cockroach DB to the large audience developers out there in the world is also something that is extremely valuable to the high end dedicated cluster companies and customers.

View Details

I enjoyed learning about how Cockroach is leaderless and synchronous and that makes it a lot more resilient than alternatives.

Audio source: https://changelog.com/founderstalk/75

Spanner paper: https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf

Share/Comment via Tweet: https://twitter.com/swyx/status/1376470276918050818

Adam Stacoviak: [00:00:00] So when did you encounter the problem that you're solving today?

Spencer Kimball: [00:00:04] Yeah, so databases it turns out that they have been extraordinarily central in my career. Back as early as the.com startup. I did, we go systems we built sharded, Oracle and sharded Postgres as the two sort of flavors we supported. And I got to tell you when I was at Berkeley, I wasn't very interested in databases.

I mentioned graphics. That was really. Probably my key interest databases. I didn't take until my first and only year of grad school. And I just kinda took it to get some credits. I ended up being pretty interested in the course, but I didn't really think they'd be central to my career. But as soon as I hit the quote, unquote, real world databases became a central problem of big source of frustration at Wego.

And then when I got to Google, that was one of the first projects that got thrown onto, which was the AdWords system, which you know, was nascent then in 2002. But it was running into problems with sharded, my SQL. And you hear this word, "sharded", but it really, you know, for listeners that aren't aware of what that implies it's, it's about taking a monolithic database like Postgres or my SQL or Oracle that really is meant for you know, a single machine.

Even if that machine can be quite large and you say, well, maybe this is going to be large enough. And this is the case of ad-words when I got put on that project. So you'd say, okay, we're going to use two databases. I'll put half our customers on the first database, half on the second. And maybe at some point you start reaching capacity on those two.

And so then you say, we're gonna use four, we're going to use five, or we're going to use it got up to about 32. I think when I was at that project at Google and all these different problems started to occur as you started, you know, the application complexity became quite high. Just one ridiculous practical example:

the, my SQL databases had too many connections coming into them and you know, that started to cause them to cavitate. And so we solve these problems. Every morning, we had this ads war room to solve the latest set of problems related to this just basically scalability challenge with the database.

And you know, I would just say that in Google AdWords by the time they replaced that sharded my sequel architecture, they'd gotten to a thousand shards. So it became, you know, thousand my SQL instances. And I've heard that Facebook has hundreds of thousands of my SQL instances. So there's kind of no end to both how scalable that architecture is.

But also how much time you have to put in to truly keep scaling it. So that's, that's a scalability challenge. There's also resilience challenges. And that is you really don't want to have a database that has a primary and a secondary, and that's been the standard way to operate databases for, you know, most of my lifetime.

The problem with that solution is that the secondary. He's getting an asynchronous replication stream of data. And even if you put it in another data center, so you have a really nice failure scenario, so you can lose a data center and fail over that fail over might imply data loss because that asynchronous replication stream might not have fully made it over to the secondary when the primary dies.

So you've switched over to the secondary and you realize, Oh, wait a second. I thought I had just sent that email out as an example, but it's not in my outbox. What happened? Well, the replication stream just didn't get that email into the outbox on the secondary. So it's almost like you've moved backwards in time.

You've regressed to an earlier version of the state that you had in an application. And that causes huge headaches, right? I mean, if a data center was lost at Google back in 2004, let's say it would be many teams scrambling to figure out what might've gone wrong. You know, did we charge a customer twice?

You know, are there. Consistency problems in the data. Cause some of the stuff got replicated and some other stuff didn't and you'd have to write cleaners and scripts that would go through things. And you just try to reason through what might've gone wrong with your use case that that's not the right way to do database replication.

And certainly not. In 2020 Google started to play around with better ways to do that. As early as 2004, 2006, they built big table. Then they built in called mega store and then they built something called Spanner. And Spanner is really what inspired cockroach. And so there's scalability, there's resilience.

Those are two of the biggest problems that I've faced with databases in my career that sort of gold standard these days with databases is to do what's called consistent synchronous based replication. The popular ways to do this is something called Paxos. There's something called raft and that what they do is consensus.

So instead of just writing to a primary and asynchronously replicating to a secondary, you actually write to. Three data centers or three replication sites, and you are going to be committed if the majority of the replication sites respond positively or affirmatively to any particular, right? If, for example, you only write to one out of three data centers that write.

Can't be committed. So you need two out of the three. And so as long as you always have two out of three, if you lose any one data center out of those three, you always are guaranteed that one of the remaining two has the exact data that you need. So as long as you only lose the minority, you have total operational sort of continuity.

View Details

The tweet thread here: https://twitter.com/AdamRackis/status/1370874399390367756

This is the edited audio of our conversation; Coding Career community members can find the transcript and video on Circle!

Timestamps

  • 00:00 Introductions
  • 01:35 Coding on the Fly
  • 09:09 Use Terminology
  • 13:29 Fundamentals over Frameworks
  • 17:27 TypeScript
  • 20:18 Storytelling
  • 29:30 Misc: Ownership, System Design, Teaching
  • 37:45 Working at Spotify
  • 40:28 Svelte vs React
  • 45:45 Reading Tech Books
  • 51:21 Tech Careers in Non-Tech Hubs

View Details

This has a slow start but REALLY ramps up toward the end. Hang in there!

Also featuring the voices of 4 Phantoms - Simon Bowman, Earl Carpenter, Ramin Karimloo and John Owen-Jones.

Audio source: https://www.youtube.com/watch?v=tE6SRBnDHx8

See also: Nicole singing Never Enough

Nicole's bio on WIkipedia

View Details

Audio source: https://www.youtube.com/watch?v=bOo6XSYW66c

Spencer took on the competitive threat of OpenDoor at Zillow when he didn't need to, taking a tiny competitor startup seriously and pivoting a $5 billion company into a $30 billion one without a crisis.

News at the time:
- https://techcrunch.com/2018/04/14/zillow-surprises-investors-by-buying-up-homes/
- https://www.geekwire.com/2018/zillow-group-will-start-buying-selling-homes-taking-open-door-expanding-real-estate-footprint/

Transcript

swyx: [00:00:00] Normally, I try to make these clips under five minutes, but for today I absolutely could not because this is one of the most fascinating business stories and business moments that you can encounter. And this is the best explanation of a recent pivot that was very, very high profile and very successful. So I want to give you the story of Spencer Rascoff pivoting, Zillow as a successful company, not against the wall, and succeeding. Despite having an incumbent startup where the classic disruption theory would tell you that he had an innovator's dilemma. He got past that, and it was just nearly a train wreck, as he will tell you towards the end. But he had enough friends to give them good advice and he took it and he paused at the right time and he went for it at the right time. And it was just an amazing, amazing, real life story.

Spencer Rascoff: [00:00:51] And then I guess the second takeaway from Zillow would be the importance of disrupting yourself. And this is all about Zillow's move into ibuying and the business of buying and selling homes directly, which was a very controversial, difficult decision that I made. And it was very much the right one.

It's what moved Zillow's market cap from 5 billion. A couple of years, post IPO to 30 billion today was deciding to put at risk the core business. Of selling ads to real estate agents by launching a new business of buying homes from people, renovating them and selling them to other people. And pulling off that business transition or business extension was a lot of sleepless nights, but it was very much the right move.

Do you mind

James Besheara: [00:01:37] walking me through almost the specifics of one of those sleepless nights and what that internal dialogue was like and where that internal for use uncertainty lied?

Spencer Rascoff: [00:01:47] Sure. Let me paint a picture. So as Zillow goes public in 2006, We do 16 acquisitions. We buy Trulia, we buy StreetEasy in New York.

We buy hot pads at the top rental site. And now here we are in 2000, like 12 ish, and it's about a $5 billion market cap. We've got like a thousand employees top of the world. We won, online, real estate and we consolidated the category. Victory is ours. Okay, we're done. But then we see this startup Opendoor.

And open doors, buying homes for people sight unseen. And we're like that's crazy. That's not going to work. And we have to decide, do we enter that business? And the first, the first thought that I had and the team had was. What about the core, w we have about a billion of revenue selling ads to real estate agents.

And if we start buying houses ourselves, real estate agents, aren't gonna like that very much. Because there might not be agents in those transactions. Now, it just so happens that when we eventually entered a year or two later, we did put real estate agents in those transactions as a way to, to keep the peace.

But after I left Zillow started. Hiring those agents themselves at Zillow and cutting agents, other agents out of the transaction. And so now Zillow's in, in unchartered territory with respect to the, how the industry perceives it and that might or might not, we'll see put a strain on the core business of selling ads.

So it's very similar just to give an analogy that can listeners have experienced as a consumer. Think about the Netflix business with DVD by mail. So Netflix has a great business DVD by mail. It's probably a I dunno, $10 billion market cap company. This was whatever, five, five, 10 years ago.

What about streaming? The idea that you could press a button and start to see the movie right away on your computer was crazy. Like instead you just press a button and the DVD arrives in the mail to, two days later, but Netflix decided to disrupt their core business and shift to streaming and put at risk the whole core business and.

It worked and then they did it again when they decided to create originals. Cause like they had a great business. Now they're a $50 billion market cap, but you know what, all their content comes from the studios. And now they say we're going to create our own shows. How are the studios going to feel about that?

That's crazy. Don't do that. Like why risk it? You're doing great. They have a 300 billion market cap today. Why? Because. They pulled off the pivot to originals. So Netflix is like the rare company I can think of has done this twice. Zillow has basically done it once so far. But anyway, so back to the decision-making first risk is what happens to the industry, the perception of Zillow and the impact on the core business.

Second risk is the investor community reaction, which is to say, we had public market shareholders that are like. Don't do that. That's crazy. You've got a 95% gross margin business selling digital advertising. Why would you move into it? The business of buying and selling houses, which is cyclical, risky, complex, operationally intensive.

It's a real estate flipping business. Rather than a digital media business, you're going to trade at a lower multiple, I didn't sign up for that. I'm an internet hedge fund. I'm an internet mutual fund. Like I buy tech stocks, not real estate stocks. And so there were a lot of naysayers from that community.

And then there were naysayers from the employee community, also back to the importance of people in culture that were like, I don't get it. Like they just don't do that. Why would we risk everything for that? What is that even that. I'm compressing about six months,

James Besheara: [00:05:11] six minutes.

How did it, how did you navigate it? How did you mentally nap? Did you S did you know there, did you almost have like faces in your mind that you were going to piss off by making this decision and you were like, yes.

Spencer Rascoff: [00:05:24] It, it's very stressful as a executive, especially when you feel like you'd won, like at an earlier stage, a pivot, right?

Especially a pivot driven by your backs and feeling of necessity, right? Yeah. It's okay, COVID happened. I talked to a company today that, that ran an events business and they suck, and then COVID happened and they successfully pivoted to virtual events and it's wow Bravo but you had no other choice, in this case it's Zillow, we HAD another choice just like Netflix had a choice to not move into streaming and not to move into originals. And so the status, when the status quo, it looks attractive. It's even harder to pivot. And so what we did, I'll tell you the two steps that we took to arrive at the decision. The three steps, the first was we tracked competition closely and we started looking carefully at Opendoor data and Opendoor metrics.

How many listings do they have? How quickly are they selling? What do we think their unit- level profitability is? How much are they raising? We kept seeing them raise more and more money and we're like, okay, there must be something here. Cause smart VCs, keep throwing more money into this business. So maybe we're maybe this is a thing that was data.

Point one. Data 0.2 is we went out and did a massive amount of consumer research to sellers to understand what their pain points were on the sale process. And it came back. Crystal clear that sellers hate selling their home the conventional way, and that they prefer selling their home to an institutional buyer for a ton of reasons, the certainty, the speed, the convenience, the lots of reasons.

And so then when I was like, okay, now what and I really didn't want to move into this business of I buying. And so we launched a marketplace model and a test you

James Besheara: [00:07:03] really want to.

Spencer Rascoff: [00:07:05] I did not want to, I didn't want to. And so my sort of half measure was to launch a marketplace model where in four cities and it was four, maybe three, you could come to Zillow and you'd say, Hey, Zillow, I want to sell my house.

Go get me an offer. And we would send that home info two to five to 10 buyers in that city, other local flippers or other companies. And then a day later we would go back to the consumer to the homeowner and say, okay this guy is willing to pay 200,000 for your house. This guy's only paid two 10.

This guy is willing to pay one night. This guy says he doesn't want to buy it because it doesn't match his needs, whatever. What do you want to do? And then the seller would pick and we did all this for free just for market research. And then the seller would pick somebody and then we'd connect them and we'd get out of the middle of it.

And so my hope was that this marketplace model would work because it scales so much better than actually buying your house yourself. Us having to take possession and buy the house for 200,000 bucks and renovate it and resell it six weeks later. Anyway. What happened was homeowners loved it.

They loved selling their home in this way. Just like the research predicted it would, they would. But it was a very inconsistent user experience. We'd pass the consumer, the homeowner onto one of these local companies and the local company would retrade. Oh, did I say 200? Now that I come and I see that your roof is old, it's really 190,000, oh. I said, I would close in two weeks. Guess what? It's three weeks because my credit line's not ready or whatever. And the seller just had a really inconsistent experience. And so reluctantly. I decided we had to do it ourselves. And the next step was to go get the relevant expertise. Actually I'll tell this in more detail since you're pushing me for something.

All right. So what we did next

James Besheara: [00:08:42] and did, and by the way, did you have a coveted voice that you were listening to within or outside the company that gave you a little bit more of. Locking and locking arms were jumping together or was this kind of just one of those isolating CEO

Spencer Rascoff: [00:08:54] shit. No, I have to.

It's a good question. No, my co-founder, yeah. Are right there with me on this journey. And the three of us all staking out, slightly different positions over this, now we're probably, I think we ran the instant offers, test that marketplace test for at least six months. So we're at least a year, maybe a year and a half into this.

Yeah this decision period that I'm describing and, there'll be times when one of us will be like, yeah, we need to do this ourselves. And the other two would say no, and we're back and forth for more than a year. So what I decided to do next, once I, and the co-founders were like, okay, we need to do this.

And the board was like, okay, we need to do this. I decided to headquarter the initiative outside of headquarters. So there's those based in Seattle. And I decided it would be smart. To take two co-founders of two startups that we had acquired, who one based in San Francisco, one based in Irvine, both of whom were scrappy and had done startups that Zillow bought and had built businesses on their own and were not at headquarters.

Think back to that Expedia offsite with 70 executives talking about six Sigma, everything that, that represented this would be the opposite. My idea was to make these ninjas, Navy seals outside of the core. And so I told them in their teams from the two startups that we had acquired, like figured this out, like we're in launch in three months and we're gonna start buying houses in a couple of cities.

And I will get you a giant checkbook. Now you figure out what to do and. We were, and they worked at it and we were getting ready. We were only probably a week or two away from launching that first in that first market. And now this, Amazon talks about one way doors and two way doors, where a two way doors, a door that you can go through and then go back out.

And so that's a decision you can undo. And a one way door is one that you can't undo for Zillow. Launching Zillow offers that's a one-way door pretty much. Because once they, once we launched this, the real estate industry might freak out and, the investor community might freak out and you can't say, Oh, just kidding.

It's you can't really undo it. So a week or two before launch I. I started having some panic attacks and real ones. Not literally no. So I, no, not literally. We're getting more and more concerned. It does come up

James Besheara: [00:10:55] on the podcast.

Spencer Rascoff: [00:10:56] And I called an old friend from TPG who I'd worked with when we started Hotwire, 20 years earlier.

And he had left TPG to start a company called colony America homes, which bought tens of thousands of houses through the recession and turn them into single family rentals. And so he was the guy that I knew best who had bought the most houses. And I called him and I was like, his name is Justin Chang.

And I was like, Justin, we're about to go buy a lot of houses and flip them. What do I need to know? What have I not thought of? And I described our whole business plan and open door and the marketplace test, et cetera. And he's Dude, this is going to be a disaster. This is going to be a total shit show.

Don't what do you, what are you crazy? Because that's the week before two weeks before I described the guy in San Francisco and his team from the startup we bought and the guy in Irvine in LA from his and how I, and he's so you don't have any real estate expertise, like real estate, really?

Like nobody. And I was like it's w we've all kind of thought how he's no, no. Like institutional realtor, licensed producers, and now he's you gotta hit the brakes. You gotta talk to this guy. His name is Eric power. And I was like, Oh, okay who's Eric power.

So Eric was the, was the number two at Colony America homes. So he had also bought tens of thousands of houses. So I call Eric and I had lunch with him the next day and in LA and. I was, I told Eric this whole thing and he's wow, this is going to be a shit show. This is a disaster.

Let me give you some examples, Spencer, cause we bought tens of thousands of houses. Uh, you need to figure out what to pay for these houses and renovate them, within days and turn them so quickly. Are you ready for that? And I'll give you the example in a sec and anyway, 10 minutes in my conversation with Eric, I realized that we needed to hit the brakes.

And I made the very unpopular decision at the time. Cause we had already motivated the whole company to run hard at this opportunity to hit the brakes. And I said, we need to recruit a team and we need to get the right people on board before we can go make this one-way door decision. And so we press pause and we recruited Eric and lost about six months and in, in, in speed because.

Eric's team at Connie America homes was in the process of being bought by invitation homes. And so this whole team in Scottsdale, Arizona outside Phoenix of about 200 people were in the process of getting riffed, getting laid off by invitation homes, including Eric and his whole team. And but it took us a couple months to get through all the non-competes and all the, non poaches and whatever.

And anyway, six months later, we have this whole team that knew how to buy lots and lots of houses. During those six months, open-door continued to separate from us though. So I'm walking the halls in the Scottsdale office, the new Scottsdale office of Zillow a week or two after we launched Zillow offers.

And I'm talking to employees, I'm saying, what do you do? What do you do? And I meet this older woman and I say, what do you do? And she's Spencer, it's so great to meet you. It's an honor, you're the CEO, so cool. I'm 65 years old. I'm the world's leading expert on changing names on utility bills.

And I'm like, w what do you mean? She's I've been doing this my whole career. I know that if you buy a house in this County, in Florida, the way to change the name on that utility bill is to go to this website. I know if you buy a house in this County, in North Carolina, it's you call this lady, and she only answers the phone between 12 and 2:00 PM, two days a week.

And I know that if you buy a house with solar panels on the roof, It takes an extra three weeks because you need the lease to blah, blah, blah, blah, blah. And then the person sitting next to her, had an equal amount of completely esoteric knowledge about how to deal with solar panels and whatever, and how to change the pool maintenance contracts and so on and so forth.

And I was like, Holy cow, we dodged a bullet. Those two startup founders in San Francisco nervine they were tech people and then they were scrappy and startup-y, but boy, they didn't know anything about real estate right in that business. Where you're buying and selling homes. You're putting $200,000 per house out there.

Everyday counts. If you hold the house for just three or four more days, all the profit in the flip goes away. So speed matters. Anyway. So it was It worked is how the story ends. This is why Zillow then went from 5 billion to 30 billion and managed to disrupt itself while still actually maintaining its core business.

To the team's enormous credit, we, they managed to not have the core agent advertising business evaporate on the contrary. It's still doing quite well. And the company is prospering.

View Details

Audio source (with video): https://thisweekinstartups.com/tobi-lutke-on-shopifys-impact-on-the-creator-economy-covid-forcing-focus-early-internet-breakthroughs-evolving-as-a-remote-manager-much-more-e1184/

Software and Blacksmithing

swyx: [00:00:00] So recently Tobi Lutke, the CEO of Shopify was on theThis Week in Startups podcast with Jason Calacanis and he has some really interesting thoughts about software, which I shared. But it sounds better coming from him around why software engineering is an attractive career it's because we get to make tools that we then use to help us the next day. And so if you apply this over a 40 year career, you can really compound your productivity and your output. And here he is:

Jason Calacanis: [00:00:30] Do you still write code ever? I think sometimes. Yeah. Yeah. You miss being, 12 hour a day, coder.

Tobi Lutke: [00:00:36] Yeah, it's a really good question. I think the 12th hour day coding has never been a goal, but sometimes happened just because there wasn't anything more interesting going on in plateau and figuring something out to read like it's so in a way that's not the objective, but I love coding. I find, I think the, all, I think the narrative around programming is more interesting than people have realized just because really, since blacksmithing, we never really had a craft that makes whether the craftsman actually make their own tools.

And I think there's, the who's had it first we make two of the tools and number two, it's make us I'm making this part of it. Yeah. I think,

Jason Calacanis: [00:01:15] I mean, to make tools, right? Like you see this gorillas take sticks and stick them into the Antell to get the bugs out, to eat, to get the heads out, to eat and say

Tobi Lutke: [00:01:24] it's purely cause and effect vote for four primary purposes.

I think what we do is I'll give you a genetically no different in the last 70,000 years, we event like so the difference between aspect van, and now it's really the tools we have available that don't really invent the stories we tell each other. And it's amazing that we can put people on the moon or, go to space on your usable, the rockets and do all these things and have internet based on just to a building point to a building.

And then of course softwares, like what would you make of. Plenty of leverage because you have zero marginal cost copying infrastructure that everyone on planet earth can add to and constantly come up with trying to come up with better ideas. So I'm like, this is the thing that I'm really excited by and why I love being here programmer, because for leverage, you get as an individual, being able to build something that then is available to everyone.

It's just enormous. I'd like obviously Shopify as a good example of that. And I, I think that's that's really important. There's so many stories about, w what you said earlier is totally true about, Ethernet, like DSLR camera and an SM7B microphone.

But in a way If you need technologists to come in and make it so that someone can buy a single thing and then plug it into one thing. And then all of this needs to work well. And you need to marshal the complete infrastructure that we've built around machine learning to to take tiny microphones and make them sound good.

And we need to like all of this. Like it needs to be like significant movement to make the setup you and I have here, which we can do because we have tinkerers available to everyone, this kind of democratization of goodness studio. Yeah. It's important.

Jason Calacanis: [00:02:57] Yeah. I mean, it's really interesting.

I love the thought of the compounding nature of software and it's also happening in hardware. Now, if you just think about what happened with the smartphone revolution, If we hadn't an Apple hadn't produced and Android phones, billions of smartphones and billions of batteries and billions of charging stations and got obsessed with how fast can we charge these phones?

It would have never trickled down into your Tesla and that would have never trickled into your quad-copter. And now the quad copters, I don't know if you said Joby is going public Reid. Hoffman's taking a public Mark Pincus. I said, read on the pod, talking about it. That would have not been possible if Elon haven't made a million cars with those battery packs, because now the battery management and fast charging allows you to have a Vitol.

So you're going to be able to go from Ottawa to the airport in a veto, and it's going to have eight rotors and it's going to I would never get an, a helicopter. Those things are death traps, but a veto with eight rotors and to go out and it just the software it's like, Oh, two Rutgers are out just.

Redeploy the energy and it's done, and it feels like that's happening with software so quickly. Startups today, I had a startup that built a million dollar business, basically on Slack, like just charging people subscriptions to go into a soccer room. And I was like, there's no, you don't have any developers.

So no. We just charge people on this Stripe account to go to this landing page. And then they are in a Slack instance and we built some glue with Zapier. If this, then that. The no code startups I'm seeing, which actually is what Shopify is right too. And people can build an online store with no work.

swyx: [00:04:33] I think if you've been in software for a while, you've probably thought about this where one thing that we do builds on another thing that someone else did and so on and so on and down the stack. And it's just really empowering. And I really like this discussion from Toby.

View Details

Listen to Part 1 and the original audio source from Spotify here: https://share.transistor.fm/s/5badde12

Gustav Soderstrom: [00:00:00] So nearly a decade after Napster shut down, Lars Ulrich got another unexpected call from his manager cliff. We

Lars Ulrich: [00:00:05] got a call from cliff again, saying that Sean Parker wanted to talk

to

Gustav Soderstrom: [00:00:10] us.

I'll let Sean and Lars tell the rest of the story from

Lars Ulrich: [00:00:13] here.

Sean Parker: [00:00:14] So I finally was able to a meeting and they said we want you to come up.

We want to meet on our turf, come to our studio up North of San Francisco, where they've been operating for decades. I was very nervous. They said, come alone. Don't bring an assistant. Don't bring anyone, come by yourself,

Lars Ulrich: [00:00:33] Cliff encouraged him to come alone. And, he showed up at HQ in San Rafael and, came in and was brave walked in through the door.

And there were the fourth members of Metallica.

Sean Parker: [00:00:43] I'm walking into this room full of people who I've been in litigation with, and I've never met and they've never met me. And I'm way out numbered. Like I don't know what I'm walking into, , is this some sort of, am I going to regret?

I was sweating profusely, it wasn't even that hot. It was just like a normal. Cool day in San Francisco. And I just remember feeling like clammy and just thinking I'm like, what am I, what have I gotten myself into? Because this has all become very real now,

Lars Ulrich: [00:01:14] obviously.

None of us are assholes. None of us are nasty people. Hi, how are you? Come on in. Nice to see you. Would you like a beverage? Like some cheese, some coffee, whatever. We're trying to make him feel comfortable and obviously. It was pretty clear that he was I don't know, nervous, uncomfortable,

Sean Parker: [00:01:30] whatever somebody I and I walk in and, they're all they take me to this room kinda just like a nondescript conference room with a bunch of Metallica branded merchandise everywhere.

And. They're all sitting around the table, just waiting. And I go around and introduce myself, but it's like not a normal, it's not a normal introduction. Because we have no idea where this conversation is going to go. And the first, I don't know, hour was almost like a group therapy session.

Lars Ulrich: [00:02:02] And she came in and we try to make them feel at home and be respectful. And we had some very good healthy discussions about the past about his view and how he felt about everything that had happened in 2000, 2001. And then we talked about our experience and our version of those events.

And even though. We agreed on some things. And I think we very much felt that both of us were unprepared for what happened and making it up as we went along to the best of our ability and we said, we were quite open about that. We agreed to disagree on certain elements of it, but I think it was very respectful.

Sean Parker: [00:02:43] But when he when we got talking about what we were really feeling like, what did it feel like, to live through that kind of scrutiny and what did it feel like for him? And he made it really clear that it really hurt him that we took down all those Metallica users and I said, I kinda did that to you.

That was my. That was like, that was definitely a calculated move, to try to punish you guys for. For what you did. And then Lara said, this one was a street fight, Wilson's nothing personal. We're just two rival gangs. It was a bra. And I said, yeah, it's just, I was just 19 at the time.

So you guys were a lot more mature and really successful. And I felt powerless. And so we had this sort of kumbaya, like group therapy session and I feel like I teared up a couple of times and. Somehow out of that process, I had this realization that, so I, we had been so vilified by some, but also embraced by others.

And we were at the center of this maelstrom and Metallica was equally, had put themselves in the center of it and our experience of being in the middle of this media moment and dealing with the positive and negative ended up having way more in common with each other. Then. Then let's say if I met a random Napster fan on the street and they said, I used to download a hundred hundreds of songs on Napster.

I loved Nasser was so great. They didn't live through the street fight. So th there's this realization that I had a lot more common experiences, shared experiences with Lars than I did with most people.

Lars Ulrich: [00:04:07] There's a word you learned, that's not necessarily part of your vocabulary when you're 19 years old and full of Spock and that's the word empathy.

And so when you start understanding things from another person's point of views, your adversary, in this case, it helps a lot. And I felt a kindred spirit and Sean. And so to have the dialogue, to be able to get the points of view across, to be able to express how we ended up. In that street fight and why we ended up in that street fight and help be willing.

It was for us to pick that street fight and then get a chance to sort of 10 years later. Just explain our points of view and get that out there and get a chance to do it the right way felt so satisfying.

music: [00:04:52] Not

Gustav Soderstrom: [00:04:52] long after this meeting, Sean and Loris appeared on stage together for the first time at a press event for Metallica officially announced that they were going to add their full catalog to Spotify. And the fans loved it in 2019 alone, Spotify to stream Metallica over a billion times, Metallica gone from poster child for the war on piracy to messenger of the digital revolution, not a half bad ending to that back alley brawl.

Right. .

View Details

Audio source: https://anchor.fm/spotify-rd/episodes/00-The-most-epic-battle-in-music-history-es7j2l (10 minutes in)

  • I Disappear: https://en.wikipedia.org/wiki/I_Disappear#Release
  • Metallica v Napster Inc. lawsuit

Highly recommend subscribing to this Spotify miniseries, it is excellently produced and Episode 2 has nice technical detail on the founding of Spotify from Daniel Ek.

Gustav Soderstrom: [00:00:00] In fact, Sean estimates that about 70 million people were using Napster at the height of its popularity, but not everyone was a fan.

Lars Ulrich: [00:00:07] We were all completely in over our heads.

Gustav Soderstrom: [00:00:10] That's Lars Ulrich. You may know him as the drummer in Metallica, or you may know him as a plaintiff in the now historic Metallica versus Napster lawsuit.

Lars Ulrich: [00:00:18] It's easy to sit 20 years later and see the chain of events and how one domino would cause another domino and cause another domino to fall and so on and so forth. And then we ended up. Basically in this shitstorm and ended up, suing each other and ended up being on Capitol Hill and blah, blah, blah.

And it was such a circus. You know,

Gustav Soderstrom: [00:00:50] the circus started when Lars got a call about an unreleased Metallica track. called "I disappear" from long time manager, cliff going, "There's

Lars Ulrich: [00:00:56] a radio station in St. Louis, Missouri, that's playing "I disappear"". That was if he had called up and started speaking Russian to me. So a day or two later, I get a call back going well, there's a company called Napster who offer the service over the internet, where you can go and download songs and then people can play him. Basically long story short, we tracked down the fact that this I disappear song. That was a work in progress.

We hadn't even decided which version of the song we were going to share with the world at leaked through this Napster. And then now I think subsequently 20 or 30 radio stations in America were playing the song. We felt so, I guess violated, is the right word because the song wasn't even done and then all of a sudden it's being played on all these radio stations.

So these people took our song. So we're like, well, let's get our song back.

Gustav Soderstrom: [00:02:03] What followed was were both Lars and Sean referred to as a back alley, brawl. A back alley brawl that was about to get much, much bigger than just one song. In April, 2000 Metallica, officially filed charges. They accused Napster of "copyright infringements, unlawful use of digital audio interface, device, and violations of the racketeering influenced and corrupt organizations act".

And they sought a hundred thousand dollars per illegally downloaded song in damages. Two weeks later, Lars showed up unannounced at Napster's office. A rundown old bank building in San Mateo, California, with a special delivery for Sean and his co-founder a complete list of the 335,435 Napster users who had illegally downloaded Metallica songs, all neatly printed out on 60,000 sheets of paper.

Lars Ulrich: [00:02:56] This cavalcade of black SUV shows up and Lars, or it gets out of them with the sunglasses on. And ceremonially marches in with the first box followed by an army of people carrying the other boxes of names and made a point to do this in person, the

Gustav Soderstrom: [00:03:13] camera. So they clearly knew how media worked.

The

Lars Ulrich: [00:03:15] San Mateo police had had come because there were crowds of protesters who were angry at Metallica. And then there were crowds of Metallica supporters who were cheering them on, and then they weren't just like casual kind of looky-loos who were, who were. You know, interested in the spectacle. And, and so I, I was there when, when Laura's walked those names into our office and sort of like glanced at me and glanced at Sean, the other Sean, and it was sort of the extent of it.

Then we snuck out. So the two of us went outside and just put like hoodies on and walked across the street and just watch this bizarre spectacle,

Gustav Soderstrom: [00:03:50] but Lars wasn't the only one adept at working the media. Sean struck back hard Napster did ban the Metallica fans on largest list, but when they open up the app, every single band user, all 335,000 of them.

So a popup window that simply said band by Metallica. This was like a punch in the stomach to Lars for decades, Metallica private itself on being fan friendly. And now overnight, they were being presented as the symbol of corporate greed. The effect was immediate and devastating. We

Lars Ulrich: [00:04:21] made it about Metallica, Napster, Napster made it about Metallica and our fans.

And that was the smartest move that they could do because they, they took themselves out of the equation. But it was this thing of you're either for Napster or you're against Napster. If you're against Napster, you're greedy. And if you're against Napster, you're a Luddite and you don't understand technology.

And if you're for Metallica, then it's about money. We had always been, so fan-friendly we had always been into tape trading and we had been into sharing music through cassettes, and we had encouraged people to come and record our shows for free. And we were really pro bootlegging and all this type of stuff.

And we were sitting there going, what Metallica they talking about? We've spent 20 years being the most fan friendly band on this planet, I mean, it was so surreal because we couldn't correlate who they were talking about in the press to who, how we viewed ourselves at the time.

we may not be against giving our music for free. But you should ask us that question before you make our music available.

Gustav Soderstrom: [00:05:31] The back alley brawl had become nothing less than a national conversation about the future of music.

By July, 2000, Laura's even found himself testifying in front of the us Senate judiciary committee.

Lars Ulrich: [00:05:41] We should decide what happens to our music, not a company with no rights in all recordings, which has never invested a penny and on music or anything to do with its creation.

The choice has been taken away from

Gustav Soderstrom: [00:05:54] us. And then in 2001, just two short years after Napster had first launched a circuit court in California, ruled in favor of Metallica and issued an injunction against Napster to delete every single Metallica track from its users libraries, a task that was by definition, impossible on a peer-to-peer network.

Instead Napster voluntarily ended service and eventually filed for bankruptcy. But Sean knew instinctively what every good product person strives to understand what the consumers actually want. And once the consumers had tried it, there was no putting the genie back in the bottle.

View Details

See my notes here on DX Circle!
Audio Source: https://a16z-live.simplecast.com/episodes/a16z-infra-1-2iEyBTf5

a16z on Infra

Introductions and Backgrounds [00:00:00]

Martin Casado: [00:00:00] So this is the a16z infrastructure show. This is actually the very first one. Where are we going to be talking about infrastructure companies investing in them, building them products? It just turns out that we're three GPS at a16z, and we all have a lot of experience in info.

Like all of our companies were infrastructure companies. We do a lot of infra investing. So the way that we're going to structure this session is first, we're going to introduce, our backgrounds in context of that. Many of you know, us, many of you have worked with us. But we do want to give you a sense our relationship with infrastructure and how we went through it.

So we'll and we each go through our own kind of bios that way and I'll orchestrate that. Okay. Th then we're going to talk about why infrastructure is different. This isn't B2B, this is an enterprise, this isn't vertical SAS. It's specifically infrastructure. And it's my it's my favorite topic and my favorite area.

So we'll go through that. We've got a lot of great questions on Twitter, and so we're going to try and get through those. And then if we still have time, then we'll open up to questions. Uh, for everybody else. So that's rough, we plan to have this every two weeks and we want to cover everything as things go, we want to cover category creation and we want to cover open-source and we want to cover the shifts and go to market and the cloud and investing and everything else.

So we're going to go ahead and start with our intros and just, yeah, very quickly. So for the, if you don't know, so I'm Martine I'm a GPN Andreessen Horowitz, and. I actually want to start by introducing Ben actually having him introduce himself, but I want to let you know how I met Ben. So I was doing my PhD at Stanford in the networking space, and we spun out and we started a company called this Sera.

This is the software defined networking space. And we started it right before. Like the great recession, the nuclear winter had set in and we were struggling. And one of our investors who was also on our board was Andy Rachleff, who was actually a professor at Stanford at the time, but he's this super famous investor from benchmark.

And we were at the, we were at the bottom of the recession and we're like, we had a professor as a CEO and he needed a new CEO and we were talking with Andy Rachleff and we're like, who would be the best person on earth? It's well, there's this guy that just sold the company to HP.

And his name is Ben. And I had never heard of him at the time. And and we should talk to him. So this I, this was in 2008, so I got introduced in the band and he came in, of course, Ben's you have so insightful and he'd just done it. Like he just built a company at the same thing. And uh, so I asked Ben if he would be our CEO, actually.

Ben, do you remember what you said in response to that? I don't. I don't. I said, no, you said I'm too rich.

You're like to be CEO of a company like this. You gotta be piped in. And so instead, however, Ben and Mark invested Ben ended up joining the board. And so much of what I've learned has been with Ben. And so I thought it'd be great if Ben, most of you know him, but it'd be great if he just gave you a quick rundown of kind of his background with respect to infrastructure that we'll move on to David.

So Ben, if you wouldn't mind.

Ben Horowitz: [00:02:36] Yeah. Sure. And that, that did bring that a, man's got to know his limitations. If you know how hard a job is if you're going to give somebody a really, really hard, nearly impossible job, it's it really helps if they're not rich, I have to say, yeah, that's a good hiring tip as well.

At some point, rich people are just like, this is too hard. I'm going to the

Martin Casado: [00:02:54] beach. Things we learned multiple times, I think, in, in our

Ben Horowitz: [00:02:57] careers. Yeah. Yeah. So yeah kinda my career, actually, my, probably my career in infrastructure, I started way back when I was an engineer at Silicon graphics and kind of the first.

I was working on, we were, we had to put, we had an operating system called IRX or truss Unix-based and we were the first we had built the, the original multiprocessor machines. And so there was this task of having to. Put semaphores on all the Colonel processes and so forth so that they went collide and you wouldn't have all these weird race conditions, which was I would say probably the most complicated engineering job I ever had, but.

Eventually then eventually went to a company called Netscape where I was in charge of kind of the web servers and then we needed a directory kind of project. And so we that's where we. I got the idea to popularize LDAP and kind of make up the directory standard.

And that was like my big infrastructure thing there. And then Mark and I founded a company called LoudCloud, which was one of the first or the original kind of cloud computing company started much too early. Ironically, because there wasn't enough infrastructure like principally, there was no virtualization, for example.

And so you couldn't really do cloud computing in that way, but the tools that we had so we transformed that company into a company called Opsware and that's the one that I sell to HP, which made me to to rich, to take Martine stock.

Martin Casado: [00:04:21] And since joining Andreesen, you've done a lot of infra investing actually so comfortable.

It'd be great to just go through that a bit.

Ben Horowitz: [00:04:28] Yeah, sure. Made a bunch of introduced structure investments. The first investment I've made is on a company called Okta, which was very familiar to me from my directory days. And more recently I've invested in a company called Databricks.

And then, most recently one called any scale and Databricks is infrastructure for AI and big data. And any scale is a new way to, how do you get the kind of processing power that you need, at the growth rate that you need. Now that Moore's law is definitely not going fast enough to support the hunger of AI and it can turn it can basically Make the cloud look like your laptop and make it very easy to program in parallel.

Martin Casado: [00:05:10] Awesome. All right. Cool. So I was one of Ben's investments. He joined, we were definitely for a journalist Sarah networks. I was gonna say there was another one, sorry about that. Yeah we so very honestly I learned so much of what I know by having been on my board.

We ended up selling the company to VMware where I ran that business. And when I left, there was about a $600 million business and end to end, that was about an 11 year journey. And then I joined Andreessen Horowitz where I also focus on core infrastructure. And as part of that, I'd always heard of Dave

But I met him and I don't know if you ever have these moments where you're like, I dunno, you meet someone new and it's like talking to a long lost brother, but I feel like he's lived this parallel life to me as far as the company he's built and what he's done. And so super happy he was able to join as well.

And do you, if you're cool with it, it'd be great to get your personal journey through infra just to set the stage before we actually dive in. Sure, sure.

David Ulevitch: [00:06:03] And this is great. This is a favorite topic. So. I was one of those people probably like you Martina and who fell into infrastructure early in my computing career.

And I had an internship at a mom and pop ISP in Sydney, Diego because I had demanded to our family that we get real internet. Not like AOL or prodigy much to the dismay. I think of my sister because all her friends were, her prints were on like AOL, but when I wanted internet, so we got that. And then I was able to get an internship in eighth grade at this company and learned all about this.

This is a company that's run on Sonos and later on a Solaris, which are just a slightly marginally better than IRX that Ben was talking about. But only marginally and So I learned all about routing and networking and Unix, and started my career as a mediocre or programmer there. It was great to understand how appearing works and how the internet worked.

And I really, at that point fell in love with the internet and how it cross borders and how, you had this asymmetric opportunity to either write code or do something that could reach a whole bunch of people. And then there was sort of one technology in particular that I fell in love with, which was the DNS or the domain name system.

And I started buying domain names. I would eventually went off to to college and built a domain name management sort of service because I started to own a bunch of domain names and all these other tech people started to use my free service. And we had the founder of Rackspace using my service.

We had distinguished engineers at sun and chief scientist at Microsoft. And at that point we became big enough that we needed to build a network. And so I started to learn about things like any CAS networking and how the internet really started to come together from a commercial standpoint. And we got Rackspace that data centers, things you don't have to do any more.

Cause we have AWS and GCP and Azure, but we started to build out a global network. We got IP addresses allocated to us, and I really had an incredible experience learning how to scale up and infrastructure. And that eventually paved the way to building a company called open DNS, which was a cybersecurity company that started out.

As a consumer company to give people a faster and safer and better internet experience. Many, many millions of people wanted that none of those people wanted to pay for it. They'd rather go buy a cup of Starbucks once a month, instead of paying me three or four bucks a month for a better internet and safer internet.

But it turned out a lot of businesses were using our product and the timing, this was We started the company at the end of 2005. And so by the 2007, 2008, the iPhone was out. People were bringing all kinds of wireless devices into the office devices, you couldn't install traditional end point security onto.

And so a lot of it administrators were using open DNS to provide better protection as a network service, without having to install endpoint software, because we were delivering all of our security as a service using the DNS. And that was a novel innovation that we had. We'd come up with.

And so all these businesses were using it. None of them were paying us and we needed to make money. And so in 2009, we went through a major transition to becoming an enterprise cyber security company and starting with all those millions of free users, eventually figuring out what two ones are businesses.

And we'll talk about some of that today, but it started to go down that sort for enterprise, go to market and. That's what ended up becoming a decent sized enterprise cybersecurity company. We sold to Cisco. And like you said, we were you and I have a very mirrored career path. And in some ways I went on to run the security business at Cisco, which was a great experience working with really great people.

We had about 240,000 customers. It was really an exciting opportunity to both operate and lead at scale, we did a bunch of acquisitions and I was very happy after three and a half years in Cisco to to get a call from someone that people that know a16z well know, Jeff stump is on our team here and talk to him and Ben and you, and a whole bunch of folks.

And they've been here ever since now. It's two and a half years, and I invest in enterprise software, but a little bit of, a little bit of the infrastructure stuff. I think the one investment that we've announced in this space is is census, which sort of operated the, at the data layer. We can talk about that later.

What is Infra? [00:09:51]

Martin Casado: [00:09:51] So I think maybe for starters, especially since we've got a very varied audience, it's probably good to cover, like what infrastructure actually is. So what do we mean by infra? Why is it exciting? Why does it make sense to actually have a separate, talk around in for us?

It for traditionally has meant that the stuff that apps are dealt on. And so it, traditionally has been compute network storage. These days is everything from dev tools to security, to API APIs. But think about it is the underlying layers that we use to, to build modern compute apps.

And, it actually is quite different. Like companies and infra are, tend to be quite different than other, and that, they tend to be like quite technical. They tend to be horizontal. They they tend to have, complex insertions. They tend to be the product of. Real tactical work.

They tend to be a little disconnected from business users. And so if you look at an infrastructure company, they often look quite different than, a typical app company. But they've really had a moment in the last couple of years. If you heard names like Okta and snowflake and GitHub and Databricks and do on MuleSoft and Datadog, et cetera, et cetera, et cetera, these are all core infrastructure companies.

Will Infra Ever Be Over? [00:10:56]

And so I think, actually, it'd be interesting to hear your thoughts. Ben and David, which is, it's always been these underlying. The underlying technology, but you always have to wonder is is the day of infra ever over like steel? Are we ever done, like building like the concrete and like the rebar and whatever, and it's just about apps or is it going to continue to be a growth area?

Because this year, last year just been phenomenal for infra. And if you have any opinions on that, it would be fun to talk through it.

Ben Horowitz: [00:11:20] I think we're very far away from Infrastructure being over and it being done. And what happens is the needs of the applications change.

And then the infrastructure has to change. The kind of, one of the first big shifts in our careers in infrastructure was the shift to cloud computing, which completely changed the requirement. As one of the brilliant things about Nycira networks is that networking got completely, just got devastated in terms of all of its architectural flaws. Once you move into the cloud environment. And, we used to talk about, okay, East West traffic versus North South traffic and. You know what Cisco could do and what kind of and so forth. And then, but that happened at every layer in the stack, storage was broken, the operating systems were broken every kind of piece of infrastructure wasn't built for that kind of an architecture.

And so it has to be completely rebuilt and, and then as, things have scaled, then things have to be upgraded, on, on the other side, as we move from just procedural programming so AI, and now we're, the data is the program. There needs to be a whole tool chain to support that.

And then, a lot of people are going, Oh, wow. Like this NFT thing is an amazing craze and it seems like it popped up overnight. But the, those of us who are infrastructure, people know that this thing has been, decentralized computing. And, trustless state, across machines is something that's been worked on since 2009.

And and the first kind of cut at NFTs for things like crypto kitties blew up the infrastructure, so the infrastructure needed to be revamped. And so anytime there's a new important application need, I think, it ends up causing an evolution of the infrastructure. And that evolution of the infrastructure is, maybe the best thing to look at.

If you're trying to understand. Stan what's going to happen in the future because, like I say, a lot of people are like shocked and amazed by NFTs and they just think it's some wackadoo thing. But, for those of us who have been like an infrastructure where Oh yeah, this is coming and we're surprised it took this long.

And now that it's here, we know exactly what it is. So it's a a great way to fortune tell what's going to happen in apps world as well.

Martin Casado: [00:13:32] Yeah. Yeah. I was, I always find it interesting to walk through like the major trends that we track and infra, particularly with respect to this, because it just drags on so much behind it, an early, I think an early lesson that I learned building an infra company as.

It just seems like lower layers of the stack never go away, but there's always something that you build on top of them. And so it's almost like we're just gaining in complexity over time. And so I want to talk to a few of the trends that we track at a 16 Z and then, and then David, as I end up, it'd be great.

Trends - Data [00:13:59]

If you want to add any of them, but it'll just give you a sense of the disruptive power of infrastructure, how big the markets are, and how it, it opens up future potentials for say what's companies or investment. One of them, this is going to sound like a cliche.

But but it, I, there is a lot deep there and that is that as data. And what do we mean by data? Data is just so central to how we build businesses, right? And again, like this is one of these cliches, which everybody has been saying. It we've been saying it for 20 years, but like we have these massive proof points recently of, large companies, large startups, snowflake Databricks, for example that are centered around data, but then applications and.

And all of in front of is really to empower applications of using data for differentiation. In fact, actually, if you look at the application space, you're like okay, like what differs like three different SAS? Those let's look at three different, like whatever, three different SAS apps say that they're consumer apps.

And you're like, okay, to build one of those things, Yeah, you have to understand distributed systems, but we know that yeah, you have to build a big cloud service. You have to know that, like these things are hard things to do. But they're pretty well understood, but to actually do good personalization and actually to do good prediction, to actually use data in a way that's differentiated, that's almost where a lot of the battle has moved to.

And as a result, we're seeing this kind of explosion of companies and tooling around data. And what they're trying to do is they're trying to enable those that are building SAS apps, the ability to to do, whatever on the business side they're wanting to do with kind of higher accuracy, whether this is wait time prediction, whether this is personalization, but this is pricing, whether this is fraud detection.

And so from an investor standpoint, there's probably too many companies to track and you always have seems an infrastructure. You've got these kinds of explosions and then these contractions, right? Like you see an explosion of apps. Companies, and then they consolidate, we're seeing an explosion of data companies and they're going to consolidate.

So if you look at data as as a market segment, it's growing about twice as fast, the cagar is the rest of infrastructure. So it's a major area, it's a major area of focus and investment. And again, you've got dozens of companies that underlie it. So that's one trend that we're very focused on.

Trend - SaaS [00:15:59]

Another trend that's quite interesting is, when David Ben and I got into the game decades ago, like software companies were actually software companies. Like they shipped software that's where I cut my teeth. There's you'd write code and you'd ship it. And you built companies around that.

Like you built companies around having releases and getting them out and being able to debug remotely and supporting, complex HCLs Hardware compatibility lists. It's in different environments. And that was really what the companies looked like. These days it's very tough actually to find Harbor company or sorry, shipping software companies, almost every company is becoming basically a SAS company or an operations company.

And it's just a very. Different type of company, right? The way that you write software, the way that you support the software. It all is becoming operations and there's huge impacts to infrastructure because rather than having something that I can give to somebody else, that's easy to debug and run.

The question is how can I have high up times internally? And listen, we've seen massive increase in, or like changes in personnel. Like for example, SREs now are very much in demand. There's change in the programming style to do this change in development methodology, changing in the tool set and so forth.

So this is also another kind of cross vertical area. That's very interesting. Do you mean be, want to talk a little bit about the pro-sumer ization of infrastructure or bottom up, because that's an area that you focus on quite a bit.

Trends - Security Analytics, Billing, Metering [00:17:14]

David Ulevitch: [00:17:14] Yeah, actually I was thinking, as I'm listening to you talk about these things, I was thinking that, all of these trends are talking about have the.

These massive derivative sort of downstream effects, right? So when people talk about the massive amounts of data, that creates opportunities, not just for the storage companies and the database companies, but then it creates new opportunities for the analytics companies. It creates a new surface area for security companies to focus on data privacy and data governance and all this regulatory controls around data.

And that all of those standalone, all of those derivatives, sorry. Sort of our categories of their own. When you talk about every company is becoming a SAS company and we don't ship perpetual license software anymore. One of the things I think you and I have heard over and over again, especially when we talk to infrastructure companies and I'm sure Ben sees this as well, is that all these companies are now dealing with major issues around billing and metering of their customers.

And, AWS may have a major metering solution for being able to do billing and metering. But all of the SAS companies building on top of these platforms have almost nothing, right? There's, they're older tools around subscription billing, but not a lot around usage based billing. I'm sure companies like Twilio have had to build their own.

Then, you mentioned the SREs and all this operational sophistication that companies need that creates whole new opportunities around management tools. Around, across cloud and private cloud sort of management tools that people need. And so all these major trends end up coming up with all these derivatives categories that ended up getting created that are brand new surface areas for new companies to be made.

And many of them are just very large, even on their own. That's what I was thinking about as you were.

Martin Casado: [00:18:46] I do think it's worth it. And just a moment, we'll get more in kind of the weeds and questions that are, I know, on, on many folks minds, things like, open source and so forth.

Trends - Prosumerization of Tech [00:18:55]

But I do think it's worth talking through what makes it infrastructure companies. Different like how we look at it on

David Ulevitch: [00:19:02] the, on the bottom, on the bottoms up point, you were asking about, developers have way more power and control than they've ever had before in terms of the buying decisions of technology, especially for technology companies.

And that has changed. I think the entire go to market for infrastructure companies. You're no longer a sales person reaching out to a CIO to arrange a golf game, to talk about. While your database is better or why your data center is better. Like all those days are gone. Now you're basically doing content marketing to get somebody excited about the technology that you've created.

The developer is just going to download it. Maybe it's open source at the heart of it. They're going to download it and play with it. Or they're going to set up an account and start using it right away. They have to have time to value that's measured in minutes or hours. And then eventually you're going to start tracking all the analytics and data of how people use it.

And that then eventually feeds over to a sales person who tries to go create a much larger opportunity, but that transformation has been, I think a, not a major shift in how every infrastructure company has ever gone to market before compared to how they're going to market today.

And it's been a major re-imagining of even the stack and how sales teams and marketing teams come together inside of infrastructure companies.

Martin Casado: [00:20:12] One thing that's super, I think maybe unique to infrastructure, which is you almost have this weird barbell construction with the team, which is most infrastructure companies require a kind of a deep understanding of the market or technology, right?

Like you had to understand DNS, Ben had to understand the cloud. I had to understand the networking. And so the people that do it tend to be the, tend to be, technical founders, very focused on that. But at the same time at the same time, there's like actually tends to be a much more difficult go to market as well.

Just because, often you're selling something that's low level, that's relatively technical. Normally you're actually somewhat removed from the business, value. You're like, yes, I get the case of software defined networking, yeah. makes things operationally more flexible or like whatever it is.

It's very difficult to actually tie that to our revenue. And so I think one of the things that's tough about being a founder for an infrastructure and even an investor is you do need someone that, both has to be very good at go to market and has to be very good at tech and product.

And and we see this in a lot of the founders and then everybody up here, and I don't know, Ben, I don't want to put you too much on the spot, but you saw, like my evidence. So I just, I just look how naive I was early on. I was just so tech focused and later I just had to learn, go to market and it took about 10 years and this and that.

And I'm just wondering do you have any thoughts about how you bridge that gap either as a founder or as a board, or, how do you think through that? Because I think it is probably the broadest gap between technology and go to market in the industry.

Ben Horowitz: [00:21:37] Yeah, that's a great lead up. I would say, one, it varies a little, so it depends where in the infrastructure stack you are. So in a Sarah was, I would say the worst case scenario in terms of go to market challenge, because it was infrastructure that.

Was basically at the bottom of the stack. So if something went wrong with Nicera, then you basically get fired as the customer. And that's always a tough place to start with a new company. You really have to be. Comprehensively good at product marketing sales, lead generation story.

Every everything's gotta be exactly perfect to get that off. These days, just no matter how compelling your value proposition or how great your technology is that ends up being a thing. But it is always. I would say challenging because you are going, you're the underpinning and if your stuff doesn't work and if your company doesn't last and all the things that people have to trust about, you have to be in place and, Oh, by the way, if you ever, God forbid have some kind of breach, you'd just die right there.

A lot of the things that I look at are, most of what I do with the infrastructure companies that I'm on the board on are focused on and, helping the founders, CEO get the right kind of partners, I would say on the kind of sales and marketing side To do that product.

And I always assume that the founder doesn't quite know what they're doing. And like really one of my favorite stories on this was, Okta has got off to a very rough start because of this go to market problem. And what happened was, they had come from salesforce.com and salesforce.com had a very kind of specific go-to market idea, which worked for an app, which was, Hey, we have.

One 10th, the features of CBO, the on-premise product. So we're not going to go sell to those guys. We'll sell the guys. They can't get to because it's too heavyweight. And so they start at the bottom of the market and they work their way up. So Octa tried that, but it turns out. Little companies don't care that much about their security infrastructure.

So it was a terrible place to start. And so just, me, a lot of the things we worked on is, okay, not only are we selling to the wrong customer, but because we're selling to the wrong customer, we have the wrong channel. We have the wrong pricing. We have the wrong marketing, like everything is wrong and we have to make that shift.

And of course, once they made the shift, they went from being a company that looked like it. Wasn't going to make it to a very successful company, just highlight how important, go to market ends up being usually what makes an infrastructure company succeed or fail. Yeah. It's

Martin Casado: [00:24:08] it's just so you would hope that this is the challenge for those that have spent, whatever their schooling to learn business.

So they understand all the challenges, but in France almost, primarily product and tech founders, right? Like David like DNS, and it's interesting when you see I remember when I first met David I'm like, listen, this guy is like a head of sales, right? All he thinks about as good a marketer you've talked with Ali or any of.

Any of these founders for these companies is just, such a big focus. And even like D David, th just to pull you in really quickly, I remember you're like the last three years I've been like a student of go to market. Like, how did I. Did you know, and now as you take board seats, for example and you work with, infrastructure founders do you feel tempted to drag them into, go to market or focus on product or,

David Ulevitch: [00:24:51] yeah, I think I look, I think there's different phases of the company journey.

And I think, that when I think about my own experience and then. The companies that we work with, and then we spend time with people. Basically you have the technical founder hat, which is you need to have a technology that works. That's really good. It's differentiated at solving a real problem.

And it really, 10 X way to what the world looks like in me, to Ben's point about Salesforce. I may not do everything that the incumbent solution does, but it does something else just in a dramatically better fashion that, so you wear that technical hat and product hat and you build that, but then eventually.

Every founder sort realized. I was like, just because you build it does not mean that the customers will come. And so I found that out in multiple painful ways, because every time you solve that problem, then you want to Uplevel your company. Then you have to resolve that problem. And so figuring out and spending time with customers and really putting on that sort of sales CEO, hat, I think is one of the best ways to actually become a great CEO.

Because it means that you're listening to your customers. It means you're understanding exactly what the market is telling you. People always ask questions, like how should I price my product? What, how should I package it up? A lot of those questions actually get answered just by being in the market.

And you, as a CEO of, I think of an infrastructure company, you can't outsource that. Like you can get help from your product team, from your product marketing team, but you actually can't outsource it. You have to be out there with your customers, especially if you're aspirational and who you want your customers to be.

You can spend time with your current customers. That's great. But if you want bigger customers or you want a different segment of the customer base or a different vertical to go after, you have to get out of there. So I was spending, this is like the period of my life, where, and I think, Ben and Martina and lots of people that are listening can relate to this.

You ended up getting the, United global services and you realize that's actually a status you'd never want to get, because it means just spending too much time

Martin Casado: [00:26:34] on the road, seven years, seven years of golden services, man.

David Ulevitch: [00:26:37] It feels really good when you first get it for cancer.

Yeah.

Ben Horowitz: [00:26:41] Yeah. That's a. It's very bad for your health. It turns out.

David Ulevitch: [00:26:44] Yeah, that's right. Yeah. Ultimate Pyrrhic victory and, and but, so I really enjoyed the experience of getting out in front of customers and recognizing that the software and the services we had built in the infrastructure we had built to deliver that service.

Was powering some of the biggest companies out there are some of the companies I respected the most. And so that, and then we're actually one of the most interesting things about that journey is you actually find out your whole company really loves that experience too. Like engineers that are working on really hard engineering problems, love finding out that, you went from having your biggest deal, be like a hundred thousand dollar.

Annual deal to closing a customer, that's paying you now a million dollars a year. And like the satisfaction of knowing that, the code that you write and the services you've stood up are now I'm getting paid for in that way, because people are finding that value. Like I found that really satisfying and exhilarating, but the only way to go through that journey is I think to be as close to the customers as possible then brought up like, 500 really important threads.

You talking, he mentioned channels. He mentioned pricing. Like all of these things are things that you just have to spend a lot of time on. And the worst part about all of them is that once you actually get one working and get it right, it's only going to work for a while and you create more Slack somewhere else in the system where you dedicate your attention, but then once you then go, tighten up the Slack somewhere else, you have to come back to pricing.

You have to come back to packaging. We have to come back to your channels and distribution strategy. And that, that for the, the right kind of founders, I think is really an exciting part of the company building process.

Deplatforming and Decentralization [00:28:13]

Martin Casado: [00:28:13] Awesome. Okay. Let's I'm going to, so I think we should get a little bit into the nuts and bolts now.

There's one topic I want to go too into David. I actually, so this, we've had an amazing few years in infrastructure. Like many of the top enterprise companies are like core and for companies, it's data it's, whatever, but Going forward. There's also a lot of opportunity, both in frontier tech.

Like whether it's satellites, but we're also just seeing like the traditional players being blown up. And I know one that you've been focused on is listen. There's a lot that's going on with kind of regulation and compliance. And when you see companies taking political stands and you and I hit this and I helped run a CDN, many years ago.

And. You ran a DNS server and this has always been an issue. But often when you try and deep platform, infrastructure is what reshapes to provide hosting. And so love your thoughts on the current environment and what that might mean to infrastructure.

And those in this audience that are thinking about building infrastructure companies. Oh, yeah. We'll call

David Ulevitch: [00:29:10] this a leading question, but I know, my views on this, so I'll share them widely, which is that, I think companies have a right to operate. They want the way they want to operate.

But when I looked at what was happening, around the election, when AWS kicked parlor off their services, like I, and I say this about actually any opinion about parlor or, and, I guess I've only seen AWS do it. They want what it really is to me signaled, it was like, this is a great.

Infrastructure opportunity because for a long time, I think people felt like the lower layers of the stack were fully baked. There's no room for innovation, Azure GCP, and AWS have cornered the market on standing up hosting and infrastructure and services at those low layers. But, if you're running a service like parlor and you can just get thrown off by one of those services that, you just get thrown off by the other two as well.

Then all of a sudden. There's going to be people that are now like fully invigorated and have been now catalyzed in action to go re-imagine. How do you build truly like Bulletproof globally, distributed, decentralized hosting and infrastructure solutions. And we know that in the crypto world we're seeing this across a number of of the crypto initiatives to create file hosting, file distribution content distribution, and all of these things now are going to, I think, start to get a ton of R and D effort because one of the great things about the internet has been that it's been decentralized and, as these Cod platforms of urgent and offered a lot of flexibility, they've also now centralized a lot of that control that the internet used to de-centralized.

And so I, I get excited about the idea that, maybe parlor, which, good writtens are not good writtens, but it may end up being the greatest catalyst to re-imagining infrastructure that we thought was done fully baked in that no room left for innovation. And I'm sure someone's going to start to tie together new pieces of new ways.

And I'm excited for that.

Ben Horowitz: [00:30:56] Yeah, and really interesting on that, parlor, there's a lot of things that would be very hard to run on a decentralized service right now. Like Netflix kind of comes to mind as something you would rather not try, but parlor could definitely work. So that is a, like a really interesting idea.

Like parlor is something that you could probably decentralize right now

Martin Casado: [00:31:16] for sure. I just love the info when this whole thing went down or just funny to see the different personas and yours is definitely like the, I think the infrastructure founder view, which is, this goes down and some people like, this is good, parlor's a bad thing.

Others are like, Oh, this is council culture. This is terrible. This shouldn't happen at central ship. But my reaction was yours, which is this is totally a failure and infrastructure. That's right.

David Ulevitch: [00:31:38] Yeah. And we know it can be done the pirate failures than online the parent days, like two decades now.

And this is a site that has been legally shut down so many times. It's it's still on there. Totally. And we know what can be done, but it can be done better in a more scalable way. And in a more general purpose

Martin Casado: [00:31:52] way. So my sensibilities were totally offended just because I'm like, how is it possible that you can actually shut something like this down?

Whether it's politically the right or the wrong thing to do, I was less concerned with, it's just, when we ran a set CDN back in the early two thousands, there were these sites that like, Interpol would show up, every couple of months asking to take it down and whatever, and they would just pop up somewhere else going for, and so in this day and age, especially with crypto, the fact that you actually could cancel something means that like it's time to rethink.

The stack not by the way, because of any political agenda, positive or negative. It's just like infrastructure is meant to be ubiquitous in everywhere. And this is just, I think either a failure of imagination on the case of partner, or maybe we've gotten to a place where infrastructure, isn't what it used to be.

And that's

David Ulevitch: [00:32:35] exactly right. That's exactly right. There's still room for innovation

Open Source is becoming Irrelevant [00:32:38]

Martin Casado: [00:32:38] Let's talk opensource. I actually, so I have a bit of a, I think I'm a contrarian position on opensource. Ben, it'd be great. If you could backstop me on this one or contradicting or contradictory. Sorry.

Here's the thing. For those that are listening, what is open source? So open source has been around for quite a while. It's the idea that, if you're writing code, the code should be, visible for. For everybody so they can look whether it's, to modify it, to build a community around it, to make sure that, it's correct to to address bugs, et cetera.

This is a massive movement and, there's just been a lot of, focus on open source as the way to build these businesses. Yeah I can't help, but think that actually opensource. Is actually becoming a little bit irrelevant and not for the reasons, people say meaning it's fine to build an open-source company and it's fine to have open source, but in the era of SAS, Whether it's infrastructure satisfied in the era of you're actually running a SAS service, it's not super clear the role that open-source plays.

Certainly not as clear as it did say 10 years ago. So if I'm shipping you software, if that's my business model, I'm shipping you software open source is something that people can get and like download and run. And it's a great kind of go-to-market channel. You get, the actual users of the open source become your customers.

But if I'm building a SAS service, even if I open source the actual functionality of it, there's so much of the operations, which is actually really hard about this stuff, that is an open source, right? If you think about AWS as an open source, there's nothing open source about it. Get hub, isn't open source snowflake, isn't open source, but these are these kind of developer focused companies that are all very huge, that, and we had this question on Twitter and I think it's a great question. Like where does the source fit? It yeah. Going forward. I actually think, listen it's still like what it used to be. However I do think it's it's diminishing and relevance because the consumption model is becoming a service and listen, David, I know you've got an opinion on this.

Would love to hear that. And Ben would love to hear yours as well.

David Ulevitch: [00:34:28] I'll just say mine really quickly. Cause I, my view that people are conflating multiple things here, which is, I always view SaaS as basically a way of outsourcing IT. And so when you sign up for a SaaS service, you're effectively saying, I don't want to pay somebody inside my IT organization to run something, on-prem manage it, install patches and updates.

And so it's a little bit orthogonal and I agree with you that. People are paying for SaaS, whether it's open-source underneath the hood or not, they're not paying for open-source, they're paying for it basically to not have to pay to manage something themselves. And in fact, they often pay a premium for that.

I think the open source angle is often I'd go to marketing. What's a marketing way to get to build awareness to give people competence in your product. But I don't think that open source. Component isn't important at all. Like I'm agreeing with you, but it's really because of the framing to me is about outsourcing it.

Not about whether they're paying for software or not paying

Martin Casado: [00:35:22] for something. It's just, I've just felt like there's so much industry focused on open source. And this, I have a long personal history with open source, I've funded it, I've worked on it. I think it's fantastic. It's transformed the industry.

It will continue, but if you look at a new company in the infrastructure space, It's most likely they're going to monetize with a SAS service. Not all the case and if that's the case, it's just not super clear how relevant open-source it's like you can have it and it's great. And yeah, it's great from maybe a marketing community standpoint, but it's not clear to me that going forward, like this is the thing to rotate on.

Ben, did you have a comment?

Ben Horowitz: [00:35:51] it's funny when you think about the history of it, right? Because the thing that made open source destroy. Closed source were these big internet services because if you were running Facebook or Google, there's no way you can take a closed source piece of infrastructure and build Facebook on it.

Because if there is a bug it's way, way, not okay to be dependent on some software company to patch it and ship it to you. That's just too long, a low. And so that moved everything to the thing that made everything open source was running these big services. But when the open source became services, Themselves then the kind of value of the open source went away.

And I agree with David, it became a marketing tool. It actually is. Weirdly analogy is like an industry where, but when it went to streaming, then, the song is almost more of a marketing thing for building the brand of the artist than a way to make money. And. In a way open source is more, just a branding thing for the company and not how they make money.

They make money on the service.

Martin Casado: [00:36:54] Yeah. I mean it just, for everybody listening, we love open source. We're huge fans of it. I'm on the board of maybe seven open-source companies and they're all great. It's just, we used to hand ring as founders and investors so much about, Oh, can you do open source and still monetize it?

And we just don't worry about that anymore. If you have an open-source company, great. Don't worry about monetizing it because we know you're going to most likely monetize as a, a SAS offering. And that just doesn't count isn't cannibalized because nobody wants to operate their own infrastructure.

Infra Company Margins [00:37:22]

So I actually want to take this moment to dovetail a little bit into another question on Twitter. Which is another thing that we actually obsess about a lot, which is the margin question. So yeah, I feel like so many of the, so many of the the way to think about software companies, the unit economics came from the days of like shippable software, right?

You're like, Oh, 80% margins. Cause you ship it and people run it. But more and more in particularly for infrastructure, like we've mentioned. Like the companies are monetized as services. I think AWS, or whatever platform, any scale Databricks. And the thing about, a service, especially in infra is, the Mo the margin structure actually can start to matter.

We've been doing this internal study, hopefully it'll turn into a blog post soon, but it's interesting if you take a an average. SAS company that's built on top of the cloud. The amount of contribution that cloud has to margin to the actual cogs is significant, right? It can be like double points of margin.

And as long as the company is growing, that doesn't really matter. Especially in this macro economic time or debts, basically free, like these companies that get these great valuations cause they're growing very well. But while they're doing that, whether they're taking on VC funding or. Or whatever, they're writing all of this unoptimized code, that's running on these clouds.

And then let's assume that at some point in time, the growth slows down then margin really starts to matter. And if you've got multiple points of margin, Like the impact to the market cap of the company is significant. So let's say you've got a $20 billion company that's doing this.

The difference in 10 points of margin could be, billions of dollars in market cap. And when, and then, so you hit these very interesting situations where it totally made sense to use the public cloud early on hundred percent because you're growing very quickly. Then let's say, you saturate your market and you go public or whatever, then you slow down.

Then all of a sudden, like it's hard to pay that margin tax. And then when you have actually pretty good arguments for repatriating like Dropbox, did you basically say, listen, it will never make sense from a cashflow perspective to build a data center, but this is probably 10 billion of dollars of market cap that we can save.

Oh, sorry. I'm just, David wants to do a question. Oh yeah. So maybe, yeah. Yeah. So let me explain a little better. What I mean by this, which is if you're offering a SAS service. And let's say you're running it on AWS or you're running on the cloud. And let's assume that you're doing some level of compute while you're doing it.

Like you're paying AWS. So you actually have a co like a cogs cost, like a cost of goods. So to bring on a new customer, it's expensive. On your AWS bill, for example, that hits your balance sheet as margins. And when you're a growth company, when you're invested like, by David or Ben or myself and your invest, when you're being investigated by a VC, you don't really worry about that as much because you're growing very fast and you're mostly valued on growth, but as soon as growth slows.

It really matters and there's probably, tens of billions of dollars right now, trapped in kind of cloud margins. It's something that we're very focused on. And so I don't think that we fully rationalized how much margins are going to play a role going forward, but you have to believe with all these SAS companies, IPO, knowing that there's going to be a reckoning and Ben, I know, you've been watching the data space as well.

There's been a lot of discussions around margin. I'm wondering if you think is there a big reckoning coming where this has to be reconciled? Can we just grow forever? Is this like a non-issue.

Ben Horowitz: [00:40:34] I think that, it's funny, the data space is a little bit special with regards to your ability to get out of the monster clouds because of the data gravity problem in that let's say you're an analytics company, you have to be proximate to the data because the thing that's more expensive than the regular, storage and compute is bandwidth.

And specifically been with. Out of the cloud. So if you are an analytics tool and you have your own data center and you're talking to say Databricks or snowflake or Redshift and another cloud that's going to be a very expensive proposition for your customers to move that data across. Whereas moving data within a cloud of course is nothing.

So I think that's a special case, but I do think that. On the other hand for things that don't necessarily interact with a lot of other kind of components in the cloud yeah, like it's real, it is a gigantic amount of money at scale. So I do think that's going to. FIA thing for certain companies.

Here's

Martin Casado: [00:41:30] this thing I'm just kidding, just from an industry standpoint. And here's what I'm curious on. We're in this very special macro economic time where debt is very cheap, right? And the public markets are valuing. Companies based on growth. And then of course, on the private markets, we value companies a lot on growth because it's so hard to even calculate margin.

It's just so early, and they're just mature. And so let's assume that there's this whole cohort of companies in the last five years that are funded by VCs. They get to scale, they go public, they all have great growth and then they start to slow down and then you find that.

There's you know, 10 points of margin plus captured, by the cloud, this could be hundreds of billions of dollars of market cap, I just wonder if there's going to be a reckoning here. And does that mean that we're going to see a layer that optimizes that? Are we going to see repatriation or, it's a very open question in my mind.

Ben Horowitz: [00:42:21] And so what is the thing that causes debt not to be cheapest? Also, that's a macroeconomic question. These countries are printing money, like crazy good. It would basically destroy the country to raise interest rates now. It's a very. Dangerous given how much money we owe, but

Martin Casado: [00:42:39] I feel so much, it's an odd thing to say, but I feel so much of the current state of infrastructure is being dictated by exactly this, which is, it's a weird thing.

It's basically yeah. We're printing money. And a lot of it's going to AWS because we don't care about margins. That's basically the collection of it because we're just focused on growth. Uh, but if the growth slows and or infrastructure interest rates go up, I do feel we're going to have Like a significant portion of the economy is going to be trapped in this layer.

And I think it's very interesting to see whether, we can dig our way out of it. Are we going to see optimization companies? Are we going to see repatriation? This is going to blow up infrastructure yet again. I don't really know the answer.

David Ulevitch: [00:43:14] I don't know the answer either, Martin. One thing I think people underestimate is that there is a level of competition in the infrastructure space and people forget that pretty, but it's easy. It's easy to actually remember it when you need to. So I think most of us who are on boards have gotten an email at one point or another from a company that we've invested in.

It says, Hey, great news. We found out about these things called reserved instances. And all of a sudden we've lowered our Amazon bill by 25%. We're saving millions of dollars a month. And you're like, great. You figured this out now. It's fine. It's good. But the same thing happens when they say, wait a minute, we just got an incentive to move to Azure and we can save 30% on our bill.

'cause like to use the Bezos quote, " your margin is my opportunity" that will eventually get used against all the major cloud players. And even the old school providers, like the Equinixes of the world are now starting to offer more and more sort of dynamic like services elastic like services.

And I think that the margin issues and tends to solve as there's contraction in the market. And that people find ways, whether it's an overlay tools, the pride optimization, and as the virtualization to us continue to get better and better. You're just going to see more and more people be able to move more nimbly and that'll push pricing down.

Martin Casado: [00:44:26] I think. I'm going to take the, I'm going to take the counterpoint on that, which I think is totally reasonable. A reasonable thing to say is it's not an issue right now. And once it becomes an issue, like we can move workloads around or optimize here's okay. Listen, you're all you all are hearing it now.

Here's my prediction, which is there's so much money at stake. I think fractions of, a trillion dollars, right? So much money. If the macro economic environment changes that we're going to see a thermonuclear detonation on the cloud, it's just going to be like, Holy shit. We've got just, so much money in market cap trapped on this layer.

And yes, we could do these 20% optimizations, but Oh, by the way, if I have a. Focused. If I built my own data center, for example, I can drop it by a factor of 10 and we're going to see just like the cloud kind of decimated PCs. I think there's a chance that we see it moving back. Who knows, but I do think we're talking of numbers of that size, right?

David Ulevitch: [00:45:15] Yeah, but I'm okay with people building their own data centers. We, when you and I were having that discussion about parlor and infrastructure, I think that the more structure we have out there and the more choices, the better

Martin Casado: [00:45:25] that was good, every section stays relevant.

David Ulevitch: [00:45:27] There's a related point, Martine that in the discussion of sort of margin, which is that. Usually the cost of the company is incurring to run. Their service is not at all related to the way they price their offering. In fact, usually in the in fact, the best companies don't connect those things at all, because usually the customer has some axes of pricing that might be users or storage, but the actual cost of the service might be based on compute cycles or processes or something else.

And th that's actually, I think where companies need to be a little bit more in tune with what their actual costs are and what the incremental cost of a customer is, and that they can certainly do independent of the macro environment.

Martin Casado: [00:46:05] I dunno. I just think everybody talks about technical debt and we're like, Oh, it's bad but like it's all fun and games until it's a $200 billion problem. And somebody looks like, literally somebody looks at the, like the U S economy. And it was like, Oh my God. Again, like some percentage of market cap is being owned by AWS or whatever.

And then I think that people get very motivated to make big dramatic changes. And we'll just see.

View Details

After this podcast recording, I wrote Technical Community Builder is the Hottest New Job in Techwhich went into further detail on my thoughts on Community!

Audio source: https://www.heavybit.com/library/podcasts/developer-love/ep-15-learning-in-public-with-shawn-swyx-wang

SHOW NOTES

  • Geoffrey Moore’s Crossing the Chasm
  • /r/ReactJS
  • Taming the Meta Language by Cheng Lou
  • Avis is No. 2. We Try Harder
  • Metcalfe’s Law
  • Reed’s Law
  • Clubhouse
  • CMX
  • Udemy
  • The Community Fund
  • Working in Public by Nadia Eghbal
  • Hacking Communities by Laís de Oliveira
  • Prettier
  • Transistor.fm
  • Stripe

TRANSCRIPT

Patrick Woods: Awesome. Swyx, thanks so much for coming on the show today.

I'm really excited to have this conversation.

I'm sure lots of folks are aware of who you are and probably follow you on Twitter, but for those that don't, would you mind giving us a little bit of an overview about who you are and what you're working on?

Shawn "Swyx" Wang: Sure. Thanks for having me on.

Been enjoying the podcast, and this is my second Heavybit podcast alongside JAMstack radio.

So I'm Shawn, I also go by Swyx, that's my English and Chinese initials.

It's a complicated history, but I was at Netlify, passed through AWS and most recently just left AWS to join Temporal.

And have been primarily active in the front-end/ serverless space.

And I've been very interested in this whole idea of developer experience.

I did not know to call it developer love until I came across Orbit.

And I think Orbit's model is fascinating and really nails it.

But to me, the way I've been breaking down developer experience is developer tooling and developer communities.

So kind of straddling both.

I was a moderator of r/ReactJS subreddit, going from about 40,000 members to over 200,000.

Recently stepped down from that to help run the Svelte society, which is the community organization for the Svelte framework.

And I think it's just a magical thing to be able to enable a community around a certain technical topic. Patrick: Yeah. Thanks for the overview.

So you mentioned developer experience as a concept and a practice that you're very interested in.

What do you think led to that point for you?

Swyx: Honestly, it was Netlify branding their developer relations people as developer experience engineers, which I was pretty skeptical about, because if you are devrel, just say your devrel, don't try to put some unique spin on it.

But then I think they really envisioned something bigger than traditional devrel, which was building our integrations and also working on community building, which is not like me talking to everyone, but also enabling others to talk to everyone else.

And so I think many to many is a really noble goal.

It's very challenging obviously, because you have to influence without any formal authority, but it's also a very appealing goal economically, because then you don't have to scale their number of employees linearly with your number of users, which I think makes a lot of sense.

Patrick: So you mentioned developer experience for you is really comprised of tooling and communities.

Can you talk a little bit about the relationship between those two pillars?

Swyx: I don't know if I have a formal relationship in my head.

The framework that I come from is actually from Cheng Lou, who used to be on the React Core team.

I think he's on the Reason or ReScript core team now. And he gave a talk at Facebook's internal conference called Taming The Meta Language, and the argument of that--

And it's a very good talk. I recommend people check it out.

The argument on that talk was essentially that every programming language or every framework has a core and a periphery, and the more developed it gets, the core which is kind of like the code that runs, is a smaller and smaller part of it.

And really the middle language starts to go around it, which involves tutorials, docs, workshops, community, jobs, third party libraries, yada yada.

And so in his original slides, he had a long list of these things that are wrapping around a very popular framework, which for him was reacts, but you can extend this to basically anything.

But for me, I think it essentially just breaks down to, okay, the code that is not core but makes all the developer experience much better, so that's the developer tooling, and then developer communities, which is all the people around the code, which isn't core to the code, but makes using that code a lot better.

So it's just code and people.

Patrick: Yeah. I love that.

So as a project or a framework grows the core, maybe it becomes smaller as a percentage of the overall footprint with the periphery, the middle language increasing.

What's that tipping point look like, do you think, when it switches from code to community being the bigger part?

Swyx: Yeah. This is something you can tie in to Geoffrey Moore's idea of Crossing the Chasm.

So for people who haven't heard about this, it's like a five stage adoption process going from 0% of the total population to 100% of the total population.

And then it's a bell curve from 0% to a 100%.

So the early stage is kind of the hobbyists, like super early adopter types.

The only thing that they care about is this is cool.

I can hack on this in the weekends, and this is technically better on some basis, right?

Like in theory, I really want this thing to exist. I look at all the existing solutions out there and none of them fit me, because I have very specific needs.

And they don't need a lot of documentation.

They don't look for other people like, is this used in production by some big company that I recognize.

They don't think about stuff like that. They're just like, does this fit a very specific need that I have?

That's it. If it does, good. That's enough for them.

But the majority of people don't work like that. Right?

They do want to see documentation. They want to see a thriving job market.

They want to see that like whatever, Netflix has used this in production.

All that stuff that's not core to the code, but does provide some measure of faith that this is tested at scale, that this is reliable and dependable and a good technical bet.

As you go from early adopters, you cross the chasm into the early majority and the late majority. The requirements of the early adopters versus the majority are very different. The earlier adopters require a lot less essentially handholding. I'm not trying to demean the people in the majority.

They just have different needs for that specific domain.

And the people in the majority are more conservative, probably as a good measure of technological conservatism.

You don't bet early on everything because you're going to get burned.

So I think it just makes sense to bet early on some things where it really, really counts, and then just be conservative, use boring technology on everything else.

But it does make a lot of sense that the crossover is a very challenging thing.

Because when you start a framework, when you start a programming language, you're just like one person or like a small team just hacking away, right?

You just care about the code and making it run fast or more securely, or have special features that nothing else in the world has.

That's great. And then suddenly a community grows around you and then they're asking for things like, "Can you make better docs? Can you integrate with my thing? This doesn't work well with my existing worlds."

And you're like, "Okay, sure. I want you to be happy."

But that takes you further and further away from just working on the thing itself.

So I think as a project grows in importance and adoption by the majority of the community, you start to embrace different parts of the population with different needs.

And I think that that's the crossover point. I don't have a number for you, but people typically peg it at--

I don't know, 5% or 10% of the population where it really starts just crossing over already.

Because there are a lot of people in the middle.

Patrick: Thinking about your experience with the React subreddit, what were some of the learnings or observations you had as that community scaled through those different phases?

Swyx: It's a challenging one because Reddit is a constraint format.

It's essentially a link aggregator with a voting and some comments.

So, JavaScript is the largest programming language and React is the largest framework within JavaScript.

Arguably there's some other measures.

But when you have such a large community like this in a constraint format where basically only one link or one question can be in the top position when you sort by up votes, then there's a matter of what target audience do we want to target?

Because there are a lot more beginners than there are advanced people, but people come for engaging events, knowledgeable conversations.

So there's always this tension between, there's a lot of beginners who don't know any better and we should be welcoming to them, of course.

But at the same time, if we make it too beginner-focus, the events will go away, and it will lose its quality.

So there's a very challenging tension.

One of the ways in which we solve that is to basically contain the beginning of questions to a dedicated thread.

And that's something that I did when I was starting out.

Basically the promise you make is that you will answer every single question that goes in there, which is a step up from stack overflow, where you can ask a question and it just gets crickets.

Patrick: All right.

Swyx: And so that contains the beginner questions and allows other types of contents to come up, which can be more advanced.

And you try to make the two extremes happy, even though you can never really do a fantastic job.

So there are other ways, for example, you can forge the community and create as specifically beginner focused one.

But then you get what you get, which is that there won't be that many experienced people frequenting that subreddit, therefore the answers may not be as good, or you just have a glut of people asking questions and nobody's around to answer them.

Patrick: Yeah. In terms of tactics, were you the one answering the questions in the beginner thread or were there other moderators that jumped in or did the community help out?

Swyx: I started doing that. So there were some months where it was like 500 pushes and answers, and the vast majority of them were me.

Patrick: Wow.

Swyx: And it's not so bad, once you find repeats, then you can just copy and paste.

But I think when you're leading the community, you do have to lead by example, and then people who see what you're doing in the service of the community, start to jump in and help out.

That's where I recruited a couple of my other fellow moderators, because I saw that they took the initiative and joined in with no expectation of any personal benefit.

They're just serving the community.

I think there is some personal benefit in the sense of, you get to answer all these questions and you strengthen your own knowledge, which is really good.

And you also understand the pain points.

So you can go write blog posts and articles and even libraries to solve those pain points.

So having a very close ear to the ground for what people are facing helps you just be relevant to everyone else.

So I think there's a lot of benefits for doing that.

But yeah, it's actually a pretty good recruiting ground.

Basically, if you want to be a leader of the community, just act like it and people will see what you're doing, and then they'll formally give you that position.

Patrick: You mentioned that by being heavily involved with these beginner questions, things like that, it leads to inspiration for blog posts, tutorials code, things like that.

We think a lot about the second order of effects of an active community.

And one of those is content like that, where if you have a thriving community, one second order effect is you probably have ideas for blog posts, guides, tutorials, things like that.

And I'm not sure everyone realizes the sort of power of that type of output.

Swyx: Oh yeah. We have people who teach React for a living.

They actually go through the Reddit to browse for people's pain points so that they can write articles. It's pretty effective.

Patrick: Yeah. That's awesome. So you're working today with Svelte Society.

Can you tell us a little bit about what you're working on there, and the nature of the community that's around that?

Swyx: Yeah. So, Svelte Society started off as a meetup in New York, because I was friends with Rich Harris, who created Svelte.

And I had basically ignored him for a full year because I was so deep into React, that I was just like, I don't need a new framework in my life.

And I think we were both speaking at a conference and he gave a really convincing talk where I reached a point where I was just like, "Okay, I got to try this thing out."

And of course I was impressed.

Of course it solves major pain points that I had with React.

And I just ignored him for a year, because I'm one of those not early adopter types.

So there was a meetup that was going to happen in London, which is going to be this first Svelte meetup in the world.

And I was like, "We can't have that. We're in New York. We have Rich Harris in New York. We need to meet up as well."

So I just decided to tweet that.

I wanted to launch a meetup. I had no speakers, no guest list, no venue. I just set a date, that was it. And then people got together and within a week we actually organized a met up with 50 people, someone from Microsoft stepped up and offered their location.

And we did the very first Svelte meet up just scooping London, and eventually Stockholm also did one.

So eventually the three of us got together when COVID hit.

The three organizers from New York, London and Stockholm got together, and then we created Svelte Society as a global online community.

We've done two conferences, we're about to have our third in April. And a few thousand developers, I think we're at 7,000 and something. And it's a small, tiny community, but it's actually a lot of fun growing something from scratch, rather than taking over something halfway and growing into something already huge. So I'm enjoying that difference in vibe. I think that developer communities where you are not the default, so everyone comes to you as the second framework or the second tooling, is a very nice position to be in because you get people who know what they're coming to you for.

For example, when people choose React, they just choose React because they're told to do it, right?

They don't actually know the difference between JavaScript and React, or they don't know anything else apart from React.

And so some of their questions might be very off topic or just kind of not discerning.

They don't actually know what they want.

I kind of call this second framework syndrome, which is just actually like a positive.

So I need a different word than syndrome.

But essentially, once you've picked one tool in some domain, and you've gone onto the second tool, you're much more discerning and you're less likely to identify so strongly with one tool, because if you've left a tool before, you're never going to say like, "Okay, this is the solution for everything."

Because you might leave the tool for something else again.

Whereas I think people who are first time to a framework or to a tool might be too loyal to it and try to solve everything with it. And that's a recipe for pain.

Patrick: It reminds me of the classic advertising campaign from Avis.

They were number two in the market.

And so this is like 1950s, 1960s mad men era, and their whole campaign was, "Hey, we're number two. So we'll try harder for your business."

Swyx: Yeah. This is great. Acknowledge that you don't have the top spot, but there are things that you can still bring that people still really value.

And if you just say that, I think people recognize it and respect that.

I do a lot of marketing types in my line of work, and I don't like marketing that just denies reality.

I think it's way better to just accept it head on, call it out.

The other famous example is Domino's, right?

They're just like, "Hey everyone, we know our pizza sucks. We revamped it. Come try us out." And it worked.

Patrick: Big time. Yeah. Well this reminds me of a tweet you shared recently of talking about the advice, to talk about benefits versus features, but your view is that the opposite is true for developers.

Swyx: For developers.

Patrick: Yeah. Can you talk a little bit about features and benefits when it comes to communicating with developers?

Swyx: Yeah.

This is one they struggle with back and forth, and specifically the tweet is about me relearning it.

So the advice in traditional marketing is to sell benefits over features, right?

Sell people on the vision of what they will be with you rather than without you.

Instead of, you're specific how you get there.

And that's why, I guess when people sell perfume or clothes or whatever they show you someone in a fancy dress or some dude with a fancy watch on a yard or something.

It's association and that's how you do marketing in a traditional sense.

But I think developers have been lied to too much, where we just stopped believing in people in marketing.

So if you tell me your library's blazing fast, I don't know what that means.

So tell me why it's fast, show me why it's fast, don't just tell me that it's fast. Because, sure, that's a benefit.

Obviously that's an improvement to my workflow.

But if I don't know why it's fast, then I'm not going to accept it on faith, because I've been burned too much or I'm not going to be able to explain it to the rest of my team or my boss when I try to adopt it at work.

You have to have a logical reason, because there's also going to be a trade-off right?

There are some free lunches, but usually there's no free lunch.

You have to be able to answer the question of like, "What am I giving up in order to get this benefit?"

And usually, marketing you only talk about the benefits, and you don't talk about the sacrifices.

And I think that the most concise way to do all of that is to tell you how it works.

Show you under hood and give you the logical explanation for, okay, all these alternative solutions that you're used to, they all use this legacy format, and we use a different format that is just way optimized without those legacy assumptions.

In exchange for all these benefits, it will not be compatible with some legacy features that you now no longer care about.

And you're like, "Ah, okay, that is me and I'm sold."

But if you skip all of that and just go like, "This will be faster." I can't get behind that.

So I think that's my insight on developer marketing that we want to know how it works.

And I think that's which is partially why open source is something that's so appealing as well. We are able to see the code.

Patrick: Yeah. Do you think that the continuum from features to benefits, do you think where the messaging lands at the timeline maps to where a potential user is on the chasm?

Maybe early adopters care more about how it works and late majority we're about?

Swyx: Exactly.

Patrick: Yeah.

Swyx: Yeah. So I got some pushback on my tweet saying people don't understand how React works, and it's a black box to most people.

And that's true, but because React has already crossed the chasm, it doesn't have to.

So I definitely am focused more towards early adopters, because I guess I work on earlier stage companies.

If you're IBM, nobody knows how Watson fricking-- What is Watson?

I don't know, but it does Jeopardy.

I don't talk to the type of developers that buy IBM.

And no shade on them, it's just really, I think when you're dealing on cutting edge stuff you really have to open the hood.

Patrick: Yeah. Agreed. Shifting gears a bit, you champion the idea of learning in public.

And you described your writing on this topic as your most impactful essay.

So I'm really curious, how did the concept of learning in public become so central for you and your work?

Swyx: I think that it was a reflection of when you look back on your work for the past year, for me, it was like the past six months, and try to understand what parts of my work was the most impactful, and what parts of my work didn't matter at all.

I realized that it was the stuff that I did in public.

And sometimes got wrong in public that contributed most to my learning.

And I think this idea, there's a name for it. I actually got from Kelsey Hightower, who is sort of Mr. Kubernetes now.

But he's very much someone who learns in public.

Something that he just learned, he'll share it because it's was valuable to him from three to six months ago.

Therefore it will probably be valuable to a lot of other people. It may not be the most insightful thing in the world.

He's not presenting himself as the expert in something, but that's not going to stop him from sharing something fundamental that he learned, which is useful.

And if you do that, you'll not only learn faster, because you get feedback from other people.

Both from people who know more than you, and also people who are with you in your journey.

But also you get to demonstrate your interests, which is very good for your career. It's a two-way street.

It turns your network from outbound network, you reach out whenever you need a job, to an inbound network, people understand what you're into and they reach out to you for stuff that you are interested in.

And I think that's a fundamentally different way mode of operation that most developers are used to.

And they don't even realize that this is possible.

They're like, "Oh, you got to be internet famous to do this."

And surely you can get internet famous by doing this.

But to me, that's not the goal. The goal is to just have a record of what you learned.

Because when we do interviews, for example, we try to have this really lossy compression algorithm.

We compress all that we are, all that we can do and that we've done, into one piece of paper and hope that the other side has the right decompression algorithm to unpack that.

And then we complain about how broken the hiring processes, because we stick to this completely useless thing.

It's much better to have a, let's say like a site or a GitHub that just shows that I've been interested in this.

I've been hacking on this for three years and here's all the things I've done. It's instantly verifiable.

It's like a cryptographic proof of work. And you don't need some massive following for that.

All you need to do is actually do good work.

Patrick: What's a tangible example of learning in public?

What does that look like in practice?

Swyx: So one of my talks was about how React Hooks work under the hood, because Hooks were a major feature of React that were launched.

And those launched in 2018, and a lot of people were talking about it and not trusting it, because it was a little bit magical.

So I thought about this question and then I tried to make a small clone of it.

And it was just a very simple, like 29 line proof of concept. And I tweeted it out.

This is a career hack as well. Whenever you tweet about a company's products or a framework's features, probably the people who wrote that feature will see it. Especially if there's a company involved, they will have a Slack channel hooked up to their company's Twitter account. That's how it works, right? And so, Dan Abramov and the React core team actually saw it.

And it was like almost there. There's some flaws.

So he actually gave me suggestions to correct it, and I just went and did it.

And then that actually got a lot of traction.

So that actually led to a blog post, then actually led to a workshop that was conducted with egghead.io.

And then eventually a conference talk at GS conf, that was my biggest talk to date.

And all that just because I tweeted out a tiny thing that I was trying to work on myself.

And I could not have got there without help, without feedback from other people.

And the other thing is I would never have thought that this was something that I could do, like do a completely live coded presentation on stage without all this validation and support and help.

And it's one of those things where you don't know what you have until people sometimes pull it out of you when you share it.

It just wouldn't have happened if I didn't share it.

Patrick: Have you seen this concept work for non-technical people as well?

Swyx: I think so. So I used to be in finance and I still follow a lot of investing people in the investing sphere.

So, Patrick O'Shaughnessy is, I guess, a well-known investor by now.

His approach is very much in the learning public phrase as well.

So he also uses that term. But he uses it to just talk about the industries that he invest in, right?

He can be much more in-depth in, let's say, minerals or energy, but let's say if he wants to learn about tech or consumer retail or shipping, he can just invite a guest to go on his podcast and he'll talk about it.

And that's a form of learning in public as well.

You're putting a beacon out there and having real conversations.

You're never presenting yourself as an expert, but you become an expert if you do it this enough.

And the rate of learning is way faster than if you just did everything in private.

So the argument is very much like you're not putting everything in public, but if you put it just a little bit, you actually get a lot of benefits, because there's such a great network effect to learning in public.

Patrick: Yeah. It's interesting to think about the gradient of self editing that has to happen when you're deciding what to put in public versus what not to share.

Swyx: Yeah. And some people, especially women, have to do more editing, just because they get attacked more.

And that's really unfortunate, but it happens.

And I think you have to have a thick skin, actually my preferred way of saying that you should have a thick skin is that you should divorce your identity from your work. When people criticize your work, they're not criticizing you, they're criticizing the work that was produced by some past version of you. And if you're growing at all, you should look back on your work like a year from now, and just say, that was totally horrible.

So you should agree with the people who are criticizing you.

And in fact, if you build a reputation of someone who takes criticism well, then they'll criticize you more and you'll learn more.

And if you just don't take it personally, and as long as they don't make personal attacks at you, of course that's not acceptable, but if you don't take it personally, then yeah, you're totally fine.

So the way I phrased it is that you can learn so much on the internet for the low, low price of your ego, and just get you out of the way. Are you here to be good or are you here to feel good?

Patrick: That's a pretty fundamental distinction that not many people may draw.

So you've mentioned before the idea of learning in public and the phrase you use is building a habit of critical learning exhaust, which I think is very poetic.

What do you think the relationship is between learning in public and the communities you're a part of?

How do those two aspects interplay for you, do you think?

Swyx: So there's a selfish reason. And then there's a selfless reason.

The selfless reason is that I think we need to make it easier for people to learn in public, to create receptive and welcoming communities that recognize that you're just trying to improve yourself just like everyone else is improving themselves.

And sometimes we don't have a space for that. And when we don't have a space for that we just clam up and just not try.

So if we just foster a community of people who are all improving and working on things, I think that's just a better net positive for the world and net positive for everyone in that community.

The selfish reason for that is that there's a scaling law that scales beyond me.

So the way I think about this is that, there are few scaling laws.

Some people are very familiar with Metcalfe's law in tech, which is that, the value of a network scales according to a square of its number of nodes.

And that's analogous to me having a very big "Rolodex" which is like, my friend's list is very long, then I can call upon these as experts or friends or mentors whenever I want.

That's really good. But it could be better, which is what's better than Metcalfe's law?

Metcalfe's law is great. But what's really explosive is Reed's law.

So Reed's law is sort of an exponential growth of the number of nodes.

Because each of the number of nodes can form subgroups independently of the central node, which is the reason why Facebook, when it grows, the value of Facebook grows not as number of the members, it also grows by the number of interest groups within Facebook, right?

That's why Facebook groups is so powerful as a value added to Facebook, to the point where most people would just use Facebook today for Facebook groups.

And Facebook just doesn't care. Doesn't have to know.

And you can be in a thousand different groups and it doesn't matter.

But they're all valuable to you. Okay. How does that tie back to the community?

A community is a many to many ongoing sustaining relationship between all of them, and me being able to grow them.

I grow at that accelerated pace faster than Metcalfe's law, because Metcalfe's law is limited by Dunbar's number like--

Sorry, I'm pulling in so many concepts, but there's a limit to the number of people that I could possibly know.

But if I enable each of them to talk to each other and collaborate with each other, then I benefit as well, partially because I help to be a central member of that community.

But then also when I find them, they will be innovating without me there.

And that's a benefit to me as well, whether I've realized it or not.

Patrick: Yeah. The distinction between Reed's and Metcalfe's law is really quite fascinating.

Swyx: That's community. It really is, Metcalfe's law scales, but it's so much effort to add each node, because you have this central dependency, right?

Which is, let's say the company or the core team of a framework, but once you have a community, then they're just all interacting on their own basis.

And you don't really have a say, which is a little bit worrying, because it's out of your control.

It's adding value to your network, whether you've realized it or not.

Patrick: So a lot of Orbit's customers and folks in our own community have this question where they're early on their journey.

Many of their early community members are just users of their product--t he early adopters, we would call that, or the Orbit one.

And they're starting to ask this question of, what's the tipping point when a community goes from mostly people talking to the company about the product or the project to talking to each other about the project, about ideas and their job and broader concepts.

Can you talk a little bit about when you've seen that occur, and if there are any tools or tactics or frameworks that the project maintainers or the company founders can implement to accelerate that tipping point.

Swyx: Yeah. I think I definitely am not the authority on this, because I haven't seen this occur too much.

I've seen instances of it. And I just don't know if I have the authoritative story.

If said like, this is the general theory of how to make networks, I think I'd be a millionaire.

That's a very valuable information. But I'm actively researching this.

So with all that said, I think that what can be very helpful is that you make the identities and the interest graphs of your members of your network discoverable to each other.

So a lot of the times when you hire a community manager, their job is to know the community members very well, and they typically store it in their heads.

But if you have a listing of them, where people can actually independently search and discover, then you really find that independent connections start taking shape.

But you as someone who manages that community needs to make that happen.

Because that's not going to happen in any organized fashion on its own.

So one of the ways in which I do see it happening very effectively for a company or a framework is sort of an official partner designation.

So you do have the ability to bless some people as the recognized experts.

So at AWS, we have AWS Heroes, like we'll anoint like external parties as serverless heroes or data heroes or machine learning heroes.

These will be recognized experts. I just saw that Webflow actually, and Vercel have Webflow experts or like a Vercel partners program, where these are sort of the key system integrators, I think they're called, or like agencies or whatever you call it, that are very keen on working with Webflow.

So then they get a lot of benefit from associating themselves with you as experts, or just as long as they derive significant value from hiring or finding business off of you, then they're a very engaged community members, and they're very incentivized to contribute to the value of your community.

And it's just like a reinforcing loop, because as you build that then more people know to come to your community to find these people.

And because more people come to find these people then more people on the supply side sign up and it's like a demand and supply side marketplace type of thing.

So I do think that a marketplace is like the ultimate business model. I am a huge fan of marketplaces, but it can be hard to start. And sometimes you have to bootstrap one side versus the other. But essentially what you're doing is a marketplace, where you set the rules, you make it easy for people to transact and you establish reputation systems, you establish trust, you establish like this conflict or dispute resolution mechanisms.

These are all traditional forms of a marketplace, but you can actually bring all those lessons, all of it, to communities.

Patrick: I love marketplace as a metaphor for community.

Swyx: The other thing that you can do as well is to organize events.

Because I think we as humans, we like-- Okay, most of the time we like async, we like to do things on our own.

We like to build our own networks independently, but every few months we love special occasions to announce some things and to gather to celebrate something you, like a woodstock, or I don't know, basically a conference.

But the definition of a conference is changing in the COVID world.

And another thing that you can do is definitely organize events where people would just get together.

And sometimes it can just be a small dinner, let's say we can all meet up again in person.

You can just have a day when everyone just gets together and just talks, and you as a community organizer, that's a minimum viable market place, which is just like, "Hey everyone, we're all going to get to get together in this room at this time and day."

Which is what I did for my meetup, right?

There's no economic transaction, you're not taking a fee or anything, but you're just making it possible for people to find each other.

That's a marketplace.

Patrick: Thinking more broadly about communities in general.

What are some trends that you've been seeing in the way communities are being built or platforms are using or methods you're seeing as we go into 2021, and what are some of the community building concepts that you're excited about?

Swyx: Oh, I'm so into this. Yeah.

To a point where I do have an ongoing research collection about dev communities and people who are innovating in community space.

I always thought that things were sort of going online, things are going asynchronous, and then Clubhouse changed everything for me.

I realized that people actually like real-time connection and the ability to ask questions and participate in chat, and sometimes video and anti-feature, which is another interesting concept, right?

Because Zoom was the darling, and now Clubhouse is. A nd Clubhouse is like Zoom, but worse.

So yeah. I think people are realizing that connection is real.

Having events like a clear before and after is a real thing, which I think is a reversal of some of the trends that we were seeing.

We were moving towards more async online chat-based communities.

And I think now we're seeing some revival in live events and live ongoing discussions in spontaneity and imperfection.

Beyond that, I'm not really sure I have-- Okay, so the other thing that's also happening is cohorts, right?

Which Wes Kao and Gagan Biyani from Udemy are championing.

Which is basically communities gated by when people join. So most communities they're just open at all times.

So you just come on in whenever, and whenever someone says hi, they're just like, "Okay, it's another person it's not something special."

But when you make something into a cohort, suddenly groups have identities like, Oh, I'm sort of class of spring 2019.

That's Y Combinator, right? But that's also college, and that's also a cohort of communities.

And those cohorts are prebuilt, it's an event.

Everyone is new and everyone knows that there's a group that's going through the same experience as they are.

But then there's also broader group with more experience than they are. And they can access that as well.

I think cohorts are an interesting twist on how people run communities.

None of this is new, right? But we're just taking lessons from maybe other domains and applying it to online communities that may not have been applied before.

And I wish I could go back in time and tell myself from three years ago all this stuff, because I didn't know any of this, but now it's obvious.

It's obvious to me because I watch all these people closely, maybe people who are listening, if it's not obvious to you sit up and listen, because this is real.

This is very valuable. And this is happening at a very, very fast pace.

Patrick: Where would you suggest people tune in or the resources or people that you follow that are particularly insightful when it comes to these topics?

Swyx: Yeah. Wes Kao is pretty much leading the core based course league.

Rosie Sherry, from Indie Hackers is definitely collating a lot of community news.

There's also Greg Eisenberg, he runs a consultancy that starts communities for people.

The only problem I have with him is that he thinks of himself very highly.

So he rubs people the wrong way, I think. But he does have valuable insights, which is very frustrating.

Sometimes arrogant people are worth it.

Patrick: Yeah. I think it's complete opposite of someone like Rosie, who is such an intellectual heavy hitter, but also so humble.

Swyx: Yeah. I got more resources for you.

So by the way I collect all this in my circle community.

So, codingcareer.circle.so is where I collect all this information.

So there's Get Together, which is a book and podcast for people who form communities.

There is CMX Hub, which is, David Spinks, who has been doing this awhile as well.

There's a bunch of people in this community space.

Oh, Lolita Taub is a VC who just launched the community fund.

So they're specifically a venture capital firm that is focused on companies building communities and companies building tools for companies building communities there's a whole circle of that.

Patrick: Yeah.

Swyx: There's a lot of stuff. And then there's also a couple of books that people really like.

So Nadia Eghbal, Working in Public has some sense of community building in her stadiums and whatever and village metaphors.

And Laís de Oliveira, has a book on hacking communities, which I haven't read, but I've definitely singled that out for reading up.

Anyway that's just my resource dump.

And I'm keeping this list because I think it's a growing knowledge base of what it means to run a community, and what are all the different ideas that people are bringing to their communities.

Patrick: Awesome. Thanks for sharing that.

So zooming out a bit to a question that I ask pretty much every guest on the show, what do you think is the secret to building things developers love?

Swyx: So in that tweet about development marketing, I actually also mentioned another concept, which is a wow moment, right?

And I actually expanded upon that by saying a wow moment should be something that inspires you to talk to your friends, tell your friends about it.

It makes your jaw literally dropped. And it makes you never want to go back to the old way of doing things again.

It creates a clear before and after.

There was you before seeing this demo or seeing this tool, and then there's you after. And it creates a gap, because it makes everything that you used to do before the old way, you didn't even use to call it the old way. It just became the old way once you saw this new thing. And I think developers love something that takes away some pain that they might feel at their core, but maybe sometimes they don't even know that they have it.

So I'll give you one example, which is Prettier in the JavaScript ecosystem.

Anyone could have built Prettier in any of JavaScript's 25 years of existence, but nobody did.

Until it was some-- It's Christopher Chedeau, but someone just went like, "Hey, Go has this really nice formatting tool. What if we just had that in JavaScript? And what if it was just standard."

And he built it, and now it is standard in the span of two to three years in JavaScript, which is massive.

And people love Prettier for what it does. Which is pretty funny.

The thing is you'll never make everyone happy.

There's a very strong band of people in JavaScript who don't like Prettier for their own reasons.

But you make a lot of people happy and they do say that they love Prettier.

So I think that's one of those examples where, there was an old way, which is you manually formatted your code and you had code review stand up meetings, where you argued over the spacing.

I've been in those meetings, okay?

And then there's an after, with this tool, where you no longer spend any time on that, because you just have a standardized tool that just does all that for you.

So I like that. And I think that's one example of making things that developers love.

Patrick: Aside from beautiful code.

I always ask people, what's one thing you're loving right now?

Swyx: I'm loving Transistor.fm for hosting my podcasts.

I do run a couple of small podcasts, nothing like yours.

But it makes it very easy to host stuff and generates a website for you.

And it just takes away all the pain for me that I don't want to do.

So I will pick Transistor.

I guess I also pick Stripe, because it's such an easy--

I wrote a book and I run the entire fulfillment from beginning to end, and Stripe checkout was so such an easy thing to integrate that I happily paid them their 3% or whatever it is.

Patrick: Yeah.

Swyx: Not a very non-consensus pick. I have to pick Stripe. But I do have to give them credit.

Patrick: Well, you've been super generous with your time today.

We've covered a lot of really fascinating topics.

If people want to learn more about you and what you're working on, where online would you send them to go do that?

Swyx: Yeah. Thanks for having me. My Twitter is where I'm most active.

So twitter.com/swyx. And you can find my blog at swyx.io to get all my talks and book and whatever else you want to find out about these ideas.

Patrick: Awesome. Well, thanks so much for coming on the show.

Swyx: Thanks for having me.

View Details

Audio Source, and Shaan's viral thread. Transcript below.

"Write Drunk, Edit Sober" - Hemingway

What Reaction is this meant to get?

  1. LOL
  2. WTF/Outraging
  3. AWW/Heartwarming
  4. AWE/"Wow"
  5. Confirmation bias, aka "Finally, someone said it"
  6. "Did you know", aka Take a familiar thing and share a new fact about it:

  7. the Duolingo business model

  8. Tom Cruise's real name
  9. Made to Stick
  10. Contagious

How to Edit for Virality

swyx: [00:00:00] Shaan Puri had a viral tweet about clubhouse recently, and I was interested in that, but also more interested in the way that he drafted it for virality. So here he is explaining it to Sam Parr on their podcast, My First Million.

Shaan Puri: [00:00:12] I just went on this rant on the phone about this. It just came out of my mouth, but just the way I explained it here and, without the whole like, dramatized TV show script, but just the reasons why I think it's going to struggle. That was great. That was amazing. And I was like, shit, I should have wrote that down. I feel like that would have been a good piece of content. And I was like, I got to go and I hung up the phone and I went to my computer and I just typed the whole thing out

I did your tip, which was, I took a break for an hour, went and did something else, came back and I edited it for about 30 mins

Sam Parr: [00:00:40] Editing is the magic to everything. It doesn't matter if you're talking about a viral tweet, a good email, editing is the magic. They say, write drunk, edit sober.

Shaan Puri: [00:00:47] Oh, that's a great one.

I've never heard that. I love that. I used to just edit in the moment like I'd write it, that was a mistake. The tip you gave me a while back was go do other shit. Let it simmer in your head while you do other things. Don't even actively think about it. By the time you come back, you can make it twice as good in 20

Sam Parr: [00:01:02] minutes, the science behind it.

I can't tell you the exact science off the top of my head, but basically, you know how there's like a shower thought. So there's like science behind, like doing something really hard and then not doing it. And then things hit you. There's. Science behind why that works. So that's what you're doing,

Shaan Puri: [00:01:16] basically like the brain relaxes in some way.

And then when it relaxes, it's able to be creative in a new way. At the top of every page, I have a template. At the top, there's seven lines. It says, what reaction is this meant to get? And I have seven emotions. LOL like this is meant to be really funny. Is it WTF where it's like, dude, what the fuck? And that's when you're talking about something that's really unjust or people are pissed off. Then there's other ones like, Aww, something really cute. AWE awe. Like that's something that's awesome. Like, wow. That is kind of amazing.

Sam Parr: [00:01:46] So the way to go viral is you start with the emotion that you're trying to get out of someone we already know that certain emotions get more shares. For example, creating depression or sadness that doesn't get shares. Creating outrage gets far more. And what small tweaks, you can make something sad, outrageous, and that's far better.

Right.

Shaan Puri: [00:02:04] So it's either amazing. It's super funny. It's really outraging. It's really touching and heartwarming. That's another one hard to do. And then the one I had for this, which is like a new emotion, which was, I wrote FINALLY, SOMEONE SAID IT and I actually think that's its own genre that I didn't even have it in my template.

Cause I was like, I think this is going to go viral, but it doesn't match any of these. I was like, I think for some people is going to be WTF. Like, dude, this guy's a jerk. Why is he predicting failure? What an asshole. But I thought, no, it's going to go viral. Because if you say something that a lot of people have been thinking, but they've been afraid to say, or they couldn't put words around it.

Exactly. But they had this hunch. They will share it because they agree with your

Sam Parr: [00:02:39] idea. Do you have recognizing something that you feel that you weren't sure if other people feel, but you see it on paper? The emotion that you just evoked was like, finally, I didn't think I was the only one who thought, like it's a recognizing something type of vibe

Shaan Puri: [00:02:51] and they're really sharing because I, like, I knew it I'm right.

So they're not saying, wow, he's so right. They're actually saying, I'm right. Read this, this proves I'm right. Which is like a real subtle thing. But I'm so interested in studying the psychology around why people do what they do. Why do they share what they share? Because I want to grow an audience and this is the best way to grow it.

Sam Parr: [00:03:10] When I start with the emotion, then I start with. The package, like, how am I packaging this? And then I start with the headline, then the preview image.

And then I work backwards from there. the exact emotion that you just had of this guy is crazy. That is the emotion. Wow. I am trying to evoke by sharing that so I can tell that story and probably five tweets and I bet it will, like by reality, it's pretty impossible to predict. But I can bet that there's like a three out of 10 chance that it's going to hit, that it has legs.

I can say this has all the checks, all the box to get popular. Anyone who says that they're gonna be able to predict it the wrong, like Shaan's thing just reached 5 million people. He was like, this is not going to work.

Shaan Puri: [00:03:47] The other part you had there that was good is that you took a thing that we've all seen. It's a relatable. Oh yeah. I've I filled one of those in and you, so you took it. Oh, very familiar thing, but I told you the uncommon truth around it, which I think is like really cool. Like yesterday I saw, Tom cruise, his name is not Tom cruise. His real name. No. What is it? It's really Thomas Cruise Mapother IV. I don't even know how you pronounce that. Yeah. Tom Mapother versus Tom cruise. And so you take something really familiar.

We all know Tom cruise, right? Boom. Here's the uncommon did you know? And then it's like, Oh, sweet. Like, wow. You know, and that one doesn't have as much shock factor. So it won't go super viral, but it will get a lot of likes. The closer you can get to that, the surprise gap between what I thought I knew. And what's real, the more shares people will give.

Sam Parr: [00:04:29] Yeah, I think if anyone cares about this stuff, I liked the book made to stick and I liked the book contagious by Jonah Berger. Contagious made to stick as how to say something. So people remember, and contagious is a great book by this Wharton professor on how to make things get popular, how to make them spread like a virus. Hence contagious.

View Details

Audio source: https://www.youtube.com/watch?v=h6fcK_fRYaIStory source: http://www.galactanet.com/oneoff/theegg_mod.html

The Egg

By: Andy Weir

You were on your way home when you died.

It was a car accident. Nothing particularly remarkable, but fatal nonetheless. You left behind a wife and two children. It was a painless death. The EMTs tried their best to save you, but to no avail. Your body was so utterly shattered you were better off, trust me.

And that’s when you met me.

“What… what happened?” You asked. “Where am I?”

“You died,” I said, matter-of-factly. No point in mincing words.

“There was a… a truck and it was skidding…”

“Yup,” I said.

“I… I died?”

“Yup. But don’t feel bad about it. Everyone dies,” I said.

You looked around. There was nothingness. Just you and me. “What is this place?” You asked. “Is this the afterlife?”

“More or less,” I said.

“Are you god?” You asked.

“Yup,” I replied. “I’m God.”

“My kids… my wife,” you said.

“What about them?”

“Will they be all right?”

“That’s what I like to see,” I said. “You just died and your main concern is for your family. That’s good stuff right there.”

You looked at me with fascination. To you, I didn’t look like God. I just looked like some man. Or possibly a woman. Some vague authority figure, maybe. More of a grammar school teacher than the almighty.

“Don’t worry,” I said. “They’ll be fine. Your kids will remember you as perfect in every way. They didn’t have time to grow contempt for you. Your wife will cry on the outside, but will be secretly relieved. To be fair, your marriage was falling apart. If it’s any consolation, she’ll feel very guilty for feeling relieved.”

“Oh,” you said. “So what happens now? Do I go to heaven or hell or something?”

“Neither,” I said. “You’ll be reincarnated.”

“Ah,” you said. “So the Hindus were right,”

“All religions are right in their own way,” I said. “Walk with me.”

You followed along as we strode through the void. “Where are we going?”

“Nowhere in particular,” I said. “It’s just nice to walk while we talk.”

“So what’s the point, then?” You asked. “When I get reborn, I’ll just be a blank slate, right? A baby. So all my experiences and everything I did in this life won’t matter.”

“Not so!” I said. “You have within you all the knowledge and experiences of all your past lives. You just don’t remember them right now.”

I stopped walking and took you by the shoulders. “Your soul is more magnificent, beautiful, and gigantic than you can possibly imagine. A human mind can only contain a tiny fraction of what you are. It’s like sticking your finger in a glass of water to see if it’s hot or cold. You put a tiny part of yourself into the vessel, and when you bring it back out, you’ve gained all the experiences it had.

“You’ve been in a human for the last 48 years, so you haven’t stretched out yet and felt the rest of your immense consciousness. If we hung out here for long enough, you’d start remembering everything. But there’s no point to doing that between each life.”

“How many times have I been reincarnated, then?”

“Oh lots. Lots and lots. An in to lots of different lives.” I said. “This time around, you’ll be a Chinese peasant girl in 540 AD.”

“Wait, what?” You stammered. “You’re sending me back in time?”

“Well, I guess technically. Time, as you know it, only exists in your universe. Things are different where I come from.”

“Where you come from?” You said.

“Oh sure,” I explained “I come from somewhere. Somewhere else. And there are others like me. I know you’ll want to know what it’s like there, but honestly you wouldn’t understand.”

“Oh,” you said, a little let down. “But wait. If I get reincarnated to other places in time, I could have interacted with myself at some point.”

“Sure. Happens all the time. And with both lives only aware of their own lifespan you don’t even know it’s happening.”

“So what’s the point of it all?”

“Seriously?” I asked. “Seriously? You’re asking me for the meaning of life? Isn’t that a little stereotypical?”

“Well it’s a reasonable question,” you persisted.

I looked you in the eye. “The meaning of life, the reason I made this whole universe, is for you to mature.”

“You mean mankind? You want us to mature?”

“No, just you. I made this whole universe for you. With each new life you grow and mature and become a larger and greater intellect.”

“Just me? What about everyone else?”

“There is no one else,” I said. “In this universe, there’s just you and me.”

You stared blankly at me. “But all the people on earth…”

“All you. Different incarnations of you.”

“Wait. I’m everyone!?”

“Now you’re getting it,” I said, with a congratulatory slap on the back.

“I’m every human being who ever lived?”

“Or who will ever live, yes.”

“I’m Abraham Lincoln?”

“And you’re John Wilkes Booth, too,” I added.

“I’m Hitler?” You said, appalled.

“And you’re the millions he killed.”

“I’m Jesus?”

“And you’re everyone who followed him.”

You fell silent.

“Every time you victimized someone,” I said, “you were victimizing yourself. Every act of kindness you’ve done, you’ve done to yourself. Every happy and sad moment ever experienced by any human was, or will be, experienced by you.”

You thought for a long time.

“Why?” You asked me. “Why do all this?”

“Because someday, you will become like me. Because that’s what you are. You’re one of my kind. You’re my child.”

“Whoa,” you said, incredulous. “You mean I’m a god?”

“No. Not yet. You’re a fetus. You’re still growing. Once you’ve lived every human life throughout all time, you will have grown enough to be born.”

“So the whole universe,” you said, “it’s just…”

“An egg.” I answered. “Now it’s time for you to move on to your next life.”

And I sent you on your way.

View Details

Packy is a self described "narrative investor" and so does not do anything remotely close to objective analysis. But his is still a nice recap of what Twitter has done recently and could continue to do.

You can catch Twitter's Revival, Pt. 1 with Kayvon Beykpour, Twitter's head of consumer product, here.

Audio Source: https://www.notboring.co/p/how-twitter-got-its-groove-back


How Twitter Got Its Groove Back

2020 was a good year for Twitter. Since Elliott Management and Silver Lake took board seats in March, $TWTR is up 94%. As of Q3, the company had 187 million monetizable Daily Active Users (mDAU) up 29% from the previous year. For context, Facebook grew DAUs by 12% over the same period, albeit off a much higher base.

At the start of the pandemic, Twitter decided to prioritize its revenue products, and after a slow Q2 due to the pandemic, the company roared back. Revenue grew 14% YoY to $936 million in Q3, smashing estimates. Twitter has mostly focused on brand advertising to date, but aided by the rebuild of its ad server, it has started rolling out direct response ad formats, and will launch a new Mobile Application Promotion offering this year. It’s also working on tools to let SMBs better self-serve ads, overhauling what has traditionally been an absolutely terrible product.

It might be working, too. Last night, @nongaap highlighted a few ads during the Super Bowl that seem more targeted, timely, and relevant than anything I’ve ever seen on Twitter.

If Twitter finally gets ads right, that’s a huge tailwind, but the most exciting thing about Twitter is that it’s started making moves against the Fantasy Jack Twitter Roadmap.

  • Verification. After nearly four years of letting verification languish, shrouded in uncertainty, Twitter announced in November that it’s bringing back its verification program. It will keep its focus on organizations and influential individuals for now, and isn’t moving all the way towards verifying all real people and companies, but it’s a step in the right direction that shows it’s listening to users.
  • Subscription Products. While Twitter hasn’t launched any subscription products yet, it has publicly announced that it’s planning to, and that it’s being more thoughtful about it than the Prof. At the Oppenheimer Technology, Internet, and Communications Conference in August, CFO Ned Segal said:

When we think about subscription, I wouldn't want you to think too narrowly about the opportunities. There could be subscription opportunities for advertisers. There could be subscription opportunities for consumers. There could be -- whether they are people who use the service a lot to create content or those who tend to be viewing content more or those who are somewhere in between. We don't feel constrained when we think about these opportunities, and I wouldn't want you to think so either.
Notice that he didn’t mention Kim Kardashian’s 69 million followers once, but he did highlight Creators.

  • Products for Creating, Sharing, and Monetizing Ideas. This is where Twitter has gotten most aggressive recently. Let’s break it out.

In If I Ruled the Tweets, we suggested that Twitter should build or acquire products for newsletter creation, podcast consumption, and audio-only rooms, among other things. After years of soporific product development, they’re actually starting to make moves!

In December, Twitter acquired social screen-sharing app Squad and announced the launch of Spaces, its answer to audio-chat unicorn Clubhouse. Spaces lets Twitter users host conversations directly within the app, and the Squad team will work on the product.

In early January, Twitter acquired Breaker, a social podcasting app, to help build Spaces. Then, two weeks ago, on January 25th, Twitter acquired newsletter platform Revue.

Combined, these moves point to a more confident Twitter, that, election behind it and Trump out of its hair, is focused on the future. It is going to build Creator-focused products and diversify its revenue streams. The pieces are starting to come together.

Twitter’s Creator Bundle

With the launch of Twitter Spaces and the acquisition of Revue, Twitter is building a Creator ecosystem in which it keeps some of the value it creates. It’s competing with two hot, a16z-backed startups, Clubhouse and Substack, to own the conversation and the associated monetization opportunities. I think it will win the newsletter wars, which will give it a leg up in the audio wars.

When Twitter acquired Revue, Ben Thompson wrote about the acquisition, calling it “the smartest thing Twitter has done in ages.” I agree. In If I Ruled the Tweets, I used Twitter’s relationship with Substack to show how much value it gives away, writing of the fact that most Substack discovery happens on Twitter:

Who’s capturing the value here?
The writer captures value in the form of a new free or paid subscriber.
Substack captures value in the form of new paid subscribers and new writers.
Twitter captures almost zero value. You could argue that it captures a little in the form of increased engagement that it can sell ads against, but when one of its users sees a Substack post and clicks the link, she leaves Twitter and gives her attention to Substack.
Substack is in a tricky position. For writers to stick with Substack when they get big despite the 10% fee Substack charges, it will need to help them drive growth. The most effective tool that Substack has built for discovery, though, is a tool that helps people find Substacks by people they follow on Twitter!

Twitter can make the whole newsletter discovery experience more seamless and integrated by doing it all within the app, as Thompson lays out well here:

Personally, I’m watching closely and would love to switch to Twitter Newsletter as I learn more about the company’s plans for the product. It’s where I promote Not Boring anyway, and connecting with Twitter would allow me to find new readers more easily, and connect with and learn more about all of you.

For new writers, Twitter is trying to make it as easy as possible to start a newsletter, already highlighting it in the “More” menu on the web version of Twitter.

At the same time, Twitter is preparing to do battle on the audio-room front with Clubhouse via its Spaces product. It’s still in limited beta, but one of the early testers, Chris Cantino, wrote a good breakdown in Twitter Spaces: A Bright Future.

Like Substack, much of Clubhouse’s growth has come on Twitter’s back. The product initially took off when a small set of influential users shared screenshots of the app on Twitter in the spring, creating FOMO and demand, and still today, Twitter is the main distribution channel for Clubhouse. When Elon Musk went on Clubhouse last weekend, he let people know… on Twitter.

Elon Musk

@elonmuskOn Clubhouse tonight at 10pm LA time

January 31st 2021

14,010 Retweets219,395 Likes

The conversation about the conversations in Clubhouse also happen on Twitter. When I woke up the morning after Elon’s appearance, my entire feed was Tweets about what Elon said, or when he brought Robinhood’s Vlad Tenev on-stage. Clubhouse hosts even take audience questions on Twitter.

Twitter should be able to close the loop - go live, join the conversation, ask questions, and tweet about the conversation, all in real-time, in one place. Record snippets of public conversations and tweet them directly. DM other participants.

Critics argue that, yes, a theoretical Twitter could do that, but actual Twitter, the one that acquired and squandered Vine, can’t figure out search, and let DMs turn into a complete warzone, cannot. Twitter can’t build product, they say.

I’m more optimistic about Twitter’s potential here

View Details

For the record, I don't own any crypto art or endorse it. But there's clearly a movement, Dylan is constantly ahead of the rest of us, and this was a great speech.

  • Audio source: https://www.youtube.com/watch?v=hb5LapixLbk (59 mins in)
  • The sale: https://twitter.com/cryptopunksbot/status/1369812648288804865/photo/1
  • Vincenzo Peruggia: https://en.wikipedia.org/wiki/Vincenzo_Peruggia
  • Peruggia's statement: https://twitter.com/peruggia_v/status/1370258347341934593
  • Dylan's comments: https://twitter.com/zoink/status/1370649011821060097

Help share this clip: https://twitter.com/swyx/status/1371913108684349441

Sriram Krishnan: [00:00:00] Dylan Field is really very well known in our industry for being the founder and CEO of Figma. But what a lot of people may not know is he's been involved with crypto and especially CryptoPunks since the very beginning, which I think in some ways could be the beginning of where a lot of this art moment came from, and Dylan, you had quite the interesting week too, which I'll let you describe.

So can you talk to us about just crypto art, CryptoPunks? You know, your profile picture, your history there, and also what happened this year.

Dylan Field: [00:00:31] So for those who don't know, CryptoPunks was the first Ethereum crypto art project. It was created in 2017 by two visionary artists, Matt hall, and John Watkinson.

There are only 10,000 CryptoPunks, which anyone could claim for free in the early days. And of those 10,000 CryptoPunks. There are only 88 zombie punks, 24 apes, nine aliens, and exactly one alien punk smoking a pipe. His name is 7804. And I personally believe that in 100 years, we'll look back on 7804 as the Mona Lisa of digital art.

My relationship with 7804 started in January, 2018. When I bought it for 12 ETH, or 15 K USD. At that point, most CryptoPunks traded for about $100 or $200. So why would I pay 15 K for this picture of an alien? It wasn't just how rare it was though. It was rare. 7804 compelled me.

It had gravitas. I found it to be absolutely magnetic and I had a sense that others out there would feel the same way. I also believe that the question of "what is art" would propel the crypto art movement forward.

So: what is art and what does it mean to own art? What does it mean to have relationship with art in the case of crypto punks?

The answers to all these questions are unclear, which is part of why I personally find the project so, so fascinating. Let's start with "what is art". You might say that crypto punks art piece is the algorithm. Matt and John used generate images. Or we might claim that the art piece is each individual punk. I personally believe that the actual art piece is the CryptoPunks community, which has been feverously speculating on and trading punks and discussing funds over the past three and a half years.

And this might sound absurd to people listening, but many of us in the community have formed deep relationships with our punks. We set them to our avatars. We discuss them ad nauseum. We even dream about them. The punks become deeply intertwined with our identities. They effectively function as mass.

So why I sell 7804? To be completely honest is because I wanted to see 7804 become the Patron Saint of digital art, or perhaps the patron alien, if you will. It bothered me that it was not universally acknowledged that 7804 was the best, most valuable crypto punk. It bothered me that it was not a symbol for the entire crypto art movement.

And there's a paradox because 7804 can not be seen as the symbol for the crypto art movement, unless it changes hands. So I priced it at 4,200 ETH, which was extremely aggressive. It's still a believable price point for someone who resonated with 7804, as much as I did, knowing that it was bought for that price point, it would bring even more attention to her defense, to the project.

And also the 7804 as a piece of art. 7804 was purchased earlier this week by a mysterious figure known only as Peruggia. Peruggia is of course a reference to Vincenzo Peruggia who stole the Mona Lisa on August 21st 1911 and this theft was heavily covered in the news and made the Mona Lisa, the most known piece of art in the world. Since purchasing 7804 Peruggia has made a beautiful statement on Twitter, which I encourage all of you to read.

And I, as I reflect on it,, 7804 has been surprisingly emotional for me, which I think speaks to its power. It's emotional not because I think I could get more money from it, rather because I had a relationship with the work. As I reflected on that sale. I also felt a very deep bond. To Peruggia, the new owner of 7804 and I don't know who it is. I don't know what their gender is or what ethnicity they are or they live. But I have finally found someone who appreciate 7804 as much as I do. So with that it's time for me to change my mask.

Sriram Krishnan: [00:04:30] This is like an Apple keynote.

Dylan Field: [00:04:34] Hopefully it's updated for all of you. If you're out there listening, enjoy your time with 7804, but please know that owning 7804 is a paradox and possibly a curse. Because if you appreciate 7804 as much as I do, then you'll stop at nothing to make sure it's seen by everyone as the most valuable piece of digital art.

And because of that, your time will be limited with it. And when you sell, which you will, you will forever live with the question of why you parted ways with the Digital Mona Lisa.

Sriram Krishnan: [00:05:19] That was fantastic, man.

View Details

Interview source with Transcript: https://www.theverge.com/22319527/twitter-kayvon-beykpour-interview-consumer-product-decoder

Kayvon Beykpour's impressive CV: https://www.linkedin.com/in/kayvon-beykpour-2b264b4/

The growth of Topics

So health, conversations, and interests have been our big rocks for the last two and a half years. We’ve been taking bigger and bigger swings in each of those areas. At our Analyst Day event, we went in-depth on a few of them. Within “interest,” for example, last year we launched a product called Topics, which we got started — very nascent with our work there, but we’ve really accelerated. Today there’s 6,000 topics that people can follow. And it’s very simple. Rather than just following people on Twitter, you can follow a specific topic, and Twitter does the work of recommending the best content or tweets about that topic. So you don’t have to know exactly who to search for.Again, we didn’t release that at our Analyst Day event, we just gave an update on it and shared some of the substantial progress. In Q3 of this last year, we announced that there are 70 million people that have followed topics. And then just yesterday, we announced that there now are over 100 million people that have followed topics. So a pretty good clip of growth. And we’re seeing really promising signs that Topics is a really useful way for people to connect to their interests.

Reticence Taking Big Bets

This won’t be in any particular order, but when I joined the company, one of the first things that I felt was a reticence and an uneasiness around taking big bets. And I think there’s a lot of reasons for that. It’s hard to pinpoint one. Certainly, churn in leadership is one. After a revolving door of heads of product, people stop taking any product strategy particularly seriously, because it’s like, okay, well, let’s wait until that strategy changes. And so I think there was a little bit... while no one would say that explicitly, there was this reticence to commit to long-term speculative bets, because it was rare for them to be able to be seen through.So that’s one that I think was somewhat ingrained in the culture. Which is difficult. It’s difficult for PMs, engineers, designers who really want to push and evolve the product to come up against an organizational resistance that is not tuned to take big, speculative bets.

And really, unwinding that, I think, has been the biggest unlock that we’ve had as a company. Today, when we contemplate solving more ambitious customer problems and in turn, postulating more ambitious product solutions, we don’t get the “no, but” as much. Every once in a while, there’s pessimism around, “oh, can we pull that off?” But we get way more of a “yes, and” vibe, and a willingness, and a patience for terrifying, ambitious bets. Whereas three years ago, any idea you would come up with, there was just a lot of pessimism around — that’s going to take a long time to build. Which is true, we’ve got a lot of infrastructure debt to work through. And also like: that’ll never ship, that would never get approved, our customers will freak out.

Product velocity during Pandemic

I do think our pace of development has sped up. I’m trying to think about how the pandemic specifically could have impacted that. I think of it more — and this is obviously just through the lens of Twitter, not comparing it to other companies who’ve probably had their own formula here — but we have been on a multi-year journey to speed up our development. And so I would like to think that... we’ve had our own hiccups, obviously, but we’re reaping the rewards of that investment over the last few years in our process, our culture, our hiring, our infrastructure work. And so the pandemic, I would probably say it slowed us down, it slowed that journey down for a little bit, as everyone was adjusting to the new normal. I wouldn’t say that it was a net accelerant by any means.People, our team included, but people even outside of Twitter, have a lot on their minds, and it’s really stressful when you’re trying to do your job with your kids at home without child care. It’s been a taxing time for everyone, so I don’t think it was a net accelerant. What we’ve done through the pandemic, beyond just continuing to accelerate, obviously, is we did make some focusing decisions around, “Hey, these two projects that were kind of in our periphery and articulated as part of our long-term strategy” [shifted to] “this is the forefront now and all this other shit’s going to pause.” We made a bunch of those decisions that I think helped narrow the aperture, which accelerated some projects and paused or slowed down other projects.

And frankly, energy and momentum is infectious, right? As you see the company and other teams build quickly and you see customers noticing that, it inspires and motivates everyone else to want to live up to that. And so we’ve seen a bunch of that, I think, and we’re seeing it right now with Spaces.

Spaces, we love that our customers love it, but there’s a real kind of energy and movement internally at the company. I’ve been at Twitter for six years now, and I’ve never seen the level of energy and embrace around any singular project at Twitter, ever, in my time, at the risk of hyperbole. We’ve had a few of those moments with these big projects — Topics being another one in the last year — that have, I think, helped the team get through the intensity of what’s going on in the world, especially when we see that the product continues to be used and be really instrumental at a time where the world needs to communicate and learn from others about what’s happening.

View Details

Had a really good chat with Brian (Director of Content) and Ben (Co-Founder) from LogRocket and towards the end we even found out a long kept secret about Ben's JS Parody alter-ego!

Show notes and audio source: https://podrocket.logrocket.com/swyx

Share via tweet: https://twitter.com/swyx/status/1369348560198713363

View Details

See associated blogpost, Preemptive Pluralization is (Probably) Not Evil.

Clip from The Art of Product (13 mins in)

Preemptive Pluralization is Probably Not Evil

Swyx: [00:00:00] For a while I've been observing that it's much easier to take things from 2 to 3 or 3 to 4, basically anything to N, than it is to take things from 1 to 2, especially in code. And I didn't really have a frame around this until i heard this part in a recent Art of Product podcast. So I'm going to let Derrick Reimer and Ben Orenstein explain.

Derrick Reimer: [00:00:20] I'm starting to get the sense that like, all right, I can see the boundaries where the abstractions should be, where they aren't currently today and building this, like building another client, building another major integration, like this forces you to get those abstractions, right. Because, or you're going to just hack stuff in which don't want to do so once those abstractions are truly right with truly two different adapters in place, then it's going from two to three, like you said, shouldn't be that bad.

Ben Orenstein: [00:00:45] Yeah. Once you make the, like one to N abstraction . The N becomes pretty arbitrary

Derrick Reimer: [00:00:50] I'm excited for the possibilities of what that'll open up once I go into the N territory on that.

Ben Orenstein: [00:00:56] I have this theory and this is like pretty half baked.

I probably will always be half baked, but like in programming, as soon as you go from one to two, you should just go from one to N. As soon as you're like, Oh, there's not just one kind of user, there's a user and there's an admin. It's like, just assume there's going to be some number of user types and build the abstraction to handle the N and maybe by default, instead of ever assuming there's one of anything, assume there's an, if anything, and if there happens to be one great.

And then when you want to go to two or more, don't change anything. It's like, what if every time you use hasOne in rails you instead just use hasMany, and do you use map over things like, you know, map over the collection and to do that as opposed to being like there's exactly one, do the thing to it.

Derrick Reimer: [00:01:39] I've had to face a couple of those in building SavvyCal, like with respect to integrations, you know, a lot of times you end up coding things like I will assume this person will have one zoom account. So you're only allowed to have one of these types of integrations and it's like, no, I'm going to make sure it's multi, because you always remember this at Drip — we always encountered scenarios where like, couldn't imagine it when shaping the product, but sure enough, someone's like, no, I've got these two Stripe accounts and this is the exact justification. Why? And I need to do this thing. And it's like, okay, well, And it's painful having to re architect in that direction.

Ben Orenstein: [00:02:09] I've done this refactoring a million times, I'll be like, I thought there would only ever be one subscription, team, user, plan, name, address, and it always ends up being like, Oh, actually there's more. I've done this a million times. I always never go the other way. What if you just paid the upfront cost of thinking: "this is just always a collection"?

So given that, what should I do and solve that problem as part of the initial design, never build up all these assumptions about singleness and then you have effortless expansion into the N over time. Yeah.

Derrick Reimer: [00:02:40] Like as much as you can centralize your logic around accessing, like, if you're treating it as one for now, the hard part is sometimes to not sprinkle hacky things all over the place, like always taking the first element off the array, basically.

If you can centralize that in one place so that if you end up expanding it down the line, it's pretty, you only have to change in one place. That's, I've found I've had to refactor that multiple times in that direction. Totally.

Ben Orenstein: [00:03:04] Yeah. This comes up in Ruby in particular. I think this is almost extra true for Ruby because you end up with nil in certain places.

Like if you're like user dot address dot capitalize or whatever, it's like, Oh, address was nil. So you can't call it capitalized. But if you say like user dot address dot map, capitalize. It's like, okay, well, if it's an empty array, no problem. That's just you'll have an empty array or at the end.

And if it's got one thing in it, you get that. And if it's got a thousand things in it, you get that. And it's just ah, like the map abstraction just clears this up for you and handles those cases. And you're never calling stuff on nail. Like right now in Tuple, it's like, you can be on one team.

It's like, yep. It might be nice to change that one day, but just imagine the magnitude of that change. It's huge. Whereas if we just said users could have many teams and in practice, they only have one, but we just know this always comes back with the collection. And so we operate on that collection and then some day later we changed that and it's like, Oh, this isn't, this actually is way easier.

I guess like it doesn't impose much cost and then potentially gives you big gains later on when the world almost inevitably changes

Derrick Reimer: [00:04:10] down to at least the database layer. So you're storing it in the database as, as a one-to-many relationship. And maybe at the earliest point in your code where you're touching that you're like forcing it into being a singular.

Thing... so like most of your code things, that's one thing that's still a lot easier to change than like refactoring database stuff is the worst. Like it's a lot easier to change code that operates on a database schema than it is to actually change the scheme.

Ben Orenstein: [00:04:33] But yeah, it's just everywhere.

I had just done like user dot teams dot map name. It's like, well, if it ever changes, I know I'm not gonna need to come back here and deal with this again. It's like, if you can build, if you can build in a way that you're not going to have to come back and change it, that sure is nice. If it's not too costly in abstraction complexity, this is a pet theory of mine. Next app I make, I'm just going to make everything hasMany.

Don't Go Too Far!

Derrick Reimer: [00:04:54] There's probably an extension of this where it gets too insane , like I do enjoy a good one-to-one if I know for sure. And there are cases where you know for sure that this is only gonna be one and then it's just really nice.

If you can just Rely on it being the only thing. And it's like always there. And I also like non-mental constraints. I love those, you know, it's like, Oh yeah. This thing will never be no.

Ben Orenstein: [00:05:17] absolutely good. No constraints is great. Yeah. Hammer and hammer. And as many of those as I can into the database.

So of course, neither extreme is correct here, but I think over time, part of the wisdom of being a programmer is anticipating the stuff that's going to come down the line later accurately. And so maybe what I actually just need is like a list of things where it's like, just always assume a team is going to have multiple subscriptions or an organization is going to have multiple teams.

Like, and you need another, like a layer in there. Eventually I will. Understand the one true SaaS billing, architecture, or like SaaS modeling architecture someday. That will handle all my cases.

View Details

Audio Source with transcript: https://mastersofscale.com/tyra-banks/ (11 mins in)


BANKS: I gave myself one year to be successful in Paris, and that did not mean
supermodel. That meant direct bookings, meaning a client would just call and say, "We
want Tyra." Then you don't have to be a supermodel for a client to say that. I was like, "I
am not pounding the pavement with auditions for a year.”
HOFFMAN: With only days to go before she left the country, Tyra put herself through a crash
course on designer branding.
BANKS: I found a fashion library in downtown LA. And I took the bus to the fashion
library, and the library pulled all these tapes of designers, and books, and all this type of
stuff, and I studied, studied, studied, studied.
I was like, "Yves Saint Laurent loves their women with the hair in a bun. Red lipstick.
Very elegant walking. Karl Lagerfeld, curls, fun, big pearls, smiling on the runway."
HOFFMAN: Armed with this very specific information about Fashion Week designers and their
signature runway styles, Tyra hit the streets of Paris.
BANKS: So, what I did, Reid, is before I went into every single audition, I would go
either in the alley, or on the side of the building, or in the lobby, change my hair, change
my lipstick, my makeup, and then walk what the research told me that designer liked.
Within those two weeks of doing auditions for Fashion Week, I broke history. I was the
only model that booked 25 fashion shows her first season.
HOFFMAN: This is a perfect example of how authenticity and craft come together. At every
stage of your journey, it’s important to be very strategic.
People often misinterpret authentic as, “I shouldn’t change a thing about me, no matter who I’m
talking to. I’m me, deal with it!” But I do not recommend that as a strategy when pitching
investors or onboarding clients.
A critical part of authenticity is being so confident in who you are that you don’t mind meeting
someone halfway on something simple.
Tyra didn’t change anything about herself that couldn’t be undone in the lobby of the next
building. And her willingness to do the research demonstrated a core competency that was
instantly valuable.
We don’t always discuss it, but branding is a two-way conversation. It relies on the beholder as
well as the beheld. You can still be YOU and adjust to your audience. That’s just smart selling.


BANKS: Over time, I gained some weight, if we want to talk about the booty. And every
season there were less and less designers that wanted to use me because my body was
changing.
My agent gave my mother a list of eight designers that said, "We're not using Tyra
because she's too big." By the way, I was 120 pounds, but back then it was too big.
HOFFMAN: No, I'm also aware about how crazy the world is. 120 pounds is too big,
you're like, "What?"
BANKS: “Really?”
HOFFMAN: "Okay."
BANKS: If I was 120 pounds now, you guys would be like, "Go give her a sandwich.”
My mom gave me this list, and I start crying. I was like, "I don't know what to do. I gave
up college for this. Okay, I guess I need to like eat super salads for breakfast, lunch, and
dinner.” And my mom just shook me. She took my arms, and she shook me, and she
says, "I will be damned if my baby starves for these btches in black." Because she used
to call the fashion people “b
tches in black.”
And then we went to a pizzeria in Milan, Italy, and the pizzeria had a tablecloth. You
know the tablecloths that are made of paper, and she put a pen in my hand, and she
said, "You write down every client in this industry that likes ass." I was like, "What do you
mean ass?" "Write down who likes ass."
And I was like, "Victoria's Secret?" "Write it down." "Sports Illustrated? Swimsuit
Edition?" "Write it down." And so then I had a list of 10 clients that it was okay if you had
curves, and then she drew a line down the paper, and she said, "On this side, write down
who has an ass." And I was like, "What do you mean? Everybody has an ass." "A thicker
ass. Who got a thicker ass in your industry?"
And I was like, "Cindy Crawford?" "Write it down." And I was like, "Claudia Schiffer?"
"Write it down.” And these are models today that's not curvy. Back then, it was curvy.
And so then she said, "These are your future clients, and these are the careers that you
can be inspired by, but you're going to make it your own."
HOFFMAN: This is great advice. This wasn’t like when Tyra was auditioning in Paris and
changing hair and shoes in the lobby. Her industry was asking for something both fundamental
and harmful. They wanted to chip away at what made Tyra stand out, and her self-image along
with it.
This is where true authenticity becomes critical to developing the startup of you. Every industry
has compromises that don’t quite sit right. You have to know how to decide where to draw the
line.

View Details

Source: https://www.arresteddevops.com/yelling-at-cloud/ (15 minutes)

thanks to Matthew DiSabatino for the recommendation!

View Details

This week's clip from the Startup To Last podcast: https://www.startuptolast.com/episodes/hardcore-week-building-a-content-site

Further reading on TOFU/MOFU/BOFU: https://www.lucidchart.com/blog/what-is-tofu-mofu-bofu


Transcript:

Swyx: [00:00:00] I was listening to the Startup to Last podcast by Rick Lindquist, the founder of LegUp Ventures and Tyler King, the founder of Less Annoying CRM. And they were talking about this interesting marketing concepts called TOFU, MOFU and BOFU. And I'm going to let them explain it

Rick Lindquist: [00:00:16] Tofu is top of the funnel T O F U MOFU is middle of the funnel, MOFU and BOFU is bottom of the funnel. Tyler and I worked this out on one of those trips to Utah one week where bottom of the funnel basically means branded terms like Less Annoying CRM, middle of funnel means like basically the product that you offer, but non-branded, so in Tyler's case, small business CRM, , and then TOFU is basically something that a small business might search in general, like a, small business tools.

For TOFU content to work, it has to be so creative and it is truly throwing darts, blindfolded against a dark, like after being spun 10 times at a dartboard, it really is entrepreneurial work.

Whereas like MOFU and BOFU, especially with where you are now, it's blocking and tackling, it's... what was that saying that you brought to the podcast once was like, get it to 70% or 90%, or I don't know what it was, but yeah, once you get it to that point, it feels like MOFU and BOFU for where you are, are there and it's about optimization and doing more of what's already working versus trying to figure something out.

Swyx: [00:01:24] I think it's an interesting mental model, which I wish that I had in my previous work, The main idea is tofu. Content is the viral content that everyone wants to read. But doesn't necessarily connect to your particular business or brand and MOFU and BOFU. Further down the funnel where people are more and more interested in what you specifically are selling.

So in the next clip, they talk about how tofu is actually damaging to your brand It might help you go viral, but not actually help with any conversions. So they took it out of their website.

Tyler King: [00:01:54]

Like right now, if you go to the blog on less annoying CRMs, like we just redesigned it a little bit for web flow. We used to have three sections.

We basically, we didn't call it this, but tofu, MOFU, and BOFU. And we basically removed tofu and the blog posts are still there, but there's not a section for it. We could maybe re-add it, but it just links off to Less Annoying business. ,

Rick Lindquist: [00:02:12] TOFU content on your main product website is so dilutive to the brand.

if it's not related to CRM it's not going to be on less annoying crm.com, which means when someone goes to last long crm.com, they're either like just poking around and saying what it's about, or they're a potential customer.

Tyler King: [00:02:29] for example, to your point, it's so hard to measure conversion rates from someone hitting your website to signing up for a free trial. Cause it's like, what if they were reading a blog post about whether or not to raise money for their startups?

Like, should we really count that as a failure that they didn't sign up? So, yeah, I like that a lot

Swyx: [00:02:45] As someone who works in developer marketing, I've had to deal with this quite a bit. When we were involved in debates on the company blog about whether the blog should be about the company or whether it should be about.

Anything that our customers care about, like front end development or the future of JavaScript. And basically there's a civil war inside of the company. And I think that happens with a lot of companies. I think you also see the result of some companies going all out on tofu, like digital ocean and log rocket. And that's a very valid marketing strategy, but then to expect to mix it together with

And BOFU content in the same blog. I think could be a very confusing content strategy. So this terminology really clear things up for me.

View Details

The fundamental incompatibility of email and Deep Work collide.

  • Clip from Lex Fridman podcast (~1:45:00)
  • Was Email a Mistake? New Yorker article
  • A World Without Email (book): https://amzn.to/3blXyjv

View Details

I caught up with Jeff Escalante, who runs the Web Platform team at Hashicorp, and we talked about quite a few career related topics with breaking down ideas, making tech choices, content creation, and adversary strategy!

This is the audio-only public feed of the chat - Coding Career customers can find the video and more detailed notes on our Circle community.

  • 00:40 - 1: Making Tech Choices vs Career Progression
  • 13:50 - 2: Shortcodes vs MDX
  • 23:00 - Content Creation Process
  • 29:30 - 3: Why did IaaS beat PaaS?
  • 39:17 - 4: Progress Bars for Humans
  • 50:30 - 5: Reactor Cores Wanted
  • 1:06:30 - Bonus topic: Jeff on Adversary Strategy

Listener notes:

  • Daniel Imfeld's summary of the Shape Up process

View Details

Clip source: Cautionary Tales on MLK and improvising speech

  • Original draft of "Normalcy Never Again"
  • Full text of "I Have A Dream" as spoken
  • Dream turned to Nightmare

View Details

Brendan Eich was on the Lex Fridman podcast recently and gave some new perspective on what and why JavaScript borrowed from Java, and yet took from Scheme (his first love) - giving us the infamous JavaScript callback, which caused so much pain, and yet led to JavaScript ultimately winning in the browser.

Audio source (29 mins in): https://lexfridman.com/brendan-eich/

View Details

Examples from Mikael Cho, Khe Hy, and Howard Tayler:

Audio sources:

  • Khe Hy on the Nathan Barry Podcast (22 mins in)
  • Mikael Cho on the Creator Lab Podcast (1h24 mins in)
  • Howard Taylor on the Writing Excuses Podcast (20 mins in)

View Details

Examples from: Justin Kan and Matt Arbesfeld

Audio clips:

  • Justin Kan's origin story (26ish mins in)
  • Matt Arbesfeld of LogRocket in Software Engineering Radio (19 mins in)
  • Song: Shakira - Try Everything

View Details

YouTube link: https://www.youtube.com/watch?v=t6A0jVDRymw

Here were the questions she sent me, though the audience asked a few others:

  1. Can you tell us a bit about your background and how you came to tech?

  2. You had a different career before coding, can you tell us a bit about why you made the switch and how you did it? 

  3. What was your biggest struggle when learning to code and how did you overcome it?

  4. You’ve worked in the US and the UK - were those experiences very different? Did you need different skills?

  5. You’ve mentioned that the Coding will always be the easiest part of a Coding Career. What other skills do people need to succeed in tech?

  6. What tips do you have for people wanting to switch careers? 

  7. You’re a big advocate for learning in public, can you tell us about this?

  8. You mentioned that “chances are that by far the biggest beneficiary of you trying to help past you is future you.”  How has learning in public helped your career?

  9. You’ve recently released the Coding Career Handbook - can you tell us a bit about what inspired this and what people can expect from it? 

  10. You’ve written about the ‘quality vs consistency’ debate, can you tell us a bit about your thoughts on that? 

  11. You have a policy of “no zero days” - how does that work and what benefits does it have?

  12. You’ve mentioned that discipline is more important than motivation. I think a lot of people will find that encouraging. Can you tell us a bit more about that? 

View Details

Lady Gaga sang Million Reasons on the Howard Stern Show in 2016.

Audio Source: https://www.youtube.com/watch?v=av99SbpsNto&feature=youtu.be

View Details

Naval's old tweet featured 3 things: - "A fit body, a calm mind, a house full of love. These things cannot be bought - they must be earned."

Now he is adding a fourth: judgment - in picking experts and deciding who to trust.

Audio Sources:

  • Naval Ravikant on Clubhouse
  • Ben Horowitz on a16z Clubhouse

View Details

ARK ETFs have had a monster performance in the past few years, and core to their process is this obscure theory of General Purpose Technology.

They use it to identify technologies that have:

  • steep cost declines
  • cut across sectors
  • platforms of innovation

So they arrive at 5 sectors:

  • gene sequencing/editing
  • AI (collaborative robots)
  • energy storage
  • biotechnology
  • cryptocurrency

Audio source: The Odd Lots Podcast https://www.bloomberg.com/news/audio/2021-02-10/ark-s-head-of-research-on-how-they-find-winners-podcast

Further reads:

  • https://en.wikipedia.org/wiki/General-purpose_technology
  • more notes: https://twitter.com/swyx/status/1362333935322075139

View Details

The original song is More Spell on You by Eddie John (1979).

Audio source is from Tracklib: https://www.youtube.com/watch?v=5QwOpRh-IfI

View Details

Audio source: https://share.transistor.fm/s/5337aec0

Do you have a question you'd like me to address? Email me (sound files welcome!) swyx @ hey dot com!

View Details

Warmup questions:

  • Do you have any pets at home? Why? If X were a person, what would he be?
  • What would be your last meal on Earth? If you had to choose between two, which do you pick: pizza or ice-cream?

Leaving:

  • Say something profound, and leave.

Source: Jay Acunzo — Podcasts, Storytelling, and How To Make Your Audience's Favorite Show

View Details

Sources (both podcasts are fully transcripted)

  • Serverless Properties with Johann Schleier-Smith: https://softwareengineeringdaily.com/2021/02/11/serverless-properties-with-johann-schleier-smith/
  • Azure Functions with Jeff Hollan: https://www.serverlesschats.com/88/ - This is all you need to know about Lambda cold starts by Yan Cui: https://lumigo.io/blog/this-is-all-you-need-to-know-about-lambda-cold-starts/

Serverless Properties with Johann Schleier-Smith: https://softwareengineeringdaily.com/2021/02/11/serverless-properties-with-johann-schleier-smith/

"The cold start problem got a lot of attention early on. And I'm happy to say that I think that for a lot of practical purposes is something that people can either consider resolved or worked around sufficiently that they don't need to worry about it so much. But let me go into
a little bit more detail on that. So what is the cold start problem? Well, in order to provide these secure execution environments, the cloud provider needs to create a VM for your workload, because that's really how you can guarantee that you're not going to be exposed to other
clients, other tenants.And so booting a VM traditionally means booting and operating system. Operating systems just simply aren't designed to boot up super-fast. It's not something that really matters. You're usually happy, or traditionally you'd be okay if a server booted up within a few minutes,
because it's going to run for days. So what does it matter? And traditionally also the things that happen during boot up time involve things like probing for devices and figuring out whether you've upgraded the hardware and other things that have just no role in a serverless
environment. You know what the hardware is and you want to get going as quickly as possible because you want to be able to have that ability to expand elastically. And similarly in order to keep costs low you want to have that ability to just shut things off and effectively power down.

And so what the cold start is really about is it's about that time that it takes. And to be clear, also, what's important about a cold start versus a warm start is that when you have a – Once you start it up, what you can do is you can just leave that function instance you. Can just leave it running so that it can do more than one request so you get to amortize your startup cost over many, many requests. So sort of two reasons why this startup time is becoming less of an issue, and they're actually both related to the technology that's in Firecracker.

So Firecracker makes it much, much faster to boot up the VMs in part because it sort of strips down that kernel so that it has just simply has a much faster boot time. And so the boot times are, instead of seconds, they come down to something like 100 milliseconds or so. And there are a number of other techniques. Some of these are in Firecrackers. Some of these are in research papers that are about making these boot up processes much faster. For example, one thing that you can do is once you have booted an image of a virtual machine, what you can actually do is you could just save those pages essentially, save a state of the memory. And then when you need another one, you can simply clone that and you can use sort of copy and write semantics for that as well so that really you're just creating a new set of page tables to reference that underlying image."


This is all you need to know about Lambda cold starts by Yan Cui: https://lumigo.io/blog/this-is-all-you-need-to-know-about-lambda-cold-starts/


Azure Functions with Jeff Hollan: https://www.serverlesschats.com/88/

In the last six months, we actually have been rolling out some machine learning, too. So we've got some folks in Microsoft Research who worked at looking at a bunch of historical data for functions. It's actually all open source. It's anonymized. But if you go to GitHub, you can actually see a bunch of Azure Functions anonymized data. And they trained a bunch of models. So that hopefully, Jeremy, if you were using Azure Functions and it's Monday at 8:00 AM, that our model, hopefully, would get smart enough over time to say, "Oh, there's a 70% chance that at Monday at 8:00 AM. Jeremy's about to hit this thing. We're actually just going to warm it up before he even executes it." So that's something that we've been rolling with for a while. But even then the ... And then just trying to make progress on the underlying technology, the underlying platform. There's a lot of components to building a multi-tenant secured service that all add a little bit of a national latency.

So something we're aware of. And then I guess to the second part of that question is, we do have some options to fully mitigate it or partially mitigate it. The one is the fateful pinger. We have folks, I mentioned, you can create this Function app concept. You can have multiple functions in there. One thing that even I have done, and I would say don't quote me on this, but I'm on a podcast. Now, my name's right there. You can create another function in that same app that triggers on a timer. So a timer is a first-class concept in Functions. Just have that thing trigger once every 10 minutes, and your whole app is going to get poked every 10 minutes by us. You don't even have to poke it. We'll poke it ourselves on that interval and keep it warm.

View Details

If you're a fan of The Princess Bride, you can watch the star-studded 2020 Quibi home video remake here: https://www.youtube.com/watch?t=1494&v=lR8pA_WV9QI&feature=youtu.be (cast guide: https://screenrant.com/princess-bride-remake-cast-guide-who-plays-each-character-in-quibis-movie/)

If you haven't seen The Princess Bride before, I recommend starting with the original first, it is a classic.

View Details

From Business Wars, which is very good for historical narratives..

Audio source: https://www.listennotes.com/podcasts/business-wars/est%C3%A9e-lauder-vs-lor%C3%A9al-do-or-zqlYDhenOJA/

More on Estée Lauder: https://en.wikipedia.org/wiki/Est%C3%A9e_Lauder_(businesswoman)

View Details

In 2011, Beyoncé visited the child cancer ward at the National University Hospital in Singapore and performed three songs. Her ridiculous talent shines through here, and she looks even better on video.

Audio source: https://www.youtube.com/watch?v=e5rKKL37kHQ

Intro and context: https://www.youtube.com/watch?v=0ItX3_mh0e8

Alternative Capture: https://www.youtube.com/watch?v=8-NZB-riaQo

Irreplaceable: https://www.youtube.com/watch?v=6Tib3l7vJX4

Radio: https://www.youtube.com/watch?v=3eBoAlHnttY

View Details

Maggie and swyx hosted a Clubhouse chat this weekend on Digital Gardens. Here are show notes for ongoing conversations so you can dig in further!

  • Maggie’s garden: https://maggieappleton.com/
  • Swyx’s garden: https://www.swyx.io/ideas, http://github.com/sw-yx/spark-joy (and other repos)

Comments and extra questions welcome!

## Recording

YouTube Recording Here and Commentable Transcript is Here!

This podcast audio was automatically edited for pauses and filler words via Descript. It gets a little choppy about 45mins in, but otherwise seems ok?

## Things we talked about

  • Nikita’s Everything I Know garden: https://wiki.nikitavoloboev.xyz/
  • Maggie's list of Digital Gardeners: https://github.com/MaggieAppleton/digital-gardeners
  • Penn Course on the Literature of Success: https://apps.wharton.upenn.edu/syllabi/?course=LGST227
  • Devon Zuegel on Epistemic Statuses: https://devonzuegel.com/post/epistemic-statuses-are-lazy-and-that-is-a-good-thing
  • Digital Garden Terms of Service: https://www.swyx.io/digital-garden-tos
  • Neil Postman:
    • The Medium is the Metaphor: https://people.wou.edu/~visuanod/visuano_amusing_ourselves_to_death.pdf
    • Amusing Ourselves to Death: https://en.wikipedia.org/wiki/Amusing_Ourselves_to_Death
  • Building A Second Brain: https://www.buildingasecondbrain.com/
  • Andy Matuschak: https://notes.andymatuschak.org/About_these_notes
    • Gatsby Theme Andy: https://github.com/aravindballa/gatsby-theme-andy
  • Transclusion: https://maggieappleton.com/transcopyright-dreams
  • Nonlinear tools for thought:
    • Roam of course :)
    • Muse App https://museapp.com/
    • Kosmik App https://lithium.paris/
  • Google Docs as Collaborative Digital Gardens
    • Chris Paik’s Frameworks Google Doc (tweet, doc) has ongoing comments that help shape the garden
    • Swyx on Webmentions: https://www.swyx.io/twitter-metacommentary/
  • Swyx Three Strikes Rule: https://www.swyx.io/three-strikes/
  • Tiago Forte on Progressive Summarization: https://fortelabs.co/blog/progressive-summarization-a-practical-technique-for-designing-discoverable-notes/
  • Drawing tools: https://excalidraw.com/, https://miro.com/, https://figma.com/
  • How To Create Luck: https://swyx.io/create_luck
  • Lisa Hardy’s Hyperfine Village concept

View Details

Audio source with transcript: Jeremy Grantham on the Meb Faber Podcast

Read the full paper: (which is investment focused) The Race of Our Lives Revisited

Clip 1:

The point is that we are not winning what we call the rest of our lives. The amount of carbon dioxide extra in the air last year was the highest ever increment. And we don’t start winning until A, that gets to 0. And then we have to backtrack and we have to find a way of pulling it out of the air to take it over the following several decades back down to 280 parts per million. We’re currently at 415 and we’re surely heading for 550, 600, and I hope not 700, 750 but something like that. And we’re going to have to take it out of the air by direct air capture or by biological means by planting trees and by growing seaweed and doing many exotic things, and hopefully, getting paid a carbon credit for doing it, and hopefully, having technological breakthroughs so that the credit we need is only $25 a ton and not $250 a ton because we can afford $25 a ton to get the job done. But we are going to have a lot of pain from the damage we’ve done to the environment, mainly in terms of greenhouse gases. And it’s going to be very expensive and very difficult and highly probably a big chunk of the world, something like 15% will basically become uninhabitable that currently is habitable, which a lot of it is the kind of Saudi peninsula and parts of the Sahara and so on, sub-Sahara, which are bad enough. But the really bad news is that it’s most of the Indian subcontinent, which will in 50 years when the really bad news occurs, will have 2 billion people on it. And a big chunk of the world’s population, which will probably be about nine by there. And then parts of Indonesia, that just unlivable, that the combination of humidity and heat will mean you can’t go out and do your farming, and how much that will stress out the rest of the Indian subcontinent where they still can’t function, I don’t know, but it won’t be pleasant. And Africa is already being stressed, has the worst soil and the worse governance and so on.
Clip 2:

I got to tell you a story about the Manhattan Project, which is a perfect example for people who think government can’t do anything. Listen, guys, if government couldn’t do anything, we would not have won World War II. America went from producing cars to producing tanks, and jeeps, and destroyers pretty damn effectively. And it was all done at the top. It was all planned. It was Galbraith, the economist was minister of this and that, you know. It was done by a heroic effort. But the Manhattan Project is unique because I knew a fellow who was on an Investment Committee of a mutual fund that we ran. And we used to meet them four times a year as obstreperous committee of scientists and so on used to grill us. And eventually, I discovered that one of them had won the Nobel Prize, I’d met him through the fund, for working done decades before I even met him. So he got the prize after six or seven years of working together for work he’d done decades earlier. He’s been taken out of Harvard, as an undergraduate physicist, and he’d been stuck in the desert as a 19-year-old or a 20-year-old, working side by side with Italian Nobel Prize winners and things. What amazing demonstration of out of the box thinking and risk taking that was going on in the Manhattan Project, I had no idea. And to prove how good it was, he did indeed get a Nobel Prize himself, you know, 50 years later for work he’d done 30 years later. The Manhattan Project took a job that would have taken 15 years easily and then crammed it into three-and-a-half years by dint of money and brilliance and gathering these people together and using any talent they could get their hands on, like this kid. And if we could do half as well, we would be in great shape. We would definitely make the cut. And the fact is that governments can do it if they get their brains together, if they get their act together. The race of our lives will be decided by the difference between what humans are capable of doing and what we will actually do. We can win this race and along the way, get rid of poverty and so on, if we put our best foot forward. But given half a chance, we mess it up. That’s what they say, never underestimate the power and creativity of the homosapiens, and never underestimate his ability to foul it all up.

View Details

Clip Source:

  • Jordan Harbinger Show: jack Schafer | Getting People to Reveal the Truth

View Details

- Raise Your Glass Official Music Video
- There You Go Official Music Video
- Just Give Me A Reason ft. Nate Ruess but do me a favor and MAKE SURE to check out the live version

View Details

An interesting idea I heard on the StackOverflow Podcast - locking open source code to contributions, and then having an open plugin ecosystem where people can do whatever they want.

  • Sara Chipps and Paul Ford on StackOverflow Podcast
  • Litestream closed to contributions for self preservation
  • Simon Willison's datasette project

View Details

Today I feature a clip from Elon's recent Clubhouse interview, just after he bought $1.5 billion in bitcoin. It mostly just has a funny story, rather than anything insightful. But the action speaks volumes.

  • Original Elon Bitcoin Tweet
  • Elon Clubhouse Interview Audio Source

View Details

Corey Haines (https://www.coreyhaines.co/) was most recently Head of Growth at Baremetrics and just went fulltime on SwipeFiles.com.

I interviewed Corey for the Creators group that I run. I figured I could strip out the audio of our Zoom chat for a surprise Weekend Drop!

It was full of inspiration on indiehacking (11 minute mark), the sunk cost fallacy (16 minute mark), cold emailing (18 minute mark), his work on Swipe Files (23 minute mark), his work on SavvyCal (32 minute mark) and marketing (46 minutes).

The full show notes and discussion is available in our private Circle community — it's a paid membership, but it's one-time, lifetime membership :) check it out here. 

Let me know if this sort of thing does or doesn't work for you, I'm still trying to figure out what my Weekend Drops are going to be like. swyx @ hey.com or https://twitter.com/swyx

View Details

The Onion TV was darkly hilarious.

  • Today Now! Interviews The 5-Year-Old Screenwriter Of "Fast Five"
  • Political Talk Show Host Suddenly Very Interested In Manslaughter Law Loopholes

View Details

It's a good idea to have toolmakers use their own tools, and a good idea to learn to do it the hard way.

  • Kelsey Hightower on the Sourcegraph Podcast
  • Build Your Own X

More on Empathy Sessions:

  • "It's like people who work on an assembly line but don't have a driver’s license. I want to get you, the engineer, in that car. I want you to understand what it feels like when you hit a bump so you know how to work on that suspension." - Kelsey on Gun.io
  • Photo of Empathy Sessions
  • Impact of Empathy Sessions on GKE
  • Empathy Sessions and Anthos

View Details

Listen to the full chapter of the Data Detective audiobook and check out Tim Harford's podcast, Cautionary Tales.

Because of course you shouldn't take Tim at his word — The Yale study cited is here: https://www.jstor.org/stable/41511108 (free pdf here)


"They Saw a Protest": Cognitive Illiberalism and the Speechconduct Distinction

Dan M. Kahan, David A. Hoffman, Donald Braman, Danieli Evans and Jeffrey J. Rachlinski

Abstract

"Cultural cognition" refers to the unconscious influence of individuals' group commitments on their perceptions of legally consequential facts. We conducted an experiment to assess the impact of cultural cognition on perceptions of facts relevant to distinguishing constitutionally protected "speech" from unprotected "conduct." Study subjects viewed a video of a political demonstration. Half the subjects believed that the demonstrators were protesting abortion outside of an abortion clinic, and the other half that the demonstrators were protesting the military's "don't ask, don't tell" policy outside a military recruitment center. Subjects of opposing cultural outlooks who were assigned to the same experimental condition (and thus had the same belief about the nature of the protest) disagreed sharply on key "facts" — including whether the protestors obstructed and threatened pedestrians. Subjects also disagreed sharply with those who shared their cultural outlooks but who were assigned to the opposing experimental condition (and hence had a different belief about the nature of the protest). These results supported the study hypotheses about how cultural cognition would affect perceptions pertinent to the speech-conduct distinction. We discuss the significance of the results for constitutional law and liberal principles of selfgovernance generally.

View Details

Hampton is the most wholesome and motivating person on YouTube in under 1 minute!

  • Hybrid Calisthenics on YouTube
  • Free bodyweight workout routine on his site
  • Pushup video
  • Elbow lever video

View Details

This is the audio version of a blogpost I published today. Comments on Dev.to and Twitter.


Trust me, I tried to make the Clubhouse bear case.

The original title of this post was "Everything Clubhouse Did Right — and Why It Will Fail Anyway". The exercise forced me to list the reasons why it wasn't worth $1 billion - why live conference calls are inferior to existing formats like podcasts and Discord.

When I was done, I went for a walk to think about it. By the time I came back, I had done a complete 180. (Note - this was even before I heard about the Elon event)

I still dislike the Clubhouse experience. I wouldn't recommend it to you. But all the reasons I dislike it are the same reasons it will work:

  • Clubhouse is exclusive. You have hoops to jump and gates to open every step of the way. It's iOS only. Invite only. Requires your phone number for no goddamn reason. And once you're through all of that you gain the privilege of being in the voiceless audience hoping senpai will notice your raised hand and puffed up bio.
  • Clubhouse is ephemeral. Conversations aren't recorded. Your work doesn't compound and isn't searchable. This is horrible for ROI on your time as a content creator.
  • Clubhouse is live-only. If all the convos are happening in Pacific Time and you live in Europe, tough luck. If you came in halfway and have no idea what was said, tough luck. The only way to be fully involved is to turn on mobile notifications and track scheduled chats. Causing more — not less — distraction and work for you.
  • Clubhouse enhances existing privilege. Because automated recommendations aren't possible, Clubhouse mostly relies on a Twitter-like follow graph. To gain a following you mostly already have to be famous off-platform or well-connected to people who will bring you up on stage ("second-degree famous"). Choosing a Status as a Service model (Twitter) over a Sorting Hat model (TikTok) sacrifices discovery for establishment.
  • Clubhouse is a terrible listening experience. There's no audience chat or polling. Obnoxious speakers can dominate the conversation. Trolls and harassment abound. You can't play at 2x or rewind an important part. Podcasts were trending towards better audio and editing, Clubhouse regresses to shitty phone mics with feedback and connection issues. Signal is scarce, noise is rampant.

In my original write up I listed the many better offerings in every dimension. Want to listen to interviews with great audio and show notes? Podcasts. Want ultrascalable livestreaming? Twitch. Want livestreamed audio with recording and submitted questions? Capiche. Want to do an audio webinar? Use Zoom with the camera off. Want voice with text chat? Discord. Just want a Clubhouse clone with less friction? Twitter Spaces.

When I was done listing the alternatives, I knew I had made a mistake. They checked more boxes on a feature comparison basis. But social media doesn't work like that. I was trying to be logical in a socio-logical domain.

I had conclusively PROVED, with my big brain and fancy words, how profoundly inferior Clubhouse was. No compounding creator should prefer it, and no self respecting listener should enjoy it, compared to alternatives.

But the majority of people don't work like that:

  • Some people are turned off by exclusivity and friction. But most people take it as social proof of something cool.
  • Some creators are turned off by ephemerality. But more people will start trying precisely because it's easy and doesn't matter. The Elon Musks and Vlad Tenevs of the world will be less guarded, despite clearly knowing anything they say will be recorded, because the medium is the message.
  • Some people are turned off by demands on their time. But most people leave mobile notifications on and the live nature of chats creates some of the most urgent notifications you'll get on your phone, second only to a call from your mother. The synchronicity creates an event — a clear Before and After where you can excitedly gossip and feel superior to people out of the loop. This is a rarity in an everything-async world.
  • Some people are turned off by stacked decks. But most people just want to follow celebrities and experts and aren't interested in the challenging, messy work of finding people on the way up.
  • Some people are turned off by the listening experience. But Clubhouse is Good Enough, especially if content is created sooner and in bigger quantity than available anywhere else.

Clubhouse should've died in July when the VC and Media abuse cases erupted. Instead it came back stronger than ever, standing at 2 million weekly active users. If any of these negatives mattered, the app should have seen extreme churn. Instead, Andrew Chen, Ryan Hoover, and Sahil Lavingia — who do this for a living and have insider knowledge of metrics — value it above $1 billion dollars, six months after it was valued at $100 million.

People. Aren't. Churning. No matter how much you may hate the app — usage is going up. This is scary and worth taking note. Clubhouse is already showing signs of successful expansion in Asia (read: non-English Clubhouses).

Instagram had 30 million MAUs when Facebook bought it for $1 billion. Whatsapp had 450m for $19 billion. By Whatsapp metrics, Clubhouse is wildly overvalued (lets say it has 10m MAU right now). But audio isn't text. Alex Danco says that texting is a cold medium, while audio is the hottest medium of all. He was mildly wrong — podcasting is still kinda lukewarm — but live, ephemeral audio is so hot you will literally drop everything and stay up late and ignore your partner to go listen to Elon.

Worse is better. The exact reasons you hate Clubhouse — the kind of thing that drives you to read an article like this to the end — are the exact same reasons it is going to win.

View Details

A great tip I learned from Cal Newport's Podcast, Episode 66, which I highly recommend.

  • Distraction Free YouTube Chrome Extension

View Details

CEO of Patreon, and a damn good musician. Inspiration of the day!

  • Jack Conte TED Talk - How Artists can Finally Get Paid
  • Scary Pockets YouTube Channel

View Details

Beeple made one piece of digital art a day for 10 years. He had never been directly paid for this work before. In one weekend, he auctioned it off for $3.5 million. How?

The direct answer is Non-Fungible Tokens (NFTs) on Nifty Gateway.

The general answer is that blockchains create digital scarcity. Naval explains.

Sources:

  • Beeple on Unchained podcast
  • Naval on Tim Ferris podcast
  • Beeple on School of Motion podcast

View Details

The Yes Ladder is a technique for getting people to agree to something they wouldn't agree to if asked outright. You do it by asking a series of questions, all of which a normal person would say "yes" to. The questions increase in scope as you go, and the sheer momentum of saying "yes" after "yes" gets you to say the final "yes" to the biggest ask at the end.

This exploits a few principles:

  • The frog in boiling water effect
  • Cialdini's Consistency principle
  • Priming, aka Pre-suasion

Cold open is from Yes Prime Minister

View Details

Two solutions for the consistency vs quality debate: cut scope, and start with consistency.

You can read the related blogpost with visuals here.

All clips are from the excellent Creative Elements podcast by Jay Clouse, which I have been enjoying greatly. The three episodes we reference:

  • 37: Ali Abdaal

  • 41: Tim Urban

  • 2: James Clear

View Details

ICYMI, I was on the @FSJamorg podcast recently talking about AWS Amplify, Jamstack vs containers vs Frontend Application Bundles, Netlify's Docker Image, Tanner Linsley's Tanstack, and Abstracting over REST!

Don't forget Anthony's recap of the podcast as well - he clearly put a metric TON of effort into this!

I also touch upon prior blogposts:

  • Cloud Distros
  • the Third Age of JS
  • Learning in Public
  • You Can Run Containers on AWS Amplify Now
  • Optimistic, Offline-First Apps with Svelte and Amplify DataStore

Really well edited and the hosts clearly prepared well so I am proud to share this one with you!

View Details

Some highlights from World War Z.

  • The Israeli 10th man
  • General Raj Singh
  • The Russian Decimation
  • The Fake Vaccine
  • The Crashlanded Pilot
  • The Battle of Yonkers

Read & Listen

  • World War Z Official Audiobook on Audible
  • World War Z (unofficial) on YouTube
  • World War Z Chapter-by-chapter Wiki

View Details

How well can we diagnose mental illness? A landmark case from the 1970's.

  • Cold Intro is from Jim Jeffries Gun Rant (highly recommend)
  • The Rosenhan Experiment (Wikipedia)
  • My Reddit Submission

Interesting Angles:

  • Entrapment
  • Diagnostic and Statistical Manual of Mental Disorders - DSM-V
  • Deinstitutionalization
  • Other patients

View Details

The Meta-Creator Ceiling

How many people should be teaching people how to succeed instead of just succeeding in their own way?

As independent creators carve out a new career path for themselves, I suspect that some are unintentionally picking a path that limits their growth and robs the world of their true potential.

This theory was triggered by this Hunter Walk tweet:

Of course it is too reductive to reduce pluripotent people to "A players" and "B players". And of course this is nowhere near as bad as the real-life "glass ceiling" or a "bamboo ceiling" in normal careers, where a certain set of the workforce is unable to progress by sheer fact of who they are. That is obviously despicable and is a far more important societal issue.

But the meta-creator ceiling is interesting to me because it is a path that new creators follow by choice, yet without being aware of it's limitations because nobody is incentivized to warn them. Perhaps because it is an easier game than others, or perhaps because of hype and marketing.

No judgment — I of all people know that there are many ways to avoid asking what it is I really want to do with my life.

Perhaps some definitions are in order: A "Meta-Creator" is someone who creates content about creating, instead of just creating.

The temptation toward being a Meta-Creator is extremely high. There are three paths:

  • The A-B-C Loop: People want success porn. They are oblivious to the narrative fallacy and ignore luck and complicating details. Your success creating success porn gains you access to more successful people who are only too happy to let you write their hagiography. You can spend an entire career mythologizing successful people, living a life of a bard rather than a hero.
  • The Creator Strange Loop: To quote the always-brilliant Philip Kiely: "First you do X, then you make content about doing X, then you make content about that content... One day you realize you haven't done X for six months. And there is only so much room for content at the highest levels of abstraction." Every single step makes logical sense because you have credibility from having just done the thing. Yet after a few steps you look back and you have wandered far from your original interests.
  • The Audience-Building Loop: The natural end game of the current Audience-First and Build in Public memes is that you naturally attract an audience of wannabe builders. There are only so many topics they want to buy, and so many things to incestuously sell to each other. The successful cohorts will be supported by the far bigger unsuccessful ones in a self-organizing pyramid scheme.

To be extremely clear: You can be enormously successful and happy being a Meta-Creator, and bring success and happiness to millions, and that is no small feat. I enjoy Tim Ferris' podcasts and Tren Griffin's blogposts. No judgment if that's your thing. The economics make sense too — in a gold rush, go mine a bit of gold, then sell the shovel you used because it is proven to work.

But, one, you may have a lower chance of success pursuing this path than others, because it is both available to everyone and zero-sum.

But I write for reason two: the sneaking suspicion that even if you win and are top of the heap at the Meta-Creator game, you are still limiting yourself from what you could be doing with your life. What the people you actually look up to are doing with theirs. What the world could be benefiting from if the greatest minds of our generation just applied themselves to other problems than "How to Crush it on Twitter" or "How to Get A Million Subscribers on YouTube" or the 3923rd "How Warren Buffett and Charlie Munger Think" blogpost.

Smart, capable people like you and I can often approach life with more ambition than direction. We want success more than we want to solve problems. I think the way to approach the question of "what do I do to be successful", may be to flip it on its head:

Assume you will be successful at whatever game you play. Are you playing a game you want to win?

View Details

Two stories to tell a lesson that has been learned time and time again - talk to your customers and validate your thesis before building.

  • Masters of Scale podcast on Rent the Runway, then read Jennifer Hyman's own writeup. I especially recommend her analysis of the flash sale boom and bust of the 2010's (Groupon, Gilt).
  • I wasted $40k on a fantastic startup idea, then read Hacker News responses
  • The Mom Test by Rob Fitzpatrick, with summary

View Details

Create value, learn better, and make connections by picking up what others put down. A real life example.

This is the audio version of a YouTube video, hop over to YouTube for visuals.

  • How to Join a Team and Learn a Codebase - My Tweet about it vs His Tweet
  • Generation Effect
  • How to Visualize Value
  • Tacit Knowledge
  • How To Practice Marketing Yourself: Help others market their ideas

View Details

Remix culture, the history of work music, and the great Sea Shanty revival of 2021.

  • NYT explains the Sea Shanty TikTok Meme
  • Peter Campbell Sea Shanty Thread
  • The Longest Johns Wellerman (YouTube)
  • C-130 Rolling Down The Strip (YouTube) C-130's were military transport aircraft for airborne army troops
  • Best of TikTok Sea Shanties (YouTube)