跟读练习: Github are you joking? - 通过YouTube学习英语口语
C2
GitHub just had its magnum opus of a bug.
194 句
如果句子过短或过长,请点击 Edit 进行调整。
1
GitHub just had its magnum opus of a bug.
2
Now, I've heard lore that people have dropped databases,
3
just some showstopper bugs, but I did not think it was possible for GitHub to cease being Git.
4
Now, we're gonna go through what actually happened,
5
but more so, I just have a lot of questions as to how this was even possible.
6
All right, so before we begin about GitHub ceasing to be Git,
7
let's first go over a bit of lore because it's important.
8
In 2005, the creator of Linux decided that he was going to take the Brendan Eich challenge,
9
which is to create a programming language in seven days,
10
but instead create version control in 10.
11
And thus, Git was born.
12
Upon seeing this beautiful distributed version control,
13
software developers did the only thing that made sense,
14
immediately create a single point of failure.
15
GitHub became so popular that other services decided to use the hub naming convention.
16
Of course, the most popular being Docker Hub,
17
where you can store all your dockers at.
18
Microsoft, seeing that GitHub attracted developers,
19
developers, developers, decided to purchase GitHub for $7.5 billion and proceeded to generationally fumble the bag.
20
Microsoft, you could have done like nothing.
21
Like if you would have just left GitHub,
22
it would have operated better than whatever has happened today.
23
But the impressive part is that Microsoft has discovered the fourth E in the triple E strategy of course,
24
which is embrace, extend, extinguish, and shitify.
25
Yesterday, we had a regression in the merge queue behavior where,
26
in some cases, squash or rebase commits were generated from the wrong base state,
27
making earlier changes appear reverted in branch history.
28
You had one job, just one singular job,
29
GitHub, which is of course to be git.
30
Now that's only about half the story because it really isn't kind of actually illustrating what happened.
31
Now, here's a better story.
32
On April 23rd, GitHub's merge queue started silently reverting code on customers' main branches.
33
Now, reverting is actually a Git operation.
34
It did not revert code.
35
That's very important to understand.
36
Not a handful of lines, in some cases, thousands.
37
Nothing looked wrong.
38
A PR with a plus 29 minus 34 diff got reviewed, approved, and queued.
39
What actually landed on main was a single commit with plus 245 minus 1137.
40
Thousands of lines of unrelated already shipped code were quietly removed.
41
Every merge that followed went in on top of that broken history.
42
That means that you would look at the PR.
43
Your PR would actually look correct.
44
And when you hit the merge button,
45
what actually went in was not what you hit merge on.
46
This is absolutely diabolical behavior.
47
I mean, to be lied to,
48
like the UI just telling you, nah, everything's good, man.
49
This is exactly what's going to happen.
50
And for you to have no idea is crazy.
51
I still have a lot of questions,
52
but this is roughly how it's being reported.
53
Now, we do not have the official GitHub kind of postmortem that explains exactly what went wrong.
54
This is just what is being purported by large companies.
55
Effectively, what happens is you have history that looks like this in Git,
56
and this would be your main branch.
57
So let's just say you have four commits on your main branch.
58
And for whatever reason, you branched off back here to make your new branch,
59
and then you've added two commits.
60
So the actual root cause of what would happen is that when you'd go to merge,
61
what would end up happening is they would run something called a merge queue,
62
which would take your two merges,
63
which if you just drew this in a straight line would be three circles,
64
because you'd have where you branch from and your two changes.
65
And it would squash these two into a singular change.
66
So they are just one single branch.
67
This is actually a whole new branch that's created internally in one of Microsoft's CI.
68
Let's just call this singular squashed merge A.
69
What should happen is that A should be merged to the tip of main.
70
But what actually ended up happening is
71
that they would take this history right here and overwrite whatever was on main with this right here.
72
So that means if this thing was called B,
73
that means what would be on main now would simply be B to A.
74
And that is it.
75
That means these three commits were just gone.
76
Now, this obviously caused teams to scramble all afternoon.
77
There are hundreds of tweets of people saying,
78
hey, I had to spend all afternoon
79
or multiple days trying to figure out how to detangle whatever has happened
80
and what is actually missing from all of their PRs.
81
GitHub, of course, has said there's only 2,804 pull requests that were messed up out of 4 million merged.
82
Then later on said there was only 800K PRs either way.
83
That's the difference between 0.07% and 0.3 plus percent.
84
It's a big difference.
85
So which one is it, GitHub?
86
And obviously even more confusing thing,
87
if you go to April 23rd, that's weird.
88
I don't, do you see like some major outage or a partial outage going up there?
89
No, they don't show anything went wrong on the 23rd.
90
Obviously the reason for that is that the only downtime was you
91
and your team trying to figure out how to undo what just happened.
92
But I also just have a lot of questions and maybe you guys can help me on this one.
93
So the first thing I have is that if this is B
94
and this is A and this is the temporary branch that we have created,
95
if history looked like this,
96
wouldn't pulling down cause you to have some sort of,
97
hey, the remote branch is like out of sync with your local branch,
98
meaning your two histories have diverged.
99
You wouldn't even be able to pull down main anymore.
100
Or the other option is that instead of just simply putting A right here,
101
it actually had revert commits,
102
meaning that it would have these three commits right here,
103
and then it would have another commit that was like,
104
hey, I'm reverting these three commits right here,
105
and then you would have something like A,
106
which would make this not too difficult to be able to go,
107
okay, well, here's the only revert we have,
108
unreverted, which is not like how anything sounds like.
109
But even more importantly, Git is still Git.
110
You cannot change history like this easily.
111
Does that mean internally is Microsoft like pushing with force, right?
112
Because the only way that you could push this right here,
113
this history onto main would be that you have to force push because you're changing history.
114
And if that's the case,
115
if that's the case that they're force pushing,
116
makes me kind of nervous.
117
Like what other issues are there?
118
What other things have been silently happening?
119
And of course this, there's no shot it was 2,804 total.
120
Please double check this stat.
121
We probably had 200 plus as a single customer.
122
So I'm actually just pretty curious.
123
Did you lose any commits?
124
Are you using the kind of the auto squash feature and thus you have things gone?
125
Also, this has opened up the most legendary excuse of all time for the next year.
126
When any company gets hacked and stuff gets leaked or something goes horribly wrong,
127
they can go, oh yeah,
128
well, actually we actually did implement perfect security.
129
We actually had this exact situation already covered,
130
but GitHub decided to silently drop our commit.
131
Brother, it's not our fault, it's GitHub's.
132
It's also funny because there's probably a bunch of vibe coders
133
that they just simply just kept on going on with their day.
134
Some weird thing happened and they're getting,
135
they're just like, oh, fix it,
136
oh, AI, just fix it.
137
And then when a bug appeared,
138
they're like, stupid AI, always reverting previous changes.
139
Hey, fix that one now again.
140
You know that happened.
141
Absolutely beautiful.
142
And the worst part is for once, it actually wasn't AI.
143
They're just gonna be blamed for part of this for a whole group of people.
144
Actually, I mean, to be fair,
145
it could have been AI.
146
It could, hey, it could have been.
147
There's some reports going around that it was a faulty feature flag.
148
Of course, Hacker News had its heyday and people were viciously discussing what happened to GitHub.
149
Four people spent hours putting a repo back together at my company after this.
150
GitHub has been unreliable and now they are breaking core tenant of what I expect from this service.
151
Core tenant?
152
You mean tenant, not tenant.
153
You must be fun at parties.
154
I don't care to associate with people who are offended by being corrected.
155
They can sod off and I never go to what you Americans call parties.
156
Whenever you use quotes and they are directly followed by punctuation,
157
you must include the punctuation within the quotes, parties, period.
158
Reply, don't you love Hacker News?
159
It's just such a lovely place where you see really thoughtful and amazing discussions about topics.
160
But at the end of the day,
161
we still do not have the exact post-mortem,
162
so we don't know the exact cause or reasoning,
163
or will GitHub even provide us with the exact details?
164
I don't know.
165
So if anybody can answer these questions,
166
does Microsoft actually use a force underneath the hood to be able to align histories?
167
Were there revert commits, which I don't think there was because nobody is saying that on the internet,
168
wouldn't this cause all sorts of history being absolutely destroyed?
169
Wouldn't this be kind of easy to be able to kind of resolve?
170
Maybe, yeah, it would take a little bit of time.
171
Maybe you have to ask Claude Opus for,
172
you know, mythos to be able to resolve it,
173
but you should be able to get this done pretty quick.
174
And really, was it only 2,800 PRs?
175
Is that it?
176
I mean, Mr. 200 over there doesn't seem to make that to be the case.
177
The name is that I think the most impressive thing out of all of this is
178
that GitHub created such a monumentously good name that even after GitHub ceased to be Git for a little bit,
179
everybody's probably still going to keep on using it.
180
I mean, now that, my friends,
181
is one of the most impressive products of all time.
182
At this point, it seems like GitHub is more addictive than cigarettes.
183
A jet.
184
Hey, is that HTTP?
185
Get that out of here.
186
That's not how we order coffee.
187
We order coffee via sshterminal.shop.
188
Yeah, you want a real experience?
189
You want real coffee?
190
You want awesome subscriptions so you never have to remember again?
191
Oh, you want exclusive blends with exclusive coffee and exclusive content,
192
then check out Kron.
193
You don't know what SSH is?
194
Well, maybe the coffee is not for you.
下载应用
AI 为你说出的每个句子打分
TRENDING
热门
为什么要通过这个视频练习口语?
通过观看和模仿这个视频,你可以提升自己的英语口语练习能力。视频中讨论了GitHub的系统错误,这为你提供了丰富的技术词汇和实际场景,你可以在同类讨论中使用这些表达。与他人分享这类资讯不仅能增强你的口语流利度,还能提升你的自信心。在实际对话中,你可以用到相关术语,比如“合并请求”和“代码回退”,这将使你的表达更加专业和准确。
语法与表达在语境中的分析
该视频中有几个关键的语言结构值得注意:
- 被动语态:例如,"代码被悄然回退"。这种结构在描述技术问题时非常有效,使听者能够专注于动作的结果而非执行者。
- 疑问句:如“这怎么可能?”这种表达展示了说话者的惊讶与怀疑,适合在讨论意外情况时使用。
- 条件句:例如,“如果你只需保持不变”。这类句子用于表达假设,有助于提出建议或构建逻辑推理。
通过英语影子跟读这一方法,模仿这些句型可以帮助你在真实对话中运用自如,尤其是在准备雅思口语练习时,结构的多样性会使你的回答更具深度。
常见发音陷阱
在视频中,有一些词汇和发音可能会让学习者感到困惑:
- “merge”(合并):注意这个词的发音,不要将“g”发成“k”。正确的发音是/mɜːrdʒ/。
- “revert”(回退):发音时,确保清晰地发出“r”音。同时注意“v”和“t”的衔接。
- “commit” (提交):这个词在语境中被频繁使用,重点是“c”音,避免与其他词混淆。
利用shadowspeak的练习方式,针对这些困难之处进行重复练习,可以显著提高你的发音准确性,并提升与他人的交流能力。
什么是跟读法?
跟读法 (Shadowing) 是一种有科学依据的语言学习技巧,最初开发用于专业口译员的培训,并由多语言者Alexander Arguelles博士普及。这个方法简单而强大:您在听英语母语原声的同时立即大声重复——就像是一个延迟1-2秒紧跟说话者的影子。与被动听力或语法练习不同,跟读法强迫您的大脑和口腔肌肉同时处理并模仿真实的讲话模式。研究表明它能显着提高发音准确性,语调,节奏,连读,听力理解和口语流利度——使其成为雅思口语备考和真实英语交流最有效的方法之一。
