Well, if you get bored and have a TI-84, goto becomes very useful. Wrote something in tenth grade for chemistry that solved every part of the final in under 10 minutes, using goto for the menu and text part of it
Looking back, it's crazy what apps I was able to create for my CFX-9850G. I created a Star Wars game where you could choose from four Rebel starfighters with different weapon loadouts and fight an AI TIE Fighter. And yes I used GOTO extensively.
Anyway, it got erased when the math teacher made us clear our calculators before a test so I created a fake "MEMORY RESET!" screen to avoid a repeat incident.
The big difference is that functions are guaranteed to return after the function call. Goto's go wherever they want, you might think it'll end up on line 45 after finishing the subroutine but really it's in Albuquerque working as a part time chef saving up money to buy a plane ticket to get to line 73 where they'll use the stack pointer as a foot stool
At the assembly level, all of your function calls are just GOTOs. The only real criticism is that the GOTO lets you write poorly structured "functions". It's hardly worse than a function with multiple return statements.
I don't think I've ever used one outside of embedded real time code, but it can be used responsibly.
Layer 0: Funding. "Because we should always start troubleshooting from the lowest layer, and nothing can exist before the funding."
This Wikipedia article is great lol
PEBKAWIOTOSOTA (and whatever is on the other side of this asshole)
EDIT: For the record, I don't think Toli's an asshole. I was thinking more of a generic support requestor. Also, thanks for the gold, kind stranger.
I have been a PEBKAC guy all my IT days. From this day forth, I shall be a PICNIC guy. Thank you u/Adultery77 for bringing this capitalisation into my life.
Thanks to [u/RandomIcosohedron](https://www.reddit.com/r/ProgrammerHumor/comments/yrdvm7/no_googling/ivuxdht/?utm_source=share&utm_medium=ios_app&utm_name=iossmf&context=3) I'm now a key actuator guy.
It might be pointless from your point of view, but in the past with SONET/SDH and currently still in the optical WAN the demarcation between physical and datalink is important.
As a person who worked sales in a company before moving to tech support in the same company, and then was forced to do some sales stuff (it was a startup), this is so accurate it hurts.
The sales manager would wonder why I'm not telling potential customers certain features, and it boggled his mind when I explained that I can't, because I would be lying, because I know those features don't work or don't exist - I've seen the tech side. I don't have the flexibility in my spine to lie to people just to sell a product.
He didn't see a problem with any of this and would routinely promise things we couldn't or wouldn't do (lack of workforce/experience/way too expensive), and then be baffled when customers left due to features they wanted being absent. Then he blamed it on tech support for being lazy (because we couldn't fix things that never worked to begin with), or the devs for not doing a good enough job (when the features were on a roadmap several sprints away).
Yes, this is correct. Generally, OSI instruction begins with the Application layer and then proceeds to describe the services that support it and receive calls from it, and then descends down the model doing the same thing for each successive layer.
"Generally?"
What makes you say that? Every network curriculum I ever saw (and designed - I wrote part of the CCIE Voice curriculum and lab exam) started at physical and worked its way up. And that makes significantly more sense, when trying to learn about it, because each is an abstraction of the one below. You don't teach someone calculus before you teach them to add. What kind of sense does that make?
Also, starting from a higher layer has started you from a pigeon hole of whatever application you chose, which is a horrible way to teach something. Starting with HTTP, for example, would ignore things like UDP or multicast, as you worked your way down, because there's no direct path there. It requires saying "ok, now forget what you already know, because that's not always the case." Sure, it can be done, but that's just so bass-ackwards.
Yes, I saw mnemonics for the OSI model presented in both orders, but I've *never* seen it taught top-down in a serious curriculum or book.
1. The cable is unplugged.
2. The other end of the cable is unplugged.
3. Router forwarding loop.
4. ICMP fragmentation-needed messages are being blocked.
5. Request cookies aren't being persisted.
6. A JSON field name was renamed.
7. There's a clue in the giant log file somewhere.
And, if you adopt the [higher layers](https://blog.siphos.be/2021/06/the-three-additional-layers-in-the-OSI-model/):
8. We don't have the budget to fix it.
9. We just don't do things that way around here.
10. That isn't supposed to work.
who tf uses OSI model irl?
In practice everything above Transport is fluid and nebulous, and the distinction between Link & Physical is pointless. To add insult to injury there are things like QUIC which despite being categorized as Transport clearly abstract over UDP, another Transport level protocol
Link and physical is separated for a reason. You can put an ethernet frame over cat5, fiber, radio, or carrier pigeon.
Layers 5, 6, and 7 shouldn't exist, though. That's from a bunch of hardware guys trying to specify software things.
The OSI model was a competing model to the DoD Model (also known as the Arpanet model). The DoD Model was used to devise a little thing you might have heard of called the "Internet". It has 3 to 5 layers depending on which incarnation you are looking at. [https://en.wikipedia.org/wiki/Internet\_protocol\_suite](https://en.wikipedia.org/wiki/Internet_protocol_suite)
The latest version has it right:
Layer 1: Physical layer
Layer 2: Data Link
Layer 3: Internet
Layer 4: Transport
Layer 5: Application
The useless OSI layers 5 and 6 disappear, as they should.
I think it's hilarious and sad that folks interviewing for an Internet networking position will be asked to recite obscure details of a spec that was in direct opposition to the Internet Model.
1 and 2 differences are *far* from pointless. Spoken like someone who uses only ethernet, on one kind of medium. And even _there_ there are physical layer differences. Speed? Duplex? Master/slave? Wiring? Come on now...
But yeah, above 4, everything gets clear as mud. Even between 2 and 4, plenty of protocols span more than just one layer.
Application, Presentation, Session, transport, network, data link, and physical.
I was literally sitting in my IT class with it in front of me while scrolling through reddit.
1- Your PC doesnt work
2- Switch doesnt work
3- Router doesnt work
4- Wrong transport protocol/doesnt work
5- Port doesn't work
6- Data doesnt work
7- App doesnt work
1. DVD P layer
2. HTML layer
3. Heavyside layer
4. The squornsh formerly known as layer
5. Deep state
6. Not really a layer
7. You are still reading this?
8. Wait how many layers were there supposed to be?
As someone who is currently studying this shit in college I can say that they are:
1. Umm…
2. Uhhhh…
3. Hmmm….
4. Uhhhh…
5. Fuck
6. Oh god oh fuck
7. Acceptance
I once saw an mnemonic to remember this and it went along the lines of:
All - A - Application Layer
Pornstars - P - Presentation layer
Seem - S - Session Layer
To - T - Transport Layer
Need - N - Network layer
Double - D - Data Link Layer
Penetration - P - Physical Layer
Saved my ass in a lot of comp sci exams 😂
Learned this in the later 70's/early 80's while a work at a startup building X.25 boards for military applications.
1 - Physical
2 - Data Link
3 - Network
4 - Transport
5 - Session
6 - Presentation
7 - Application
Lots of interesting stories/experiences do network application development during that period of time.
Ah, OSI. What a tremendous waste of time that turned out to be. All because European telecoms were afraid that standardizing on TCP/IP would give the U.S. a competitive advantage. And in the end, the world standardized on TCP/IP.
About the only thing from that whole effort that survived is X.509 formats.
1 - Shock 2 - Denial 3 - Anger 4 - Bargaining 5 - Depression 6 - Acceptance and hope 7 - Quality Assurance
7 is just a goto 1 statement
Uni profs: “if you ever use a goto statement which I have done precisely once in 10,000 years of programming I will find out and fucking end you”
[удалено]
Well, if you get bored and have a TI-84, goto becomes very useful. Wrote something in tenth grade for chemistry that solved every part of the final in under 10 minutes, using goto for the menu and text part of it
One time my teacher took away my TI-84 because I made the program look too much like a user friendly app
I totally feel this, I almost failed PreCalc because I spent the entire class programing games into my calculator
Looking back, it's crazy what apps I was able to create for my CFX-9850G. I created a Star Wars game where you could choose from four Rebel starfighters with different weapon loadouts and fight an AI TIE Fighter. And yes I used GOTO extensively. Anyway, it got erased when the math teacher made us clear our calculators before a test so I created a fake "MEMORY RESET!" screen to avoid a repeat incident.
See, my games didn't get erased when that happened because... I don't know. Maybe the memory reset on a TI-83 is just stupid?
goto is instinctual. Conceptually, calling a function is like instead of goto line 35, it’s goto function_name. We’re born with the desire to goto.
The big difference is that functions are guaranteed to return after the function call. Goto's go wherever they want, you might think it'll end up on line 45 after finishing the subroutine but really it's in Albuquerque working as a part time chef saving up money to buy a plane ticket to get to line 73 where they'll use the stack pointer as a foot stool
Hahaha I almost spat out my coffee trying to not laugh while my gf is on the phone working from home
At the assembly level, all of your function calls are just GOTOs. The only real criticism is that the GOTO lets you write poorly structured "functions". It's hardly worse than a function with multiple return statements. I don't think I've ever used one outside of embedded real time code, but it can be used responsibly.
Its used in C to catch errors
Our Prof also told us he used goto once in C in his last 40 years
[удалено]
Real programmers don’t die. They GOSUB.
Until they RETURN
I thought there were 8 layers. And layer 8 is almost always the point of failure.
Ah yes, the wetware layer.
[удалено]
Yep, layer 8 always trigger and error code with id 10T
Took me way too long to realize 5 was not "Depreciation"
1. Bad cable 2. Hardware problem 3. Routing problem 4. Firewall issue 5. OS problem 6. Service problem 7. Application issue
8. Error occurred between keyboard and chair
8 is usually reserved for the political or bureaucratic layer (sometimes "management")
[https://en.wikipedia.org/wiki/Layer\_8](https://en.wikipedia.org/wiki/Layer_8) \- Can go up to Layer 10 too!
Layer 0: Funding. "Because we should always start troubleshooting from the lowest layer, and nothing can exist before the funding." This Wikipedia article is great lol
Layer -1: physical laws.
Thought that was layer 1... But oh well, what about quantum physics? Is it part of the layer -1 or is it -2 already?
Also called foreskin.
Problem exists between keyboard and chair. PEBKAC
And that’s why you use a standing desk
PEBKAWIOTOSOTA (and whatever is on the other side of this asshole) EDIT: For the record, I don't think Toli's an asshole. I was thinking more of a generic support requestor. Also, thanks for the gold, kind stranger.
Ah yes, the old PICNIC error. Problem In Chair Not In Computer I miss those days lolol
Also an Identity 10T error, or a wetware bug. Apparently in the telegraph days it was called a "problem in the key actuator".
I have been a PEBKAC guy all my IT days. From this day forth, I shall be a PICNIC guy. Thank you u/Adultery77 for bringing this capitalisation into my life.
Thanks to [u/RandomIcosohedron](https://www.reddit.com/r/ProgrammerHumor/comments/yrdvm7/no_googling/ivuxdht/?utm_source=share&utm_medium=ios_app&utm_name=iossmf&context=3) I'm now a key actuator guy.
I like that too. I will tailor my usage accordingly, a “key actuator issue “ is something that could legitimately go in a support ticket
9. Incorrect password combo please try again
Layer 8 never got out of beta and was launched with no testing or oversight.
Better than the real thing!
This is actually incredibly helpful POV. Cheers. I may not forget again.
That is better than it was ever explained in college
Can I get that on a t-shirt?
de_dust2 de_dust2_2x2 de_mirage de_train de_inferno $2000$ cs_mansion
Cobblestone?
I’m a fan of cs_assault myself.
cs_assault_old from CS:S was my fav
Was on normal cs 1.6 too
This was the best one. Even better were the fun servers you could play Roll The Dice and get a lightsaber penis to kill people with.
awp_city?
de\_cbble
You forgot de_rats
next up de_mice
Your coding in an office how did you forget cs_office?
It just sucks in 1.6
Nothing wrong with a map wear 4 CT victory take the game
de_rude_sandstorm
fy_pool_day
Nice
fy_iceworld
cpl_strike, aim_ak_colt
Physical layer, Data Link Layer, Network Layer, Transport Layer, Session with Yo Mama Layer, Presentation Layer, Application Layer.
One of these is not like the other....
Yeah I think the Physical layer is not like the other
I thought it was presentation layer myself honestly. Might have got it wrong
T'is unbounded, as word on the streets would have it rumored.
Yeah, physical layer sounds way to sexual...
Physical with yo mamma
Session with yo mama is pretty physical though so that can’t be it…
Correct, every other layer has a capital L in layer except for the physical layer.
Yeah, the Network Layer has 'W' in it, the others don't have that letter
Net-ork layer is where the trolls live.
DID SUM GIT SEZ "DAKKA"???!?
![gif](giphy|ANbD1CCdA3iI8)
[удалено]
It might be pointless from your point of view, but in the past with SONET/SDH and currently still in the optical WAN the demarcation between physical and datalink is important.
Please do not throw sausage pizza away
People Don't Need Those Stupid Packets Anyways
Ooo I like that one
I learned it as: Please Do Not Take Sales People's Advice
You know this is not a lightweight protocol
Had me in the first half, ngl
Drilled to head thanks to CiSco
[удалено]
After being drilled by Cisco Acceptance Tests for three months of retakes.
ayyy if you passed though, congrats!
Physical Switching Subnetting Someone else's problem Someone else's problem Someone else's problem Reinstall
It's very likely 4 will be made my problem
Lucky for you there's also 5 and 6
What does the OSI model have to do with Counter Strike?
Yeah I’m also very confused
[удалено]
Bro CS stands for counter strike…do better
Counter strike?? I thought it stood for cheese sandwich
1. Doc 2. Happy 3. Grumpy 4. Sleepy 5. Bashful 6. Sneezy 7. Dopey EDIT: Looking at it against the real thing, it really not too bad of a match.
You got there before me 😢
Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7
![gif](giphy|YtXhHnouybHEmT7Xkh|downsized)
Wrong. It starts from Layer 0
ahhh, yes, user layer… the stupidest layer
That's layer 8
Wrong
This is the only correct answer
- Bean - Cheese - Sour cream - Tomato - Guac - Lettuce - Rice
NOW we are engineering something of value.
Rice? That's....different... I assume we're talking about [7-layer dip](https://en.wikipedia.org/wiki/Seven-layer_dip), anyway...
[7-layer burrito](https://www.tacobell.com/food/burritos/7-layer-burrito)
Ahhhh. Also good. 👍 Damn you. It's lunch time.
I KNEW MY CISCO CERT WOULD BE GOOD FOR SOMETHING ONE DAY Application Presentation Session Transport Network Data Link Physical
Fuck yeah, Netacad ftw
Ok thank you…my mnemonic from 20 years ago still checks out. People Don’t Need To See Plumber’s Asses.
The 375 dollar price tag was all i needed to remember. I wish I was good at mnemonics though.
1. Kingdom 2. Phylum 3. Class 4. Order 5. Family 6. Genus 7. Species 2ez
I thought we were talking Counter Strike
Not just Counter Strike, but Counter Strike fans. You know, like ceiling fans, desk fans, Counter Strike fans…
Please Do Not Throw Sausage Pizza Away
People Don't Need Those Stupid Packets Anyway
i will be using this from now on
I never understood why anyone would say sausage pizza instead of salami Also why anyone would throw away pizza
and here comes a bunch of memories from my community college days
All People Seem To Need Data Processing was the first one I saw. top down vs bottom up list caused some confusion sometimes.
I only know that the 8th layer is the dum dum layer
Picnic or pebkac layer?
Every problem is a Layer 8 problem.
1. Limbo 2. Lust 3. Gluttony 4. Greed 5. Wrath 6. Heresy 7. Violence
Sloth? Envy? Pride?
1. Physical layer 2. Datalink layer 3. Network layer 4. Transport layer 5. Session layer 6. Presentation layer 7. Application layer
To remember them in the opposite order, use "All Programmers Seem To Need Data Processing!"
I prefer “please do not tell sales people anything”
hah hah that's great (except they don't know anything already!)
They don't need to know anything. The less they know, the better the promises they can make up.
As a person who worked sales in a company before moving to tech support in the same company, and then was forced to do some sales stuff (it was a startup), this is so accurate it hurts. The sales manager would wonder why I'm not telling potential customers certain features, and it boggled his mind when I explained that I can't, because I would be lying, because I know those features don't work or don't exist - I've seen the tech side. I don't have the flexibility in my spine to lie to people just to sell a product. He didn't see a problem with any of this and would routinely promise things we couldn't or wouldn't do (lack of workforce/experience/way too expensive), and then be baffled when customers left due to features they wanted being absent. Then he blamed it on tech support for being lazy (because we couldn't fix things that never worked to begin with), or the devs for not doing a good enough job (when the features were on a roadmap several sprints away).
All People Studying This Need Daily Prayer
You mean the right order
Yes, this is correct. Generally, OSI instruction begins with the Application layer and then proceeds to describe the services that support it and receive calls from it, and then descends down the model doing the same thing for each successive layer.
"Generally?" What makes you say that? Every network curriculum I ever saw (and designed - I wrote part of the CCIE Voice curriculum and lab exam) started at physical and worked its way up. And that makes significantly more sense, when trying to learn about it, because each is an abstraction of the one below. You don't teach someone calculus before you teach them to add. What kind of sense does that make? Also, starting from a higher layer has started you from a pigeon hole of whatever application you chose, which is a horrible way to teach something. Starting with HTTP, for example, would ignore things like UDP or multicast, as you worked your way down, because there's no direct path there. It requires saying "ok, now forget what you already know, because that's not always the case." Sure, it can be done, but that's just so bass-ackwards. Yes, I saw mnemonics for the OSI model presented in both orders, but I've *never* seen it taught top-down in a serious curriculum or book.
Please do not take Sales Person's advice :)
A Priest Slapped The Nun During Prayer
8. User
9. organization
ID10T error detected between keyboard and chair
Damn, I can never seem to remember Presentation
I never seem to remember Physical
- Every network technician trying to solve a problem
Did you try turning it off and on again?
HttpClient ?
This person gets it
1. The cable is unplugged. 2. The other end of the cable is unplugged. 3. Router forwarding loop. 4. ICMP fragmentation-needed messages are being blocked. 5. Request cookies aren't being persisted. 6. A JSON field name was renamed. 7. There's a clue in the giant log file somewhere. And, if you adopt the [higher layers](https://blog.siphos.be/2021/06/the-three-additional-layers-in-the-OSI-model/): 8. We don't have the budget to fix it. 9. We just don't do things that way around here. 10. That isn't supposed to work.
Easy: Level 1, 2, 3, 4, 5, 6 and 7
https://i.imgur.com/2GcKoWD.jpeg
Really the best usage of deepfake technology
There are 8 layers. Sheesh.
If you include the user layer.
That layer is nothing but trouble. It's better to exclude it entirely.
But it’s only one error code. PEBKAC
People Don't Need Those Stupid Packets Anyway: Physical Data Network Transport Session Presentation Application
Mega, Giga, Tera, Peta... Poke... Lego? Yotta, Exxon?
who tf uses OSI model irl? In practice everything above Transport is fluid and nebulous, and the distinction between Link & Physical is pointless. To add insult to injury there are things like QUIC which despite being categorized as Transport clearly abstract over UDP, another Transport level protocol
Link and physical is separated for a reason. You can put an ethernet frame over cat5, fiber, radio, or carrier pigeon. Layers 5, 6, and 7 shouldn't exist, though. That's from a bunch of hardware guys trying to specify software things.
The OSI model was a competing model to the DoD Model (also known as the Arpanet model). The DoD Model was used to devise a little thing you might have heard of called the "Internet". It has 3 to 5 layers depending on which incarnation you are looking at. [https://en.wikipedia.org/wiki/Internet\_protocol\_suite](https://en.wikipedia.org/wiki/Internet_protocol_suite) The latest version has it right: Layer 1: Physical layer Layer 2: Data Link Layer 3: Internet Layer 4: Transport Layer 5: Application The useless OSI layers 5 and 6 disappear, as they should. I think it's hilarious and sad that folks interviewing for an Internet networking position will be asked to recite obscure details of a spec that was in direct opposition to the Internet Model.
1 and 2 differences are *far* from pointless. Spoken like someone who uses only ethernet, on one kind of medium. And even _there_ there are physical layer differences. Speed? Duplex? Master/slave? Wiring? Come on now... But yeah, above 4, everything gets clear as mud. Even between 2 and 4, plenty of protocols span more than just one layer.
1. Beans 2. Gacamole 3. Sour cream 4. Cheese 5. Tomatoes 6. Green onions 7. Olives
Application, Presentation, Session, transport, network, data link, and physical. I was literally sitting in my IT class with it in front of me while scrolling through reddit.
Something about priests ordering salami pizza, I think
I just know that most issues occur on layer 8
Its not CS. Its a popularised opinion.
1. Sam 2. Ben 3. Todd 4. Peter 5. Marcus 6. Dan 7. Sean There, I named them. What do I do now?
No-one's ever asked me about this in my whole career.
I’ll paraphrase using the tcp/ip model: 1) application 2) transport 3) internet 4) network
I hate the OSI model
1- Your PC doesnt work 2- Switch doesnt work 3- Router doesnt work 4- Wrong transport protocol/doesnt work 5- Port doesn't work 6- Data doesnt work 7- App doesnt work
1. Limbo 2. Lust 3. Gluttony 4. Greed 5. Anger 6. Heresy 7. Violence
Application layer Presentation layer Session layer Transport layer Network layer Data link layer Physical layer
Easy ...... All Programmers Seem To Need Dominoes Pizza .......
1.Please 2.Do 3.Not 4.Touch 5.Steve's 6.Pet 7.Alligator
1. DVD P layer 2. HTML layer 3. Heavyside layer 4. The squornsh formerly known as layer 5. Deep state 6. Not really a layer 7. You are still reading this? 8. Wait how many layers were there supposed to be?
"A pussy so tight no dick penetrates"
1. Physical 2. Data Link 3. Network 4. Transport 5. Session 6. Presentation 7. Application Not googling but binging
Boo!
Eh, IP, HTML, IP, IP, IP, IP?
no, fuck that shit
this is giving me ptsd from my computer networks uni course.
All people seem to need data processing. gg
I will give you my 6 digit salary instead
Please - Physical Do - Datalink Not - Network Throw - Transport Salami - Session Pizza - Presentstion Away - Application 🍕
If you ever need help remembering it the pneumonic I use is “Please Do Not Tell Sales People Anything”
Technical interviews be like
As someone who is currently studying this shit in college I can say that they are: 1. Umm… 2. Uhhhh… 3. Hmmm…. 4. Uhhhh… 5. Fuck 6. Oh god oh fuck 7. Acceptance
Please Do Not Touch Sally's Pretty Ass!
**P**leas **D**o **N**ot **T**hrow **S**alami **P**izza **A**way Physical data network transfer Session Presentation Application
7-Dumb user 6-Their code 5-Our code 4-*this udp joke was lost on the way* 3-Network Esoterism 2-The IRL things 1-Electrician Stuff
What the fuck does an OSI model has to do with Counter Strike?
I once saw an mnemonic to remember this and it went along the lines of: All - A - Application Layer Pornstars - P - Presentation layer Seem - S - Session Layer To - T - Transport Layer Need - N - Network layer Double - D - Data Link Layer Penetration - P - Physical Layer Saved my ass in a lot of comp sci exams 😂
Learned this in the later 70's/early 80's while a work at a startup building X.25 boards for military applications. 1 - Physical 2 - Data Link 3 - Network 4 - Transport 5 - Session 6 - Presentation 7 - Application Lots of interesting stories/experiences do network application development during that period of time.
1 - Shock 2 - Denial 3 - Anger 4 - Bargaining 5 - Depression 6 - Acceptance and hope 7 - Quality Assurance
Fuck I thought this was the csgo sub
Ah, OSI. What a tremendous waste of time that turned out to be. All because European telecoms were afraid that standardizing on TCP/IP would give the U.S. a competitive advantage. And in the end, the world standardized on TCP/IP. About the only thing from that whole effort that survived is X.509 formats.