I may actually be the other way around. I'm probably better at networking than programming? Not sure, I love them both but do neither professionally.

And my boss shattering all with mean comments. Not letting me explain my code but still tearing it all down, removing all security features like checking for directory existing, connection is open aso. and then saying im not qualified for the job! Good thing i got already laid off. Bad that i'll still have to spend 3 months at this company

In one college class we had to reimplement TCP in our own code on top of real UDP sockets. That was a fun class.

Fun, sarcasm?

Same!

I was like this 5 years ago. Networking a lot is still effort for me, but it is just another learnable skill, and it has lots of benefits (depending on your aims, I guess)

Edit: hah, just realised this is about connecting computers, not about talking to people...

Same diff

Only computer thing I still needed to call dad about as an adult.

Opposite for me lol

If it helps, I'm from the other side of networking and infra. You could swap the labels and make the meme accurate for me.

In the mid 1980s I learn the BASIC programming command GOTO and fell in love for a lifetime. If you look any anything I used to write in Ruby script or today in Python you'll see my love affair with "if" "elfi" and "else" continues. My universe is nested "if" statements all the way down.

Please avoid nested if statements. Instead use early returns when possible.

See video explanation.

Early returns seems good, but personally I find code more confusing when things get arbitrarily separated out into functions, because to read it you have to keep scrolling back and forth between different parts of the page and either remembering where the other part is or typing a lot with ctrl-f, there's more variables to hold results, and if the section of code to be separated into a function is picked just because of nesting depth reasons then it's likely the function name isn't going to describe what it does very clearly, leading to more scrolling and more having to keep track of things in your head.

A good IDE makes it unnecessary to scroll back and forth like that, though.

How? I'm using vscodium. There are right click menus that bring you to function definitions and uses, but that isn't necessarily faster than scrolling around and is still way more friction and more stuff you can't see to hold in your short term memory.

IDEs also have collapse/expand features which make nested or longer functions easier to navigate.

Ahh, I found you, Toby Fox!

I'm sure he's fine, Sans/Susie.

If you like if statements, you'll love the python case statements for pattern matching

Ohhh nice! I could see replacing dozens of nested if

It was fashionable at a time to avoid ifs and other imperative structures, but I tend to like them. Functional is nice and all but I like my code to be smart in the way it works, not in the way it's written. Nested ifs are readable, collapsible, and easy to make sense of at a glance, there's often nothing wrong with using them.

Same here! I can put together a half-descent network in just a few hours, but even programming simple stuff on microcontrollers is a major endeavor. And the documentation is usually terrible or nonexistent. And the tutorials are usually barely able to cover basic questions. At least in the space of networking, there’s enough context clues in the UI that I can piece together the solution I need.

My universe is nested "if" statements all the way down

Also known as AI 🤣

"networking" in the social sense or in the administration/programming sense?

Good one 🤣 I don't think I have ever used the word to mean "managing social networks" or the likes 🤣

It's a trick question anyway, most programmers are probably bad at both Ü

Except Lain ﺕ

I am so going to start to use computer networking terminology when talking about social networking from now on.

ACK

ARP ARP ARP ARP ARP

(like a socially acceptable seal)

200 OK

Connection Timeout

502 Bad Gateway

I would ping her, but I have no handler in the event of NACK

It is very common to use ACK in social contexts as well if you work in IT I have found. Like "had a meeting about that issue, awaiting ACK from John"

She was SYN flooded, if y'know what I mean...

RST + complementary shoulder to cry on

TCP RST, find it what it means to me, TCP RST, Take out UDP! Socket to me, socket to me...

Only wizards can configure iptables for ipv4 and ipv6 port forwarding. Only wizards.

What about nftables?

My confidence in disk management and partition tables is made of horse hair, single strand.

I've enabled all the relevant permissions. I've disabled firewall protection. I've enabled file sharing on both sides. I've checked for connectivity to the other machine from the command line...

Why is my shared folder still not accessible!??!

That's why I decided to build my first online multi-player game as an offline single-player game, and just figure out how to add the networking stuff when everything else is done- an architectural choice I definitely won't come to regret later...

tcpdump looks scary but is super neat and helpful, learn it if you haven't ;)

ack

Still doesn't help with things like understanding routing and subnet masks and frame sizes and jfc how does any of this work

Of course not, but I've found that seeing the protocols in action and looking at real headers can be very helpful in making them click. Understanding DHCP or ARP or mDNS or BGP or whatever is much easier by inspecting a pcap than it is by reading RFCs

Yeah, for this, I started with this and this. With that said, it's still mostly arcane witchcraft. 🤣

As someone who understands the concept of network but has never professionally entered the field, i assume this just dumps a TCP packet to be inspected, correct?

The tcpdumps I've worked with can also dump UDP, ICMP, and even ARP.

Tcpdump can also capture USB traffic!

Yes, but before I used it I assumed that its scope was pretty much limited to what you just mentioned. Instead it can operate on most protocols both above and below layer 4, and it is incredibly useful as a traffic capture tool to produce a .pcap on a remote headless machine which you can then load into Wireshark. The "dump" part is the interesting one, not the "tcp" ;)

Yes. Also learn about certs if you need to deal with encryption https etc.

Thank you for the affirmation, I got reverse proxies and certificates relatively down, however I am struggling to understand headers and their purposes, I know Mozilla has great documentation regarding headers but lately I’ve gotten lazy, haha.

HTTP headers or headers in general? For the former I suggest Burp Suite to inspect and manipulate headers to see how things change, for the latter tcpdump/wireshark, to supplement your theory reading :)

Thanks! I started with Wireshark, settled on tcpdump for a while and now I'm too busy learning electrical engineering to give any fucks at all. 🤣 Nah but seriously, tcpdump gave me lots of insight! :)

Electrical engineering is just layer 1 on the OSI model.

I've been trying to remotely connect to a relational database of medical data. I've been smashing my head against a keyboard for days trying to get my fucking code to work. I can't even connect to their db on their Jupyter Spark cluster

Ooh medical data, bet there is some security involved that "gets in the way".

It absolutely is. I'm dealing with genetic data, so I'm on their high security tier. Right now, the signs point to some poorly documented environment variables that aren't sourced on startup for some reason

midwest.social

Rules

  1. No porn.
  2. No bigotry, hate speech.
  3. No ads / spamming.
  4. No conspiracies / QAnon / antivaxx sentiment
  5. No zionists
  6. No fascists

Chat Room

Matrix chat room: https://matrix.to/#/#midwestsociallemmy:matrix.org

Communities

Communities from our friends:

Donations

LiberaPay link: https://liberapay.com/seahorse