summaryrefslogtreecommitdiff
path: root/docs/ta/vg151_funny_shit.md
blob: f2d510a33f33459228ea5cb2fc2d301c27edbb07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
# VG151 — Funny Shit

Being a TA is mostly pain, but occasionally you get comedy as a side
effect: newbie questions that make no sense, hilarious program behavior,
creative approaches to a problem, you name it. Every time I see one, I'll
post it here.

All screenshots and conversations are anonymized. If you see yourself in
this blogpost, please don't take it personally. These funny stories are
TAs' primary source of amusement. Please let us have them. Oh, and the
"shit" in this post's title is by no means derogatory.

If you feel extremely uncomfortable with any entry below, please send
email to `<fkfd at fkfd dot me>`.

## 2022-09-13, Lab 0

![They are adding an SSH key but the key they entered is "ssh-keygen -t
ed25519 -C example@example.com"](img/vg151_funny_shit/ssh-keygen.png)

This is a reenactment of a screenshot they sent me to troubleshoot.

## 2022-09-15, group chat

Someone asked if the compiler they need to install was VSCode. One TA
corrected them that VSCode is an IDE. Another TA corrected that TA because
VSCode is technically a text editor, and Visual Studio is an example of an
IDE.

_slow down we'll be getting there_

## 2022-09-22, TA group chat

One of our TAs decided to get a Moss account. The
[website](http://theory.stanford.edu/~aiken/moss/) says:

![](img/vg151_funny_shit/moss_example.png)

<details>
<summary>Transcript</summary>
<p>To obtain a Moss account, send a mail message to moss@moss.stanford.edu.
The body of the message should appear exactly as follows:</p>
<p>registeruser<br/>
mail <i>username@domain</i></p>
<p>where the last bit in italics is your email address.</p>
</details>

Well, here my colleague goes (reenactment):

![](img/vg151_funny_shit/moss_reenactment.png)

<details>
<summary>Transcript</summary>
To: "moss@moss.stanford.edu"<br/>
Subject: Moss Register<br/>
registeruser<br/>
mail <i>their.email@sjtu.edu.cn</i>
</details>

Minutes passed and no reply. Another TA told them they should compose in
plaintext and that italics were unnecessary. Stanford lied; turns out the
message _doesn't_ "appear exactly as follows" after all.

## 2022-09-24, Gitea

![User with Jiang Zemin avatar closed a PR](img/vg151_funny_shit/jiang_avi.png)

AH, nothing like seeing a user on gitea with a pfp of a distinguished
alumnus of ours.

## 2022-09-25, DM

Paraphrased:

> Will you teach us how to finish the project step by step?

My reply was:

> of course

and 10 seconds later:

> not

## 2022-09-27, Lab 2

![Zoom chatbox. Message reads "TA I needed to go for a nuclear acid
test"](img/vg151_funny_shit/nuclear_acid.png)

P… pretty sure it's called a nucleic acid test? \*Ground rumbles\* \*Hears
the word "Chernobyl" in the distance\*

## 2022-09-27, teaching team channel

One student reached out to ask this question (paraphrased):

> Can I use other languages than MATLAB for project 1?

Their rationale is, they thought the project description document we
handed them didn't specify which language (spoiler: it did), so they
assumed they could use any.

Well _in theory_ you could write the project in Python with matplotlib. Or
in C/C++ with OpenGL. But… better not talk about it.

(See followup below)

## 2022-09-30, Gitea

On 16:54 it came to my attention while `git pull`ing all the students'
homework repos that one branch was 108.26MiB in size. When uncompressed,
it grew to 831.3MiB. It should not be larger than 1MiB.

I smell fuckup fumes from a distance away. Upon close examination, they
pushed their project code, which should have been strictly kept personal.
Worse, there are two versions. Worse, neither is in Matlab, but in C++.
Worse, one of them is built on Qt. Worse, they were written with Visual
Studio. Worse, they pushed all the vsidx, vcxproj, ipch and all kinds of
crap.

Manuel predicted that students will do all sorts of stupid things, going
as far as considering git lfs. Real conversation:

> TA: will lfs be used in this course?

> Manuel: it should not but we never know what they will push by mistake…

Murphy's law worked. Apart from this VS atrocity, students were pushing:

- tarballs / zip files they should be submitting to the OJ
- batch file automating tar
- pdf
- symlinks to the pdf
- a CC BY 4.0 International license

## 2022-10-01 to 2022-10-02, Canvas (and everywhere else)

Right past midnight, as the calendar flips to 2022-10-01, I began grading
all freshmen's homework 1 with a Python script inherited from past TAs.
The script got a few hiccups, because:

- I misconfigured the # number of OJ test cases
- OJ server constantly crashes
- Students' first name on Gitea is capitalized but not on Canvas
- Off-by-one bug produces non-existent group, hgroup-00

It took me more than an hour to fix them. At 01:47, I finally released
freshmen's first homework grade. It was disastrous. By tradition we gave
them one day to fix mistakes they've made, and the next midnight I re-ran
the script. Signs of improvement are showing, but there still remains four
groups who got a full deduction (-2.5).

Naturally, my inbox was flooded with complaints and questions (around 25),
especially from these four groups. When I woke up, I decided to
investigate.

- Group A: Named their README file `README .md`
- Group B: Named their README file `README(ex1).md`
- Group C: Pushed to master but forgot to release
- Group D: Not enough teammates to approve PR

Considering A and B made understandable freshman mistakes, C had
a technical problem as explained by team member, and D actually did
contact us beforehand, I negotiated a partial refund with Manuel.

## 2022-10-08, JOJ

While a fellow TA was developing a JOJ integration plugin for VSCode, they
discovered that they could submit Python code to a Matlab exercise, and,
better yet, pass all test cases by mimicking the "MATLAB is selecting
SOFTWARE OPENGL rendering" splash text.

They said it only works if the file is named `foo.py` and uploaded via
handcrafted HTTP POST requests, not the website.

The maintainer of JOJ claims, allegedly, that they had zero fucking idea
about it.

## 2022-10-11, Mattermost

We have an integration that posts all PRs from Gitea to MM. However, there
are two problems with text rendering:

- HTML is not unescaped inside `<code>`
- Emoticons are converted to emoji, even when it shouldn't be one

Enjoy whatever this is:

![](img/vg151_funny_shit/mm_emoticon.png)

<details markdown="1">
<summary>Transcript</summary>
FOCS Gitea (BOT) 20:16

\[ENGR151-22/hgroup-REDACTED\] Pull request opened: #14 h3-REDACTED by REDACTED

 #14 h3-REDACTED

\# Homework ❤\>

This part is only for indivudal submission. Delete it for the group submission.
Replace all elements between `&lt; &gt;` by appropriate values. To tick a box
change `- [ ]` into `- [x]`.

\## Overview

Exercises completed: <1,2,3,4,5,6>
</details>

## 2022-11-09, East Middle Hall

A freshman asked me to arrange an office hour for their project 2, so
I did. Context: project 2 is an Uno spinoff but with regular poker cards.

I checked their code. First thing I saw was `struct Puke`. I asked them
what it was. It was pinyin transliteration for "Poker". I tried to explain
"Puke" means "to vomit" in English. They didn't care. 🤷

## 2022-11-19, some conference room

We were about to deliver a recitation class for the midterm, and my
colleague put on Minami-ke music (in case you didn't know, the three
sisters from [Minami-ke](https://en.wikipedia.org/wiki/Minami-ke) are
recurring characters in the VG151 lore.

![Playlist titled "Minami-ke OP/ED"](img/vg151_funny_shit/minamike.png)

## 2022-12-15, Mattermost

We were about to hold the final exam the next day, and since it was
online, we decided that Canvas quizzes are the way to go. I clicked into
one they were working on, clicked Edit then Cancel, but a heads-up told me
the quiz was deleted. I was like "I done fucked up". Quickly I admitted my
mistake to my colleagues.

![Chat dialogue](img/vg151_funny_shit/deleted_quiz.png)

<details markdown="1">
<summary>Transcript</summary>
Me: @TA-redacted um, this is gonna be really awkward, but I accidentally
deleted the quiz

Me: idk how it happened all i did was poke around

TA-redacted: no, i [sic] deletes it

Me: bruh

(there was a ROFL emoji reaction below my first message.)
</details>

## 2022-12-16, dorm

I was grading project 2 late at night and saw this monstrosity.

![Screenful of code, hardly any linebreaks](img/vg151_funny_shit/p2_code.png)

clang-format to the rescue.

## 2022-12-18, dorm

Still grading project 2, but this one made me chuckle.

![Part of a C source file](img/vg151_funny_shit/target_os_iphone.png)

<details markdown="1">
<summary>Transcript</summary>

```
//----------------Apple OS-------------
#elif __APPLE__

#if defined(TARGET_OS_OSX)
// MacOS

#elif TARGET_OS_IPHONE
// IOS

#else
// other APPLE os
#endif
```
</details>

For context, our project was meant to run on computers in the terminal.