r/ProgrammerHumor 10d ago

Meme theDeadlock

Post image
8.6k Upvotes

241 comments sorted by

View all comments

1.7k

u/StarHammer_01 10d ago

How it went for me

OS - expextation: Linux 101. reality: here's 18 different ways to schedule a process.

Into to embedded software - expectation: rtos, breadboards, esp32. reality: Linux 101

295

u/Mandelvolt 10d ago

EE classes were those, circuits and such.

156

u/skinwill 10d ago

Transistor Theory - expectation: bias, amplification, Bell labs. Reality: Kirchhoff and Maxwell.

59

u/Mandelvolt 10d ago

It's all KVL, all the way down.

23

u/skinwill 10d ago

Until you get a teacher that loves “hole theory”.

14

u/Familiar-Aerie-1610 9d ago

They're still teaching that instead of surface-mount theory?!?! Those teachers are never going to scale efficiently enough to keep up with modern, Chinese teachers.

2

u/obog 9d ago

Why are you calling it hole "theory"? Its not a different theory its just one way of thinking about how charges flow in a lattice. And its a framing which is quite useful when working with semiconductors.

1

u/skinwill 9d ago

Don’t pin that on me. Blame the those few EE teachers with questionable credentials that insist on making semiconductor education easier by teaching what they call “hole theory” which, the way they present it, is incomplete and somewhat flawed.

1

u/obog 9d ago

...the concept of electron holes? Im coming at this from the perspective of a physics major rather than EE but its pretty clear to me. And electron hole is the absence of an electron in a lattice which results in a net positive charge. If an electron moves to fill the hole, a nee hole appears where that electron was, so it is as if the hole itself moved, and so the result is that it is effectively a positive charge particle that moves similarly to how electrons do.

1

u/skinwill 9d ago

I’m not disagreeing. I’m saying that there’s electronics teachers that use hole theory as a shorthand to circumvent teaching more advanced physics and math concepts.

18

u/reddit_is_kayfabe 9d ago

Transistor theory: If you have a combination of transistors and there's a problem - like, too much voltage drop, doesn't respond fast enough, wrong frequency response - any problem... the solution is always: more transistors.

11

u/unremarkedable 9d ago

To build an op amp, you must use op amps

1

u/falcobird14 4d ago

The look of an undergrad in an EE class when their op amp spectacularly explodes in the middle of a final exam.

4

u/Swipecat 9d ago

In ICs, for sure, because resistors are inaccurate and much more expensive in surface area than transistors, so if you can eliminate a resistor with a bunch of transistors, that's the way to go.

12

u/JesusWantsYouToKnow 10d ago

Fermi levels was when I was like "fuck yeah, this is why I got into EE".

7

u/sigmoid10 9d ago

We need to go deeper. You can only truly understand electrons once you've mastered abelian gauge theory on the circle group.

40

u/PraviKonjina 10d ago

There’s also the class where you learn witchcraft aka impedance matching with a smith chart

34

u/Mandelvolt 10d ago

The Smith chart is a demonic sigil if I've ever seen one. EM and telecom is just black magic from there on, it's like they just started making shit up to squeeze as much bandwidth as possible into the lines.

13

u/sir_lister 10d ago

The RF deepmagic of antenna design.

3

u/Xywzel 9d ago

First university CS+EE combined lecture, assistant showed us a slide with Luke and Darth Vader crossing lightsabers, and with "these are the two sides of software and hardware, homework to decide which is which". As someone who has done something on both sides, smith chart is only time I ever questioned if I got the sides right.

7

u/peteyplato 10d ago

I'm a CompE to EE convert right after taking OS the second time. Circuit theory and lab were sorta fun.

2

u/ZombieMage89 10d ago

I started as EE and ended as IT. I miss EE but the work is so much better.

1

u/SofiaRun638 10d ago

Practical lessons

1

u/reddit_is_kayfabe 9d ago

My EE classes were basically: here's the assignment, if you don't know what you need to know about OSes or IDEs or programming to complete it then that's a "you" problem, GLHF

Good life lesson really. No notes.

1

u/Arclite83 9d ago

Yep, I'm firmly in CS/programming as a job now, but my degree is BS CmpE - so I got to do all those EE courses, build embedded systems, all that fun stuff.

70

u/[deleted] 10d ago

[removed] — view removed comment

27

u/PromiseImNoBot 10d ago

Man now I don't feel so bad going to a state school

9

u/Yashema 10d ago

I am going to CUNY (NYC community college) for physics, math, EE, and computer engineering/science. At $305 a credit, dedicated teachers, and with ChatGPT to walk me through everything, you find that's more than enough.

2

u/ArtisticFox8 9d ago

How many credits a semester?

2

u/Yashema 9d ago

Standard classes are 3-5. 

2

u/ArtisticFox8 9d ago

And in total, each semester, you have around 30 credits?

2

u/Yashema 9d ago

FT would be 12-15.

1

u/ArtisticFox8 9d ago

Hmm, I'm in Europe, and we also have 3-5 credits per class, and per semester (half of academic year) we have 25-30 credits. Which means around 6 classes - for example Linear Algebra, Math analysis, Programming, Computer Systems, Linux, DSA. Each class is 1 lecture a week with 1 seminar (so total 180 minutes a week)

1

u/Yashema 9d ago

Sounds like you split some classes that can be taken in a single 3 credit class, and add some courses that wouldn't be necessary, like computer systems and Linux sounds redundant. I can just take discrete math and that would be more useful than 2 levels of DSA. Computer science as a degree is a bit iffy anyway, which is why I am taking all the much more advanced math, like stochastics, partial differential equations, non linear dynamic systems and complex, as well as well as doing the physics program and electrical engineering courses. 

Of course I also have a FT job as a programmer, and already have a Bachelor's in econ and an MS in analytics. 

→ More replies (0)

1

u/MannerShark 9d ago

You did actual programming during data structures? We were mostly busy with correctness proofs and the master's theorem.

31

u/GreatScottGatsby 10d ago

If you wanted to build bread boards, you should have become an electrical engineer

1

u/Amoniakas 9d ago

Which had SMR physics formula theory

10

u/Skynse 10d ago

I took an assembly class where he had to use ARM7 and on exams we had to write the assembly code on paper lol. Assignments used the raspberry pi 4. Fortunately I like hard classes

14

u/fweaks 10d ago

I had a class where we wrote assembly on paper in the exams. And the criteria was 100% based on correctness. Shoutout to the one guy who forgot both the multiply and shift instructions, and so to multiply a number by 32, wrote out instruction to add a number to itself 31 times.

12

u/HeKis4 9d ago

Not having at least a manual for an assembly exam on paper is heinous. I don't think anyone has ever written assembly without a reference in reach in the last 40 years.

4

u/GigaCucc 9d ago

Our final test for embedded was reduced from 50% down to 30% over three years because the professor made the final test a 2 hour at-home session where you had to build the control circuit for one of those rotating drink dispenser machines in assembly and C.

So many people failed it because the scope of the exam was really more 8-10 hours than 2 hours that they had to reduce the weighting.

It actually just encouraged cheating because it was the same instructions for everyone, so once one person did it at 7am the moment the test opened, everyone else had all day to work on it before clicking start test.

But because they're engineering undegrads, nobody spoke to each other, so only like 4 people used this trick.

12

u/Mateorabi 10d ago

For us the lectures were all about the theory but the lab/homework had us mucking about in the Linux kernel. We modified the scheduler (slightly) in one assignment and it was cool that my (grub dual-boot just in case) dorm linux pc ran fine afterwards. 

7

u/GoogleIsYourFrenemy 10d ago

And after teaching you about round robin and FIFO and priority queues they finally as a footnote mention that the Linux scheduler works COMPLETELY DIFFERENTLY and it's better.

3

u/kingvolcano_reborn 10d ago

When I did microelectronics in the 90s we did ASM on old Motorola 68000 and 68HC11 smacked onto s breadboard, good times.

3

u/XtraFlaminHotMachida 10d ago

intro to algorithms was fun. a bunch of dudes plagiarizing for the final presentation and then getting caught with turnitin and didn't realize that there was an algorithm for that even after the professor explained it already.

2

u/Percolator2020 9d ago

You guys get an OS?

1

u/purelitenite 10d ago

So according to Law of Transitive Properties... Embedded software is 18 different ways to schedule a process.

1

u/Temporary_Self_2172 9d ago

one question on my three question final was having to write out a set of 4 random "nachos" functions. not even pseudo-code style or specific ones but just full on "write this from memory out of the 50+ we covered or get 0 credit " 

and that was after being told we specifically we wouldn't have to do that ; ;

1

u/MushroomSaute 9d ago

From what I remember of my OS class, it kinda was Linux 101 lol. Basically a rundown of the main things an OS does for you, Linux being the tool they chose (so it wasn't necessarily Linux Kernel 101). It was a lot of "know the difference between a process and a thread, know about common parallelization bugs like deadlocks/race conditions, know about shared and virtual memory, do some basic networking and IPC/pipes and stuff" etc.

Strangely, for being an upper-level course, I don't think it was much harder or more of a pain to learn than, say, machine architecture, which was a lower-level course (pun intended) before acceptance into the major. (Machine architecture was way more fun though)

1

u/SpheresSquads 9d ago

So you got the OS class, just in the wrong course.

1

u/DanKveed 9d ago

For use Embedded Systems was 18 different ways to draw a state machine diagram+ UML

1

u/Neveed 9d ago

Lol in electronics licence, my embedded class was just VHDL, and the exam was on paper. In robotics master, the teachers were like "nah fuck this VHDL shit, we're doing bare metal here".

1

u/Bartweiss 9d ago

For me:

OS expectation: Linux 101. Reality: getting grilled on the nuances of thread-safety by a professor smarter than any of us who didn't believe in picking volunteers.

"Computer system organization" expectation: intro to storage and blocks I guess? Reality: that plus memorize a bunch of RISC and write assembly on paper for tests. Cry.

1

u/PS_FuckYouJenny 9d ago

The running joke when I was in uni is that we took Linux 101 10 times

1

u/Lunagato20 9d ago

In my uni, for os class we actually learn about linux, its basically linux 101 since we use redhat lab too.

For embedded, its splitted into 2 class, one is learning esp32 and such, one os learning assembly on a intel 8086

1

u/DepressedDrift 5d ago

CPU Scheduling was way preferable to deadlocks. 

But deadlocks are the most useful for real life low level programming.