跟讀練習: Github are you joking? - 通過影片學習英語口語
選擇練習模式
每種模式都會開啟全屏練習室。
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.
同頻道
FOR YOU
推薦影片
為什麼要通過這個影片練習口語?
通過觀看和模仿這個影片,你可以提升自己的英語口語練習能力。影片中討論了GitHub的系統錯誤,這為你提供了豐富的技術詞彙和實際場景,你可以在同類討論中使用這些表達。與他人分享這類資訊不僅能增強你的口語流利度,還能提升你的自信心。在實際對話中,你可以用到相關術語,比如“合併請求”和“程式碼回退”,這將使你的表達更加專業和準確。
語法與表達在語境中的分析
該影片中有幾個關鍵的語言結構值得注意:
- 被動語態:例如,"程式碼被悄然回退"。這種結構在描述技術問題時非常有效,使聽者能夠專注於動作的結果而非執行者。
- 疑問句:如“這怎麼可能?”這種表達展示了說話者的驚訝與懷疑,適合在討論意外情況時使用。
- 條件句:例如,“如果你只需保持不變”。這類句子用於表達假設,有助於提出建議或構建邏輯推理。
通過英語影子跟讀這一方法,模仿這些句型可以幫助你在真實對話中運用自如,尤其是在準備雅思口語練習時,結構的多樣性會使你的回答更具深度。
常見發音陷阱
在影片中,有一些詞彙和發音可能會讓學習者感到困惑:
- “merge”(合併):注意這個詞的發音,不要將“g”發成“k”。正確的發音是/mɜːrdʒ/。
- “revert”(回退):發音時,確保清晰地發出“r”音。同時注意“v”和“t”的銜接。
- “commit” (提交):這個詞在語境中被頻繁使用,重點是“c”音,避免與其他詞混淆。
利用shadowspeak的練習方式,針對這些困難之處進行重複練習,可以顯著提高你的發音準確性,並提升與他人的交流能力。
影片中的語法
說話人最常用的結構,並附上影片中的原話:
| 結構 | 影片中的用法 |
|---|---|
| 現在完成時 have/has + 過去分詞 — 過去發生但與現在仍有關聯的事 | I've heard · has happened · has discovered |
| 被動語態 be + 過去分詞 — 強調發生了什麼,而不是誰做的 | was born · were generated · being reported |
| 定語從句 who / which + 從句 — 補充說明人或事物 | GitHub, which is · unreverted, which is · people who are |
什麼是跟讀法?
跟讀法 (Shadowing) 是一種有科學依據的語言學習技巧,最初開發用於專業口譯員的培訓,並由多語言者Alexander Arguelles博士普及。這個方法簡單而強大:您在聽英語母語原聲的同時立即大聲重複——就像是一個延遲1-2秒緊跟說話者的影子。與被動聽力或語法練習不同,跟讀法強迫您的大腦和口腔肌肉同時處理並模模擬實的講話模式。研究表明它能顯著提高發音準確性,語調,節奏,連讀,聽力理解和口語流利度——使其成為雅思口語備考和真實英語交流最有效的方法之一。



















