this post was submitted on 21 Aug 2025
1346 points (95.4% liked)

memes

16997 readers
4560 users here now

Community rules

1. Be civilNo trolling, bigotry or other insulting / annoying behaviour

2. No politicsThis is non-politics community. For political memes please go to !politicalmemes@lemmy.world

3. No recent repostsCheck for reposts when posting a meme, you can only repost after 1 month

4. No botsNo bots without the express approval of the mods or the admins

5. No Spam/Ads/AI SlopNo advertisements or spam. This is an instance rule and the only way to live. We also consider AI slop to be spam in this community and is subject to removal.

A collection of some classic Lemmy memes for your enjoyment

Sister communities

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] moseschrute@lemmy.world 4 points 3 days ago* (last edited 3 days ago) (3 children)

Let’s settle this once and for all.

I’m Gen Z. Quiz me on how computers work.

Edit: I bet I can run circles around some of you millennials :)

[–] CaptDust@sh.itjust.works 13 points 3 days ago (2 children)

Oh you know computers? Name every group policy.

[–] moseschrute@lemmy.world 11 points 3 days ago (1 children)
[–] CaptDust@sh.itjust.works 8 points 3 days ago* (last edited 3 days ago) (2 children)
[–] moseschrute@lemmy.world 7 points 3 days ago* (last edited 3 days ago) (1 children)

Also, the bridge was designed as a suspension bridge, but nobody actually knew how to build a suspension bridge, so they got halfway through it and then just added extra support columns to keep the thing standing, but they left the suspension cables because they’re still sort of holding up parts of the bridge.

Idk if I’ve laughed this hard in a while 😂

Once a week my coworker is like, this code has been working for years so we don’t touch it

[–] chM5tZ8zMp@lemmy.sdf.org 2 points 2 days ago

Most people don’t even know what sysadmins do, but trust me, if they all took a lunch break at the same time they wouldn’t make it to the deli before you ran out of bullets protecting your canned goods from roving bands of mutants.

Same.

[–] Onomatopoeia@lemmy.cafe 6 points 3 days ago

Hahahahahaha, omg that's a brilliant read. Thank you, I will be sharing it with my technical friends (any kind of technical will get it, one friend is in hydraulics and boy, the stories are so like mine in IT).

[–] Valmond@lemmy.world 7 points 3 days ago (2 children)
[–] moseschrute@lemmy.world 5 points 3 days ago* (last edited 3 days ago) (3 children)
  • The lowest level is transistors, which are electronic switches that have an on and off state. In other words, they are binary and can represent 0 and 1
  • Those get combined into gates of two inputs. An “and” gate outputs 1 if both its inputs are 1. An “or” gate outputs 1 if either of its inputs are 1. And Xor gate outputs 1 if and only if one of its inputs is 1.
  • A bunch of other complicated shit happens
  • Boom assembly. Don’t try and read or write it, because it will make you wanna quit computers
  • C comes into play. Designed to unfuck, assembly so you can actually write readable code. Just don’t forget to release your memory
  • More complicated shit. Something about kernels and GNU. Userland vs kernel land? Idk
    • ARM might be different since it can run process outside of userland and kernel I think? Something about secure compute/marketing BS
  • Inside of user land, we have the web browser. This is there the cool shit happens.
  • The browser runs JavaScript, CSS and HTML. JavaScript is a single threaded, but nonblocking language with an even loop and microtask queue.
  • Inside of the browser we run React. React is a framework where UI is a function of state and the data flows in one direction. It can also be used to slam your CPU.
  • Now that we’re into high level languages, it would only be fun if it looped back around to the beginning. So we invoke some C code that has been compiled to web assembly. Mmmm how efficient

Edit: I tried to do this all off the top of my head. After writing this, I think I meant user space vs kernel space. Idk if user land is a word

[–] jatone@lemmy.dbzer0.com 5 points 3 days ago (1 children)
[–] moseschrute@lemmy.world 3 points 3 days ago* (last edited 3 days ago) (1 children)

I guess between C and assembly there’s abstract syntax trees and maybe LLVM, which is probably also written in C. Idk I skipped compilers in college.

I also know the networking stack has a bunch of layers, but that felt like its own separate thing to “computers”. I think UDP makes more errors than TCP but UDP also go brrrrr

[–] jatone@lemmy.dbzer0.com 2 points 3 days ago (1 children)

Hehe, llvm is a compiler framework, basically provides all the utilities for processing an AST.

ASTs have various flavors but they're all the same thing an intermediate representation for a program that optimizers and linkers use to create binaries.

The network stacks meh, 6 or 7 layers depending on what protocol you use but in brief: physical, transport, application. More and more functionality has moved into the transport in the name of efficiency, see quic. But in general not worth worrying about most of the abstraction was nonsense anyways.

And you missed out compilers was one of the most useful classes in cs circulums since it teaches you how languages work.

[–] moseschrute@lemmy.world 1 points 3 days ago* (last edited 3 days ago)

I KNOW! My biggest mistake in college was worrying about my GPA and that worry keeping me from taking harder classes. But I did learn about ASTs.

[–] slackassassin@sh.itjust.works 1 points 3 days ago (1 children)

Transistors are only on and off switches when run in saturation. This is relevant to CPUs in the sense that the rising/falling edge and jitter affect the setup and hold times and thus the maximum clock rate. End pedantry.

[–] moseschrute@lemmy.world 1 points 3 days ago* (last edited 3 days ago) (1 children)

This is the content I’m here for! Please continue I want to learn more

[–] slackassassin@sh.itjust.works 1 points 3 days ago

There's an active region between on and off where the current from the collector to emmiter is proportional to the base current. This can be used in other applications like amplifiers. But in digital applications that active region is the transition time between low and high states.

In order to obtain a deterministic outcome the rising edge must be predictable and it must stay at a logic level 1 for long enough to account for propagation delay. These considerations are known as setup and hold. The higher the frequency the clock runs, the tighter these constraints become.

[–] Valmond@lemmy.world 1 points 3 days ago (1 children)

Nice 👍🏽!

Machin code comes to mind, and "more" high level languages like C++, template metaprogramming and other horror stories 💀

And CD players!

Cheers 😋

[–] moseschrute@lemmy.world 4 points 3 days ago* (last edited 3 days ago) (1 children)

My impression of C++ is that’s it’s actually C++++++++ as in, how many more decades of features can we cram into this language before it explodes

What’s a CD player /s

Fun fact about a random CD player. The USB-A external CD player Apple sold after removing the internal CD player kinda abused the USB standard. I believe it needed more current than was allowed by USB, so Apple found some way to make this specific device draw more power than the USB standard supported at the time. Today, I believe USB-C includes a handshake that negotiates power requirements, but at the time, USB-A didn’t support this.

Tbh, I don’t really know where assembly ends and machine code starts. But do know that assembly is tied to your specific architecture

[–] Valmond@lemmy.world 2 points 3 days ago

You're not wrong about C++ 😋

Machine code is just the numbers, assembler is mnemonics and stuff and needs an "interpreter" to turn it into useful machine code (a C++ compiler also spits out machine code BTW).

Spot on about USB standards, no idea if apple did what you saulid though, wouldn't doubt it!

[–] grue@lemmy.world 5 points 3 days ago (1 children)

I have a Proxmox server with a random assortment of hard drives and SSDs of various capacities {8TB, 2TB, 2TB, 240GB, 240GB}. I want to create a CephFS filesystem spanning them, using erasure-coded pools in order to maximize capacity (kind of like RAID 5 except without requiring same-sized drives). How do I configure my CRUSH Map in order to accomplish this?

[–] moseschrute@lemmy.world 3 points 3 days ago (1 children)

Lol, you lost me there. I've read up on the various RAID configurations. I've heard about CephFS. I don't know much about it, but I get the sense it's the new kid on the block.

I actually have a RAID question for you. I want to setup a little RAID array starting with 2 mirrored drives and add more drives later. But it seems there is no easy way to migrate RAID versions? Let's say I want to start with 2, then 3, than 4 drives as stuff fills up. I always want some level of redundancy. And I don't want to use any additional drives aside from the 2, 3, then 4 in the array. Is this possible? Either with RAID or with CephFS?

[–] grue@lemmy.world 1 points 3 days ago (1 children)

Funny you should mention that, because it's what got me thinking about Ceph in the first place. My other Proxmox node has a 2-drive mirrored ZFS pool, and I went to add a third drive to it and realized that I'd have to move all the data off and rebuild it from scratch, so I started looking for other solutions.

So yeah, I think Ceph can add to an array after-the-fact like that (in addition to the not-waste-capacity-of-random-assorted-disks thing), but I haven't figured it out enough yet to be sure.

[–] moseschrute@lemmy.world 1 points 3 days ago

I also totally was mixing up Ceph with ZFS. Linux tech mentions ZFS a lot. That’s the source of most of my RAID knowledge lol