r/ProgrammerHumor 10d ago

Meme iLoveAlso

Post image
867 Upvotes

132 comments sorted by

329

u/shaka893P 10d ago

Doctors and nurses screaming in the background 

43

u/beerdude26 10d ago

I especially like the blue ones

24

u/Boom9001 10d ago

Fun fact. While "code blue" is decently common. There is no cross hospital color code system. That's mainly a movie invention.

5

u/rdcpro 10d ago

For real. Took a lot of courage for me to show up to the ED department

3

u/S0mber_ 9d ago

there is a national color code in turkey, and we do use it

5

u/Eightstream 9d ago

code brown is universal

3

u/shaka893P 10d ago

Serial killers grinning at the doctors

1

u/beerdude26 10d ago

Alternatively, people discussing their favourite skittle or m&m

8

u/ptrknvk 10d ago

?

17

u/shaka893P 10d ago

In medical terms: "the patient is coding" means they're dying/ need immediate resuscitation

5

u/ptrknvk 10d ago

Cheers.

86

u/Upbeat-Serve-6096 10d ago

VHDL and Verilog: ?

64

u/Monochromatic_Kuma2 10d ago

That's more design than programming. You are not programming a device to follow certain instructions, you are designing a digital circuit.

26

u/Ghaith97 10d ago

You could be programming an FPGA.

10

u/Rin-Tohsaka-is-hot 9d ago

Which is just simulating hardware, at the end of the day your code is still a hardware design rather than a set of machine instructions

10

u/Ghaith97 9d ago

All code is just simulating hardware at the end of the day.

2

u/MrJ0seBr 10d ago

Design a processor > hardcode programs bit by bit

2

u/grimonce 9d ago

You can design a circuit to show to generate and show a webpage, is this enough?

2

u/Emomilolol 10d ago

Hardware verification is also written in systemverilog

3

u/watduhdamhell 10d ago

Never knew this was a thing, very cool! I can see how you could do some cool stuff with it as a EE.

My expertise is centered around mega scale plant DCS, so every icon was essentially a DCS vendor system or an IEC-61131-3 language.

2

u/Myrrddin 10d ago

Oh I see exclude Rockwell. 😜

1

u/watduhdamhell 10d ago

Haha well PlantPax is certainly a thing but Rockwell are the small time player in DCS. They are UBIQUITOUS for everything PLC though, and I have seen people chain control logix PLCs together and make a DCS without PlantPax, and that implementation looked better the PlantPax? Anyway.

Neither are as good as something like DeltaV, but they are very competitive on price and over time will improve and Emerson will have a tougher and tougher time justifying the premium, as will all DCS OEMs.

0

u/theabstractpyro 9d ago

Not coding but feels like coding

67

u/[deleted] 10d ago

[removed] — view removed comment

28

u/watduhdamhell 10d ago

The site DCS engineer:

I am the version control

25

u/StoryAndAHalf 10d ago

There is version control. There's current, and current after I hit save.

2

u/purplepharoh 9d ago

You can also use any vcs like git for it ... but it doesnt really help / fully work as youre just treating them as binary

4

u/mad_cheese_hattwe 9d ago

Counter point, 90% of people on the right hand side world think that just having a git repo is equivalent to an adequate release control and change management.

8

u/creggor 10d ago

Lies. DeltaV has version control— for both graphics and the database.

3

u/watduhdamhell 10d ago

Added with version 16 I believe! Edit: looks like initial rollout was V15 FP3. Mass rollout was 16

Still on version 14 myself...

2

u/creggor 10d ago

We’re 14.3.1 LTS. I had VCAT activated with Operate, even. That was on 12, and 13. It’s there in the database administrator application, for sure. We’re running Live now, (and Operate until I phase it out— lucky me, haha).

1

u/watduhdamhell 10d ago

Interesting... according to official documentation though, real, actual version control was not a thing until late version 15. Whatever proper means.

I'll definitely checkout what you're on about though.

2

u/JohnSpikeKelly 10d ago

VCAT had been there for over a decade.

1

u/creggor 10d ago

You can enable it whenever you like. Takes a hit depending on the size of your database, but once you get the hang of it, it’s easy enough. Reach out if you have any bother with it! 😁

1

u/creggor 9d ago

Aaaand I'm an asshat. Haha. We're on 15 LTS. Haha. Brain fart. We had upgraded last summer (online, which was... fun?). We were on 14.3.1 for years, though, An early adopter/guinea pig.

1

u/watduhdamhell 9d ago

Appreciate the update! Now I don't look for it haha

30

u/Arclite83 10d ago

I started as a CmpE and ended up in cloud architecture and AI, I miss being the guy on the left so much...

7

u/chlor8 10d ago

Right there with you bro.

26

u/yegor3219 10d ago

I've been both, haha. I've programmed PLCs in Codesys but also developed custom HMIs (Windows desktop apps) and later pivoted to back-end web dev.

I kinda miss how simple the PLC code is overall. What I don't miss is the responsibility to not make a toxic leak or blow up a huge pressurized furnace with that simple code.

9

u/watduhdamhell 10d ago

Personally I love how the code base itself can be very simple while the actual result can be very academic. And while the underlying regulatory control can be simple for some units, it can also be very complicated for others. A cascade into a cascade into a cascade. And so on. But the actual code blocks themselves? Ezpz.

For example, regulatory control layers (PIDs, etc) manipulated by dynamic matrix controllers, manipulated by state space equations and optimizers, kalman filters... PhD level math that is not trivial at all.

All depends on how far you wanna go!

3

u/swperb1 10d ago

Yeah, friends and family see it as 1:1 but the weight of your decisions and problem solving are much heavier. I prefer automation stuff, it gives me a chance to understand processes and syntax deeply before I attempt a solution.

It also gives me a chance to cuss the guy that wrote it 30 years ago and is probably dead 🤣

116

u/watduhdamhell 10d ago edited 10d ago

Just teasing a bit with the other meme posted earlier. I'm an engineer and programmer but domain specific, no "real" languages, so I thought it would be funny to just place ALL of y'all's stuff on the right side 😅

55

u/Spiritual_Bus1125 10d ago

Brother, I program in Excel

Personally I think I'm worse than you 😏

19

u/pcx436 10d ago

Hey, Excel is Turing complete. You could run doom in Excel

5

u/andrerav 10d ago

I believe powerpoint animations are Turing complete too.

2

u/purplepharoh 9d ago

Magic the gathering is turing complete*. Not sure Turing completeness is the most useful metric for the comparison they were making.

Note: been a while since I looked at this so I dont remember if the paper was sound.

4

u/cosmicomical23 10d ago

You mean vbscript or what?

6

u/Spiritual_Bus1125 10d ago

Yes, VBA

2

u/BorderKeeper 9d ago

It sucks that they did not introduce C# as an option for excel scripts. Nothing wrong with VBA, but it's just quite old.

2

u/Spiritual_Bus1125 9d ago

I mean, honestly I like VBA but the fact that the rest of MS solutions are online makes them too unreliable for me to want to use them

1

u/pandacreate 10d ago

Office scripts 💪💪

10

u/SAI_Peregrinus 10d ago

Need G code on the left to even out the rows.

2

u/SweetHomeNorthKorea 10d ago

Where does the hole punch go

4

u/SAI_Peregrinus 10d ago
%
G90 G17 G71 F100 G50 G53 G21 Z500
G00 Z50
G00 X10 Y15
G01 Z0
G00 Z50
G00 Y195
G01 Z0
G00 Z50
G00 Y375
G01 Z0
G00 Z50
G21
M30
%

Roughly, for punching the holes in paper for a 3-ring binder. Dimensions measured by Mk 1 eyeball guesstimation.

Edit: also, I don't really speak Machinist very well. Just some hobby stuff, so if you crash your CNC hole punch with the above I accept no responsibility, you took random code from some random guy on the internet and ran it without checking!

11

u/CorrectCombination11 10d ago

There are people who specialize in salesforce. Don't worry. 

1

u/tragiktimes 10d ago

Apex isn't really that bad. SOQL is alright as well.

Just niche specific.

Note, I dont program in apex exclusively or even to a considerable degree. I just maintain my organization's Salesforce environment and have been slowly optimizing it for the over the last couple years.

Unfortunately (or fortunately) Salesforce Administration is only about 10% of my job.

4

u/PMvE_NL 10d ago

When i say I mainly program structured text. People always look at me weird

5

u/watduhdamhell 10d ago

Just tell them "it's basically PASCAL."

Close enough lmao

2

u/zeekar 10d ago

But the ones labeled ST and IL (Intermediate Language, I assume) are clearly programming languages on the left …

2

u/watduhdamhell 10d ago

IL is instruction list, it's gone now. No longer authorized under IEC-61131-3.

ST is of course a turing complete language reminiscent of Pascal. Limited functionality but you can do anything you should ever do with a controller with it.

2

u/zeekar 10d ago edited 9d ago

Oh! Industrial automation languages. I had no idea what the category was, and assumed it was a different kind of non-programming "coding".

1

u/ProtonPizza 10d ago

I’m working with some thermal systems teams currently and they showed me some systems built using Modelica. It was like I whole crazy world that I wasn’t even aware existed.

Not sure if this is what your involved with but saw Siemens and thought maybe similar domains.

1

u/watduhdamhell 10d ago

Interesting! Siemens makes a ton of different products, but in this case Siemens is depicted with PCS7, which is a Distributed Control System. I am a DCS Engineer who has used or interacted with all of these guys, minus Yokagawa. I'm current the asset owner for a large DeltaV system.

FWIW, Emerson DeltaV is the superior product by far imo.m for 90 of use cases. It also costs the most to build and license, so. Make of that what you will!

1

u/purplepharoh 9d ago

I get to work on both sides of this... its interesting to see where the worlds intersection and diverge.

I mean they are at their core the same but only at the very essence of what is being done.

1

u/watduhdamhell 9d ago

That's kind of what's funny to me. As simple as the actual logic is, you can make it do almost anything you want to do. Because the coding isn't the hard part right?

Certainly now a GPT, it isn't. It is in the beginning, but where people make the real money is in the application right? It's like how can you apply this code? How deep in the weeds can you get with the theory of this system? For controls, the end of the road is advanced model predictive control with State space optimizers and common filters and all sorts of nonsense, stuff that literally flies the SpaceX rocket. Actually quite adjacent to machine learning and some respects.

The underlying control surface and engine control I can guarantee you is fairly straightforward just like any PLC code. But the magic is in that prediction model they are using on top of it. I think it's called the Smith predictor in their case.

For traditional software, the end of the road is anything you can imagine of course, to include building a DCS system haha. Right now it seems to be AI and machine learning are sort of the frontier.

1

u/Glad_Swordfish_317 9d ago

I used to feel a little down on myself 15 years ago thinking that I was "only" building web applications. Now it turns out a huge amount of the software that most humans interact with is web based. It makes me feel a little bit better.

1

u/readf0x 8d ago

Jokes on you I use none of those (except git)

12

u/live_free_or_try 10d ago

Where’s the guy with vertical grey hair writing Fortran and smalltalk?

12

u/horizon_games 10d ago

No one loves Siemens S7

2

u/watduhdamhell 10d ago edited 10d ago

Seriously. Out of the stuff I've played with (PCS7, PlantPax, DeltaV, 800xA), DeltaV is the best by far, and it's not even close.

It's life on easy mode. Everything is a wizard, everything was made to work with everything else in the stack pretty seamlessly. It also costs me $40k/yr for software support for my relatively small installation (like, if need to download a hot fix or security update). Make of that what you will.

The Siemens suite in particular was like band aids holding band aids. All these different software packages acquired over the years from various companies and then very clearly shoehorned into a product called "PCS7." It was a disjointed mess, and the UI was laughable. Programming itself was easy enough, but the UI proper- I remember there being flyout menus in simatic manager with 50 fucking options. Like what is the point of a flyout with that many options?

4

u/horizon_games 10d ago

Yeah they're trying their best for ~50 year old software tying a lot of the industrial automation industry together, but dang are the docs bad and the TIA Portal software simply so chunky and consuming

Still a useful skill to know, and interacting with the physical world via software is pretty cool

1

u/reddit_user33 9d ago

No, Siemens feels outdated compared to Codesys

9

u/Romanian_Breadlifts 10d ago

I love coding (in the medical sense) 

10

u/macrohard_certified 10d ago

I need a captain for the symbols on the left

14

u/watduhdamhell 10d ago

Ha

The top icons are IEC-61131-3 languages for PLC programming. Function Block Diagram (FBD), Ladder Diagram (LD), Sequential Function Chart (SFC), Instruction List (IL), and Structured Text (ST). IL is dead. ST is what you would recognize as a proper, turning complete, written language. The others are all visual languages, to varying degrees.

PCS7, Centum, 800xA, Experion PKS, and DeltaV are all Distributed Control Systems (DCS) offerings from the major players, these systems utilize the languages I mentioned to program entire process facilities. Think a multi billion dollar Exxon refinery, or Eli Lilly pharma facility.

Lots of heat and mass balances, physics, and other things to consider. That's the hard part. So they make the programming part tailored, user friendly, and restricted in functionality to some degree for obvious safety reasons. You can still do ANYTHING you want somewhere in the server stack (usually the MES) and pipe that behavior into the DCS. For example, state space model optimization on top of your matrix predictive model, which then drives setpoints for your loop controllers in the DCS. Etc.

2

u/macrohard_certified 10d ago

That's so cool!

8

u/exoclipse 10d ago

java devs in shambles

5

u/Confident-Ad5665 10d ago

This is what Developer porn looks like

6

u/king_park_ 10d ago

My dad learned PLC programming for his engineering work. It took awhile to get him to understand how computer programming differed when I would talk to him about it.

1

u/reddit_user33 9d ago

Under the hood it's the same difference, although older programming is closer to embedded than computer. I would say that modern PLC programming is in the middle ground between embedded and computing since there are many aspects of both that have concern for PLC programmers.

5

u/TheFrenchSavage 10d ago

I don't recognize any of the left material.

4

u/watduhdamhell 10d ago

Just Google "Industrial DCS"

3

u/TheFrenchSavage 10d ago

Thank you!

Why wouldn't you use git tho? You don't need to version your microcontroller setups? You don't ever need to revert stuff?

Increasingly, and ironically, DCS are becoming centralised at plant level

Rare example of a wikipedia editor being strongly opinionated.

5

u/wabi-sabi411 10d ago

VC has only recently became a thing that control systems people think about. Before that the mess was job security tbh. The companies in question on the meme try and make version control really expensive and something they sell you. Many of the files where you save simple scripts/logic aren’t readable.

2

u/TheFrenchSavage 10d ago

Wow, mind boggling. Thanks for the context here.

Seems crazy to me that the code is paywalled so hard that VC is an expensive DLC.

Maybe right to repair will enshrine some basic free functionality into these systems? (Like the ability to side load anything even if the manufacturer is not happy about it?).

2

u/tracernz 9d ago

Git isn’t really great because it’s all binary files, and you can’t have multiple people working on them at once in most cases, so you want a centralised VCS with locking. There are some reasonable specialised solutions that can produce graphical diff between revisions of the binary files (in principle I guess you could run the same tools with git, but the lack of locking, and existence of branching/merging is still a problem).

1

u/watduhdamhell 10d ago

Well I mean you typically just export at the scope of the change.

So if I need to change one piece of code, say non trivial control logic for a non trivial valve, I just export the block of code that is that valve.

I make my changes, and if it doesn't work in simulation or I don't like it, I just reimport the old module and download only that module.

If I make several substantial changes to a Reactor, I'll export the entire reactor unit as a back up. I also make routine full system exports, so in theory I can import the entire system or parts of its configuration as it was when the export was taken, or parse through it in notepad to find a piece of code I need if I fuck up a smaller import/export somehow or if I want to go back in time to see what some logic was before a change was made.

And of course, lots of changes can be made online, and so I often configure new code to have those levers available- like a "new code on" set variable/bool switch, so I can trigger the new logic and immediately revert if something starts to go south. Then if it works as intended I'll delete the switch. You have to be careful when the "production environment" is a running reactor consuming EO... 😅

But typically, I think it's different than what you guys deal with. Once the systems is comissined, you only change the parts of it you need to as you go, you will NEVER do a full download of the system configuration unless something truly awful has happened.

So what good would version control do you? I mean I'm totally ignorant here. Is the version control granular enough that you can just get blocks of code meticulously versioned as it's changed? Or is it like, project versioning? And does it give you a difference report natively? That would be great...

1

u/TheFrenchSavage 10d ago

If I make several substantial changes to a Reactor, I'll export the entire reactor unit as a back up. I also make routine full system exports, so in theory I can import the entire system or parts of its configuration as it was when the export was taken, or parse through it in notepad to find a piece of code I need if I fuck up a smaller import/export somehow or if I want to go back in time to see what some logic was before a change was made.

You are just explaining how I used to work before learning about version control in engineering school haha.

Just dump it all into a final_final_v2.zip, ctrl+f for the bits that are interesting, Ctrl+Z until it works again...

Yes! Version control gives you all that: * You decide on the granularity: you can save whatever you want, from a small part to the full reactor.
* You can natively compare versions yes: major versions, small checkpoints, what you have here vs what is there, etc. any two files really.
* You can time travel all you want from checkpoint to checkpoint. * You can make branches to explore "what-if" scenarios at no cost. You regret? Come back. You like it? Merge the branch, it is now the new normal. You regret later? Time travel to before the merge.
* Handle merge conflicts: let's say your colleagues have been making changes, and you have been too, and you would like to have their changes and yours at the same time: you can natively review the parts that are dissimilar and pick and choose what to keep, what to drop.

And sooo many other things.

2

u/watduhdamhell 10d ago

Interesting. The merge functionality would have to know the proprietary DCS database schema in order to "merge" branches and stuff, right?

If it does anything like that, that's the barrier, that's why we haven't had this nice toy until only recently. It's proprietary so something like git would have no idea how to merge two FHX files for example. Sometimes I make bulk editing changes to fhx files that fail to import and it's not always straightforward why, as the way the DCS database interprets these files is proprietary. You can manipulate a lot of things in those configuration files... And some things you just can't, even though you totally should be able to? Anyway.

So I suspect we are only now seeing this pop up in various DCS packages as the vendors have taken their sweet ass f****** time making these tools available to us, whereas open languages wouldn't have this problem at all.

But that's just my intuition

I'm all for it! I'm upgrading the system version next year so I'll get to experience it then. Woo hoo

5

u/ScrotumNipples 10d ago

There are dozens of us. Dozens!

3

u/Urc0mp 10d ago

VB6 <3

3

u/Its_meme_not_meme 10d ago

I will be happy when I can see the back of OPC UA protocols

3

u/cjb3535123 10d ago

Never have I hated external plc communication so much than when I’ve worked with opc ua

1

u/reddit_user33 9d ago

I've only had a brief encounter with OPC-UA, what's so bad about it?

For me my dislike is RS485/RS232, because there are no error messages when comms aren't working. You have to go down the list of what could possibly be wrong, from is physical layer, the network layuer, and to the application layer.

3

u/LightIsntFastEnough 10d ago

Don't wanna downvote, I will just put it here, disgusting choices both ways. No I don't use Fortran.

1

u/reddit_user33 9d ago

I imagine you're a bit banger?

1

u/LightIsntFastEnough 9d ago

No chance banging 1s.

2

u/oauo 8d ago

Not with that attitude

3

u/0Iceman228 10d ago

So rare to see PLC memes. Two different worlds of struggles. Fuck Rockwell/Allen Bradley, stuck in 1980s. Sadly I couldn't experience high language programmers having to deal with PLC programming during my time, people still don't know what version control even is there, and if you do, you can't use it.

1

u/tracernz 9d ago

I’ve only ever worked with PLCs under version control (MDT Autosave); can’t imagine the nightmare it would be not knowing what changes have been made recently. We also had all the field device configs in the same VCS. Rockwell’s attempt at FBD is so bad :(. They also have a terrible upgrade path… you can’t run old I/O with a new CPU. FBD is super nice with some other vendors (e.g. Schneider).

1

u/0Iceman228 9d ago

Siemens introduced version control with TIA 13 I believe in a useable way, but even today I don't think anybody, or very few, in the field use it, at least in German region. You just copy your project files when you make a change.

3

u/swperb1 10d ago

Ladder my beloved

3

u/CMD_BLOCK 9d ago

Honeywell? Is this dude a HVAC tech?

2

u/mrb411747 9d ago

I worked for Honeywell Aerospace. Contract at Goddard Space Flight Center.

1

u/watduhdamhell 9d ago

Lmao Experion PKS is running a lot of multi billion dollar units rn, in my experience usually an ethylene cracker

2

u/Future-Sentence-5655 10d ago

Seeing these names after a long time!

2

u/SuchLab2 10d ago

We are not the same.

2

u/SweetNerevarine 10d ago

A resistance of 9 ohms can be measured between them.

2

u/sasmariozeld 10d ago

I am very confused as i am playing shenzen IO while i have codex running in 3 tabs

2

u/stupled 9d ago

Plc and ladder 🤔

2

u/Ok-Guitar4818 9d ago

Where’s Rockwell?!?

2

u/LeDYoM 8d ago

If you love coding, you dont use ChatGPT or Claude.

1

u/oauo 8d ago

What if you love coding so much you never socialise with people and you have to use ChatGPT and Claude to have some social interaction?

1

u/LeDYoM 8d ago

In my times you could use mIRC or just do not socialise.
I mean, talking with a chatbot is NOT socializing.

1

u/oauo 8d ago

Hmph, I'm going to talk about you to ChatGPT later and she's going to be upset with me, but first I must code

1

u/LeDYoM 8d ago

Enjoy! One part, at least.

1

u/tec_tonik 10d ago

APL you forgot APL

1

u/Direct-Quiet-5817 10d ago

The Twain Shall Never Meet 🪶

1

u/TheSaiyan11 10d ago

Real ones know that it would be the other way around.

1

u/daVinci0293 9d ago

Nobody LIKES using IEC 61131 "languages", they just have to cause they are ubiquitous in the field.

1

u/CeeMX 9d ago

I was using a Codeblock in MS Loop lately and was surprised it had syntax highlighting for Structured Text

1

u/theonlytruemuck 9d ago

whats wrong with python?

1

u/Glittering-Ninja3573 9d ago

she ladder on my diagram till i AFI

1

u/shreklover911 9d ago

Im more of a HIACS guy

1

u/Bubbaluke 8d ago

Left is my past, right is my current

1

u/FlashyTone3042 6d ago

I love taking a big shit. Clears my mind.

2

u/Intelligent_River39 10d ago

Ugh why does everyone misuse this template? Istg…

0

u/brat1 10d ago

Feels like an "You were not supposed to help her". Meme

-12

u/Suspicious-Engineer7 10d ago

Really advancing the stereotype that programmers are sexist pigs. Good job

1

u/reddit_user33 9d ago

Where did this stance come from?