A Socially-Distanced Thanksgiving for ML Engineers
Why is this AI ML meme funny?
Level 1: Stay Home, Code Instead
Imagine you’re not supposed to have a big Thanksgiving dinner with lots of people (because it might be unsafe). This meme jokingly says: don’t invite everyone over for turkey, let’s just do something on the computer! It’s funny because it replaces a warm family gathering with a nerdy computer command.
Think of it like this: normally on Thanksgiving you “gather” all your family around the table. But a programmer hears the word “gather” and immediately thinks of a tool or command named “gather.” In this case, torch.gather is a command from a computer library (PyTorch) that collects pieces of data. So the meme is playing with the double meaning of “gather.” It shows a picture of a family dinner and says “Don’t gather like this.” Then it shows a big piece of computer text (TORCH.GATHER) and says “Do it this way instead.” It’s kind of like telling a chef, “Don’t cook a big meal, just microwave a frozen dinner instead” — but in a super geeky way.
The reason it’s amusing is that it’s completely absurd: you obviously can’t replace a Thanksgiving meal with a line of code! But the silliness makes us laugh. It’s poking fun at how developers sometimes prefer their computers over people (at least as a joke). And given the situation where meeting in person wasn’t a good idea, the meme jokingly suggests the safest gathering is one that happens inside your computer. In simple terms, it’s saying: “Let’s all stay home and play with our code, happy Thanksgiving!”
Level 2: Social Distancing API
Let’s break this down for a newer developer or someone just getting into machine learning. The meme sets up a funny comparison using the word “gather”. In normal English, “gather on Thanksgiving” means having a bunch of people come together for a big dinner. In programming (especially in PyTorch, a popular library for deep learning), torch.gather is the name of a function. It’s as if our engineer’s brain only sees the word gather as code! The advice “skip the table, call torch.gather instead” is intentionally ridiculous: it suggests that instead of a family gathering, you should run a piece of code. For a developer audience, that’s a silly and relatable scenario — we joke that we prefer coding to socializing sometimes, or that we even think of family time in terms of algorithms. This is classic AI humor meets developer humor.
What is torch.gather actually? It’s a function for tensor indexing. A tensor is basically a multi-dimensional array (imagine a digital table of numbers, or an Excel spreadsheet on steroids). In PyTorch, everything (data, inputs, model outputs) is a tensor. Now, torch.gather(input, dim, index) lets you collect, or “gather,” elements from an input tensor along a certain dimension using indices. Think of it like this: you have a big table of values, and you have another table of the same shape that tells you which positions to pick from the big table. torch.gather will go through and pluck out those specific values.
For example, if input is a 2D tensor (matrix):
import torch
# A 2x3 "table" of numbers (2 rows, 3 columns)
table = torch.tensor([[1, 2, 3],
[4, 5, 6]])
# An index tensor of the same shape that tells which item to pick from each row
# For row 0, pick columns 0 and 2; for row 1, pick columns 1 and 1
index = torch.tensor([[0, 2],
[1, 1]])
# Use torch.gather to collect those indexed items along dimension 1 (the columns)
selected = torch.gather(table, dim=1, index=index)
print(selected)
# Output:
# tensor([[1, 3],
# [5, 5]])
# Explanation: From the first row [1,2,3], we gathered items at col 0 and col 2 -> [1,3].
# From the second row [4,5,6], we gathered items at col 1 and col 1 -> [5,5] (picking the value 5 twice).
So, torch.gather gives us a new tensor (selected) containing just the pieces we picked out from the original table. It’s a bit like making a to-go plate from a buffet: you choose the specific items you want from the big spread. Here, the index tensor is like a map telling which dishes to scoop, and dim=1 means “we’re picking by column from each row.”
Now, why would an ML engineer care about torch.gather? In everyday machine learning or deep learning tasks, you might use it to filter model outputs or rearrange data. For instance, if your neural network predicts a bunch of numbers and you only need some of them (say the ones corresponding to correct labels or a certain category), torch.gather can pull those out quickly. It’s a handy tool for advanced indexing when basic slicing won’t cut it.
The meme specifically shows torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor — this is exactly how the PyTorch docs format the function definition. It lists parameters like sparse_grad (which is an advanced option usually not needed in simple cases) and out (to specify an output tensor). To a junior developer, all that detail might look a bit intimidating, but the key idea is: this is a function signature from a documentation page. By putting that in the meme, it emphasizes the programmer mindset. It’s like the meme is saying, “Instead of grandma’s recipe book, here’s the PyTorch documentation page to get you through Thanksgiving!” It’s a little absurd and that’s why it’s funny.
Let’s talk about the two halves of the meme explicitly:
Top half (the photo): A real Thanksgiving gathering with people clinking glasses, turkey on the table, candles — the works. Captioned “How you shouldn’t gather on Thanksgiving,” it implies “don’t do this.” In late 2020, everyone knew why: we were in a pandemic, and health guidelines said no large gatherings. Even without knowing the date, the phrase hints that it’s a bad (or risky) idea to have a normal Thanksgiving dinner that year.
Bottom half (the code): Big bold
TORCH.GATHERand the function signature. Captioned “How you should gather on Thanksgiving.” This suggests a “proper” way to gather that isn’t physically meeting people. It’s a huge nerdy leap — instead of any normal solution (like a virtual Zoom dinner or a socially-distanced meetup), it jumps straight into code. Essentially, it’s telling developers: stay home and play with your code (your tensors) rather than seeing people. It reads like a joke advice from one ML engineer to another: “Don’t gather around the table, gather some tensors in PyTorch!”
For someone newer to coding or PyTorch, the humor also lies in imagining a literal-minded developer. Developers love to take things literally or find a tech analogy. Here the term “gather” triggers a programming response. It’s as if our developer’s problem-solving brain hears “How to gather safely?” and the answer is not “meet on video chat” but “just use an API call!” It’s poking fun at ourselves — how we sometimes think the solution to life’s problems is more code. Developer humor often involves these little leaps where real life is translated into tech-speak. If you’ve ever caught yourself making a git joke about relationships or saying “that’s not a bug, it’s a feature” in daily life, you’ll recognize the pattern. This meme is exactly that: mixing up the real world and tech world.
Also, the context of Thanksgiving and being a holiday meme makes it relatable. Around holidays, especially in the U.S., you see a lot of jokes about avoiding awkward family conversations. Here it’s like the ML geek’s strategy to avoid both the pandemic risk and maybe those nosy personal questions from relatives: just bury yourself in code! 😄 Instead of passing the gravy, you’re passing tensors into torch.gather(). Instead of uncles and cousins, you’ve got indices and dimensions. It’s humor that resonates if you’ve ever been that person explaining to your family what you do in tech — sometimes it’s easier to just retreat into your code cave.
Lastly, the tags like #torch_gather and #tensor_indexing tell us the meme is very much aimed at the ML developer community. It’s niche: if you don’t know PyTorch, you might not get why TORCH.GATHER is capitalized there. But if you do, it clicks immediately. It’s one of those “I see what you did there” moments that make you chuckle and maybe share it with your other AI/ML friends. It’s definitely a slice of ml_engineer_life humor — trading social life for messing with tensors, even on a holiday. And given the timing (Thanksgiving 2020), it also doubled as a PSA: be safe, keep your gatherings virtual — or in this case, purely in code. 😅
Level 3: Torching the Turkey
At first glance, this meme is a machine learning twist on 2020’s Thanksgiving reality. Instead of a crowded dinner table (which we shouldn’t be doing during a pandemic), it jokes that an AI/ML engineer’s solution is to call torch.gather. In PyTorch (a popular deep learning library), torch.gather is a tensor operation — nothing to do with holiday dinners, except for the pun on “gather”. The humor lands because an ML engineer might literally think in code terms: “Why gather people when I can gather data?”
The top image shows an in-person gathering around a table (the classic Thanksgiving feast). The caption “How you shouldn’t gather” hints at the 2020 context: due to COVID-19, large in-person gatherings were strongly discouraged. So, telling developers “skip the table” was very real advice at the time. But instead of proposing a Zoom call or some normal alternative, the meme plunges into developer humor by saying “call torch.gather instead.” It’s an absurd, nerdy leap: trading turkey and family for PyTorch and tensors. 🍗➡️💻
Why is this funny to a seasoned developer or ML engineer? It’s layering multiple contexts:
- Wordplay: Gather is both a social act and a tensor indexing operation. Using a code function to replace human interaction is a classic programming joke (like saying “I'll
git mergewith the family later” at dinner). Here, the double meaning of gather ties Thanksgiving to PyTorch in a way only techies find natural. - Life of an ML Engineer: Deep learning folks spend their days with tensors and functions. Seeing “TORCH.GATHER” in big letters feels like reading an API reference instead of a holiday greeting. It pokes fun at how deeply our work jargon can invade everyday life. An ML engineer might chuckle, thinking “Yep, I’ve been optimizing code so much that even ‘gather’ makes me think of tensors.”
- Pandemic reality: In late 2020, many developers indeed skipped family gatherings. The meme wryly offers an over-optimized solution: if you can’t gather people, gather some data! It’s darkly comedic — replacing human warmth with a cold PyTorch function — but that tongue-in-cheek attitude got a lot of us through the quarantine holidays.
From a technical perspective, torch.gather(input, dim, index) is an operation that collects elements from a tensor along a specified dimension. The meme shows the function’s signature (with parameters like sparse_grad=False), as if the second half of the meme were literally a page from the PyTorch documentation. This format exaggerates the contrast: warm festive photo on top, sterile code snippet on bottom. For an experienced dev, the doc blurb looks instantly familiar — it’s exactly how PyTorch docs present a function. So the bottom half visually screams “coding time!” in place of family time. Knowing what torch.gather does, a senior dev might also catch an extra wink: in data science, gathering is about shaping data, whereas in holidays, gathering is about shaping memories. The absurdity of mixing these contexts is the joke.
Let’s unpack torch.gather a bit more for those in the deep learning world: it’s often used when you have to select specific outputs from a model’s prediction tensor. For example, say you have a model’s output probabilities for multiple classes and you only want the probability of the true class for each sample — you’d use torch.gather with the class indices. It’s a concise way to grab the entries you need from a big multi-dimensional tensor. Under the hood, this can involve some non-trivial index calculations. The presence of sparse_grad=False in the signature hints at gradient-handling details: gathering from an input tensor can produce a non-contiguous pattern of memory access, and PyTorch gives you the option to treat the gradient sparsely for performance in certain cases. This is a nuance an advanced user or someone who read the docs might recognize. It’s like a tiny Easter egg for the seasoned PyTorch dev: “hey, we even included the weird parameter you never set!” It makes the code snippet look extra authentic and nerdy.
There’s also an ironic subtext a veteran might appreciate: in real life 2020, we were told “gather in a small group or not at all”; in computing, gather operations are actually collecting from distributed pieces. In parallel computing and GPU code, gather refers to reading from many scattered memory locations into one collection. (There’s even a complementary operation called scatter that does the opposite by distributing data out — something we actually did want people to do physically in 2020: scatter apart, not gather together!). So the meme cheekily suggests using a gather operation in code because we can’t gather in person. A senior dev with systems knowledge might smirk at how the safe practice in life (everyone staying scattered) is contrasted with a data operation named gather. It’s a playful inversion of terms.
In summary, at the “senior engineer” level, this meme stacks AI humor on top of pandemic-era reality. It references a specific PyTorch API that ML folks know well, and leverages the double meaning to highlight how developers sometimes conflate real life with code. It’s funny because it’s overkill: instead of saying “have a virtual dinner,” the meme leaps to a code snippet as the ideal solution. It exaggerates the stereotype of developers who find comfort in code for every problem. It also subtly nods to the fact that, in 2020, many of us did end up spending holidays in front of our computers, so why not do a little extra tensor indexing while we’re at it? The result is a multi-layered inside joke — equal parts deep learning jargon, DeveloperHumor, and a pinch of 2020 coping mechanism.
Description
A two-panel meme that contrasts appropriate and inappropriate ways to celebrate Thanksgiving, posted in November 2020 during the COVID-19 pandemic. The top panel has the heading, 'How you shouldn't gather on Thanksgiving:' and shows a warm, inviting photo of a large group of friends and family gathered around a dinner table, toasting with wine glasses. The bottom panel, under the heading 'How you should gather on Thanksgiving:', displays only text. It shows the command 'TORCH.GATHER' in a large, monospaced font, followed by a screenshot of the official PyTorch documentation for the function: 'torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor'. The humor is a multi-layered pun for the machine learning community. It plays on the word 'gather,' contrasting a dangerous social gathering with the 'safe' alternative of using a specific function from the PyTorch deep learning library. It's a niche, clever joke that was particularly resonant during the social distancing mandates of its time
Comments
9Comment deleted
My family's Thanksgiving seating chart is basically a `torch.gather` operation. You provide the input tensor of relatives, the dimension (table), and an index of who can sit next to whom without causing a segmentation fault
This year I’m torch.gather-ing relatives across dim=0 with index=ZoomIDs - cheaper than airfare, fully deterministic, and I can .detach() the moment politics backpropagates
After 15 years of explaining tensor operations to stakeholders, I've realized torch.gather() is still easier to understand than why production models suddenly decide to gather NaN values right before the quarterly demo
The real Thanksgiving miracle is when your torch.gather() operation doesn't throw a dimension mismatch error at 3 AM while you're trying to implement attention mechanisms. At least with family gatherings, the only thing that crashes is your patience, not your training run
Thanksgiving architecture: we only “gather” with torch.gather - invitees are a LongTensor index, out-of-range cousins raise IndexError, and sparse_grad=False because we’re not carrying emotional gradients into Q1
Family gatherings: unpredictable shapes and relational drama. torch.gather: precise indices, consistent output, zero small talk
Thanksgiving policy: torch.gather - the GPU can survive non‑coalesced reads; the family can’t survive non‑coalesced opinions
Хехе, торч Comment deleted
Prosto dunul sladko Comment deleted