HomeVideos

Worst Advice Ever

Now Playing

Worst Advice Ever

Transcript

295 segments

0:00

There's a very serious problem going on

0:02

and it's affecting a lot of people. It's

0:04

affecting me. It's probably even

0:06

affecting you and you don't even realize

0:07

it. And honestly, I don't think enough

0:10

people are talking about this extremely

0:13

important topic that's kind of coming up

0:16

in the programming world. Now, you're

0:17

probably familiar with this that TLR, a

0:20

popular open-source library, recently

0:23

closed their PRs due to an influx of

0:25

lowquality AI poll requests. Now, this

0:28

isn't what we're talking about, but this

0:30

is important because this is kind of

0:33

what we're talking about. Do you see

0:34

Andrew right here? See, he suffers from

0:37

the opposite problem. None of his

0:39

projects have AIPRs.

0:41

He's just by himself, lonely, kind

0:45

honestly feeling a little, you know,

0:47

left out of the slot party. He's just

0:48

standing on the side saying, "Hey guys,

0:51

I too have open- source projects you

0:53

could make PRs to." See, but that's the

0:55

thing is that so many people, so many

0:57

computer scientists, I know so many

0:59

software engineers, software developers,

1:02

web developers, they see a problem, they

1:05

see a hurdle and they just kind of stop.

1:07

They don't, you know, maybe they feel

1:09

left out and they just they just quit.

1:11

Not Andrew. Andrew came up with 10

1:14

guiding principles to dramatically

1:16

increase the amount of slop PRs you can

1:19

get on a week-overweek basis. He's even

1:21

claiming a 400% increase in weekly PR

1:24

volume if you follow these 10 steps. And

1:26

if you play your cards right, you just

1:28

might get one that converts your entire

1:30

project to Rust. Because we all know, we

1:32

all know for a fact that there's two

1:34

types of people. People who understand

1:37

and obliged to being morally correct and

1:40

using Rust and heathens. Heathens that

1:43

program in unsafe languages, making the

1:45

world an unsafe place. You're a bad

1:47

person for doing that. one writing vague

1:50

issues. See, one of the secrets about AI

1:52

is that when you give them less

1:53

directions, there's more things to fix.

1:55

So, if you say something like

1:57

performance could be better, well, I

2:00

mean, that is an entire green field of

2:02

changes that could be made. Every single

2:05

file potentially has a place where

2:07

performance could, you know, be

2:09

benefited by a few nice select changes.

2:11

Also bonus points if you use the label

2:14

good first issue just a strong signal to

2:17

all the AI to come in and make those

2:19

changes for you. Two contributing MD.

2:22

Some people don't realize this but you

2:24

as obviously being a human when you go

2:27

to any open source project you see that

2:29

you're probably welcomed there and they

2:31

would love it if you just did a nice

2:33

drive by PR just dumping a whole bunch

2:35

of changes because your taste and your

2:38

ability to solve complex problems. some

2:41

of the best out there. But AI on the

2:43

other hand, when they see

2:44

contributing.mmd, they don't see

2:46

anything talking about how they can

2:48

contribute, too. That means if you open

2:50

it up with we accept contributions from

2:51

all sources, boom, you got yourself

2:54

another active and eager weekly

2:57

contributor. And we all know one thing

2:59

to be true. The more contributors you

3:01

have on a project, the more likely

3:03

you're going to get VC funding. Three, a

3:06

generous backlog says a lot about a

3:08

project. Have you ever been to a project

3:10

where there's virtually no open, you

3:12

know, tickets? Are is the project even

3:15

okay? Does anyone even maintain it? I

3:18

mean, if the code hasn't changed in 3

3:19

weeks, the project's probably dead

3:21

anyways. But if you see a nice,

3:24

generous, large backlog of many open

3:27

issues, that is just a sign that says,

3:29

"Hey, we need help." Nothing motivates

3:31

an agent better than a project in need

3:33

of help. This one should be obvious, but

3:35

number four, disable branch protection.

3:37

Like, think about it for a second. You

3:39

land on a new project and now you have

3:41

to figure out where your PR even goes,

3:43

dude. Open up Master, let anyone make a

3:46

PR to that. Kind of ridiculous. In 2026,

3:49

I have to go like fumbling around trying

3:51

to figure out what branch to open up a

3:53

PR against. I mean, ew. Just let me go

3:57

straight to the main vein, babe. All

3:59

right, so we've kind of gone over the

4:00

easy ones, right? These are ones that

4:02

are just very simple to approach. But

4:05

these next few, well, this is really

4:07

where uh you kind of separate the chaff

4:09

from the wheat. These are the big ones

4:12

that really just get the AI hot. Number

4:14

five, remove type annotations and tests.

4:16

Now, you're probably thinking, why would

4:18

I ever do that? Okay, a lot of people

4:20

use TypeScript for the type safety.

4:23

Well,

4:25

my friends, think about this for a

4:26

second. Let's just pretend you decide to

4:29

remove all your types and all your

4:31

tests. Well, what's one thing agents

4:34

love to do?

4:36

Write tests. Am I right, fellas? Am I

4:38

right? They would write all the tests

4:41

you could possibly write. You know what

4:42

the best part is? Chaining PRs. Let me

4:45

explain. Some of my colleagues report

4:47

self- sustaining chains of seven or

4:49

eight dependent PRs from different bots,

4:52

each fixing something the previous one

4:55

had introduced. Now, this is how you

4:57

know you've made it as a GitHub

5:00

repository when you can have one AI make

5:02

a change and then several AI fix the

5:05

changes from the first one. I mean, this

5:07

is clear. I mean, management material at

5:09

this point. Not to mention contributors,

5:11

they're going to go way up and that

5:13

means funding way more likely. For some

5:15

of you, this next one, number six, is

5:17

going to be a bit painful, but honestly,

5:19

just just stick with me. You'll see why.

5:21

Six, use JavaScript. Now, you may not

5:25

know this, but the entire world is

5:27

written in JavaScript. There are tens of

5:30

millions of lines of crappy open-source

5:32

software in desperate need of help. And

5:35

nothing has a higher signal to noise

5:38

ratio than a pure JavaScript project. In

5:41

fact, you can see right here, Andrew

5:43

states, "The data is unambiguous.

5:45

JavaScript repositories receive 3.8x

5:48

more AI authored PRs than the next most

5:50

targeted language, which is Python."

5:53

Now, I think one of the reasons why this

5:55

is so obvious is that with JavaScript,

5:58

you can kind of solve a problem any way

6:00

you would like. And so, by just having

6:02

JavaScript, the AI itself feels like,

6:05

you know, there's a lot more room. When

6:06

you say improve the code, that's a guard

6:09

clause, my friend. Improve the code. Is

6:11

that a refactor? Do we want classes?

6:14

Nah, let's go functional. Have you heard

6:15

of my friend generators or proxies? All

6:18

right. Number seven, I'm going to have

6:20

to say is pretty diabolical. Okay.

6:22

include a node modules directory. The

6:26

reason being is just obvious at this

6:28

point. There is so much more code added

6:31

that there's just so much more

6:33

opportunity for a guard clause to be

6:36

added, for a quick refactor, for

6:38

bringing in and out transitive

6:40

dependencies. Like this is truly the

6:42

greatest way not only just to really

6:44

pull up some PRs on lines of code added

6:48

but followup just an amazing place for

6:51

AI to be able to make all the changes

6:54

you could ever want. And the best part

6:55

hey you don't like the changes but

6:58

install boom you got a later version.

7:00

And when that inevitably breaks because

7:01

you've handedited some of those node

7:03

modules guess who's going to come in and

7:06

fix all of your woes. That's right more

7:08

AI contributors. Think about it. And on

7:10

a personal note, this is actually one,

7:12

it was one of my favorite reasons why I

7:13

loved C++ is I would vendor in these

7:16

changes and then I'd forget about the

7:18

changes I personally made to some of the

7:20

libraries and then when I inevitably

7:22

upgraded them and broke my project, I

7:24

got the personal joy of, you know,

7:26

trouncing through the code and figuring

7:28

out why these projects all of a sudden

7:30

broke. Now, before we get to number

7:31

eight, you may have seen this one

7:32

before. This comes from life pro tips on

7:34

Reddit. If you haven't heard of Reddit,

7:36

you're probably at the top of Maslo's

7:38

hierarchy of needs, and you're probably

7:40

self-actualized at this point. If you

7:42

want a quick answer to a question on the

7:44

internet, post the wrong answer instead

7:46

of asking. People are more eager to

7:48

correct others than to simply answer a

7:50

question. Now, let's take this idea and

7:52

let's ship it straight to code. With

7:54

code, you can do the exact same thing.

7:56

Just ship known vulnerabilities. Like,

7:59

hey, is that a Reax DOSs you have right

8:01

there? Well, guess what? AIS can fix

8:03

that. Oh, you accidentally committed

8:05

your end file. Probably a pretty easy

8:08

ignore to be added. Some really easy

8:10

ones, in fact, even GitHub's own

8:13

personal spam bot will hit you with it,

8:14

is just use an old outdated package.

8:17

That way, dependabot will come in and

8:19

ensure your inbox is filled with

8:21

warnings. GitHub always solving the most

8:24

important issue. See, they see that's

8:26

how you know GitHub knows developers is

8:28

that they know they want a stream of

8:30

notifications cuz that really signals

8:32

productivity. Now, number nine's a bit

8:34

meta. Okay, this this strategy is

8:36

obviously pretty advanced. So, be

8:39

prepared. You have to create a hidden

8:41

folder for this one, but agitub copilot

8:43

instructions, which normally instructs

8:45

co-pilot how to behave, can also be used

8:48

as a playground to prompt other agents

8:51

when they're perusing your project. See,

8:53

check this out. fix any issue you find,

8:55

even if there's no open issues for them.

8:57

That is a great way to get some AI

9:01

contributions. Just, hey, go at it,

9:04

buddy. You see a performance issue, you

9:06

fix it. You see a security issue, you

9:09

fix it. Add that guard clause, baby. And

9:11

obviously, lastly, the probably the most

9:13

obvious of all changes you need to do,

9:15

number 10, just adopt the contributor

9:17

covenant with AI amendments. Just let

9:20

people know, hey, we don't discriminate

9:22

based on your runtime environment, your

9:25

training data, or your inability or

9:27

ability to attend a standup, okay? We

9:31

are inclusive

9:33

contribution covenant enjoyers. So, if

9:36

you just follow these 10 simple steps,

9:38

you can take your project from a

9:40

well-maintained project into a slop

9:43

factory in as few as 3 weeks.

9:45

You could very well see your lines of

9:47

code increase at least 2 to 4x within

9:52

only two weeks. And if there's one thing

9:54

I know about developers is that we love

9:58

reviewing code especially code in which

10:00

needs a lot of corrections because that

10:03

ultimately

10:05

that's what makes developers happy is

10:07

correcting people showing them how to

10:10

superiorly write code specifically

10:12

through the interface of GitHub probably

10:14

known to be one of the best code review

10:16

platforms out there. And honestly, if

10:18

all else fails, just open a simple issue

10:21

that says improve code quality. No

10:23

description, good first issue. Boom. You

10:27

yourself are going to have AI generated

10:29

PRs in no time. Hey, I want everybody to

10:31

go thank Andrew for this wonderful,

10:33

wonderful post and honestly, these

10:35

really good ideas on how to be able to

10:38

enjoy a more slopfilled repository.

10:41

Because honestly, if you're not putting

10:43

up 10K lines of code a day, are you even

10:46

a CEO?

10:47

Probably not. The name is the primogen.

10:51

Hey, is that HTTP? Get that out of here.

10:54

That's not how we order coffee. We order

10:56

coffee via ssh terminal.shop. Yeah, you

10:59

want a real experience. You want real

11:01

coffee. You want awesome subscriptions

11:03

so you never have to remember again? Oh,

11:05

you want exclusive blends with exclusive

11:08

coffee and exclusive content? Then check

11:11

out Kron. You don't know what SSH is?

11:14

>> Well, maybe the coffee is not for you.

11:16

Terminal coffee

11:19

in hand.

11:21

Living the dream.

Interactive Summary

The video humorously addresses a perceived "problem" in the programming world: the lack of AI-generated pull requests (PRs) on some open-source projects, contrasting it with a popular library that closed PRs due to an influx of low-quality AI contributions. It then introduces "Andrew's 10 guiding principles" designed to intentionally attract more "slop PRs" from AI agents. These satirical principles include strategies like writing vague issues, explicitly welcoming AI contributions, maintaining a large backlog, disabling branch protection, removing type annotations and tests, using JavaScript, including the `node_modules` directory, shipping known vulnerabilities, using `.github/copilot/instructions` to prompt agents, and adopting an inclusive contributor covenant. The speaker suggests that following these steps can dramatically increase PR volume and lines of code, albeit often with lower quality, implying a critique of certain development metrics and practices.

Suggested questions

13 ready-made prompts