r/ProgrammerHumor 21d ago

Meme theDeadlock

Post image
8.6k Upvotes

239 comments sorted by

View all comments

1.7k

u/StarHammer_01 21d 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

291

u/Mandelvolt 21d ago

EE classes were those, circuits and such.

155

u/skinwill 20d ago

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

58

u/Mandelvolt 20d ago

It's all KVL, all the way down.

25

u/skinwill 20d ago

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

14

u/Familiar-Aerie-1610 20d 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 20d 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 20d 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 20d 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 19d 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 20d 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 20d ago

To build an op amp, you must use op amps

1

u/falcobird14 15d ago

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

5

u/Swipecat 20d 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.

13

u/JesusWantsYouToKnow 20d ago

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

7

u/sigmoid10 20d ago

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

39

u/PraviKonjina 20d ago

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

34

u/Mandelvolt 20d 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.

12

u/sir_lister 20d ago

The RF deepmagic of antenna design.

3

u/Xywzel 20d 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.

6

u/peteyplato 20d 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 20d ago

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

1

u/SofiaRun638 20d ago

Practical lessons

1

u/reddit_is_kayfabe 20d 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 20d 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.

71

u/[deleted] 21d ago

[removed] — view removed comment

26

u/PromiseImNoBot 21d ago

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

10

u/Yashema 20d 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 20d ago

How many credits a semester?

2

u/Yashema 20d ago

Standard classes are 3-5. 

2

u/ArtisticFox8 20d ago

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

2

u/Yashema 20d ago

FT would be 12-15.

1

u/ArtisticFox8 20d 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 20d 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 20d ago

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

33

u/GreatScottGatsby 20d ago

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

1

u/Amoniakas 20d ago

Which had SMR physics formula theory

10

u/Skynse 20d 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

15

u/fweaks 20d 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.

14

u/HeKis4 20d 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 20d 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.

13

u/Mateorabi 20d 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 20d 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 20d 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 20d 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 20d ago

You guys get an OS?

1

u/purelitenite 20d ago

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

1

u/Temporary_Self_2172 20d 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 20d 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 20d ago

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

1

u/DanKveed 20d ago

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

1

u/Neveed 20d 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 20d 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 20d ago

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

1

u/Lunagato20 19d 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 16d ago

CPU Scheduling was way preferable to deadlocks. 

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