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"

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 says:

Transcript

To obtain a Moss account, send a mail message to moss@moss.stanford.edu. The body of the message should appear exactly as follows:

registeruser
mail username@domain

where the last bit in italics is your email address.

Well, here my colleague goes (reenactment):

Transcript To: "moss@moss.stanford.edu"
Subject: Moss Register
registeruser
mail their.email@sjtu.edu.cn

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

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"

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 pulling 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:

Transcript

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 < > by appropriate values. To tick a box change - [ ] into - [x].

## Overview

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

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 are recurring characters in the VG151 lore.

Playlist titled "Minami-ke OP/ED"

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

Transcript

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.)

2022-12-16, dorm

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

Screenful of code, hardly any linebreaks

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

Transcript
//----------------Apple OS-------------
#elif __APPLE__

#if defined(TARGET_OS_OSX)
// MacOS

#elif TARGET_OS_IPHONE
// IOS

#else
// other APPLE os
#endif

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