Recent comments in /f/explainlikeimfive

wizard2278 t1_iubyxe0 wrote

Yes. Often used in emergency situations and by US a mature radio operators (HAMs). It is required for most of their radio operator licenses. It can be transmitted better than voice - less power and through more interference. Some even bounce signals off the moon and reach others in states. Many reach every state. Hawaii and Alaska are the hardest for those not located in those states.

Military folks use similar communications sometimes, I would guess.

11

Azeranth t1_iubxuum wrote

In the simplest terms, a firewall is a peice of software that reads the contents of a packet as it attempts to enter and leave a device.

Some networks are set up with special routers who's only purpose is to run this software, and receive incoming traffic, inspect it, and pass it on (or drop it) based on if it thinks it's safe.

How firewalls work, well that's a little more complicated.

Essentially, most designs come down to a giant flowchart of rules. Each step in the flow chart will perform some task based on the information being inspected, and will make a decision based on the result. Generally, the decision will be to either

1.) Drop the packet, meaning to not let it pass, and move on

2.) Accept the packet, meaning to let it pass and move on

3.) Jump to a new rule, meaning divert into an alternative branch of the flow chart

  1. Pass, meaning to just do nothing and the let the next rule decide.

Most of the time you'll set up a chain of rules so that if you pass every step, you get to go to the next one, but if you fail you get dropped. This is like a logical and. "You must be this tall to ride AND you must be wearing your swim trumks"

Sometimes you'll do the opposite, where success means you're accepted, and failure means you get passed along. This is a logical OR "You must pay full price OR have a coupon"

Jumping is most helpful when you want rules to only apply to certain types of packets. So, if for example you wanted to detect when someone was uploading a file to your file server, as opposed to browsing a website hosted on your network, you might have extra rules to make sure the file they're trying to send is safe and normal before giving it the all clear. But those rules don't make sense when looking at website browsing traffic, so we branch to the file upload rules when we detect it happening.

What the rules actually look like can be pretty complex too, but because speed is a priority you often do your simplest checks first to try and reduce the amount of times you have to do your more complex checks. If a packet is going to be dropped the objective is to detect and drop it asap so as not to waste resources.

The simplest and most common rule checks whether a specific value is at a specific location. It's like saying "is the third letter in this sentence an 'l'. The third letter was not an l, do we fail the rule and move on. Sometimes these rules get a little more complex. We might want to check if any one of several values exist in a particular location. We want an OR. The problem is, we are in the middle of a large AND, how do we resolve this?

To do this, we'd do some jumping magic. We jump to a chain of OR rules. Then, instead of accepting the packet, we go back to where we jumped from, and treat the jump statement like a sungle rule that either came back true or false. This very powerful technique is like having parentheses and let's us make very nuanced and deeply nested queries out of very simple and thus very quick parts.

The next most complicated rule is not just a matching rule, but a pattern rule. Rather than look for a value in a single place, we ask does this value occur anywhere in a range of places. Because firewalls are often designed to be minimal and fast, there are many implementation that cut even this basic function just to be better at doing the most simple queries. The solution, we use multiple firewalls at once. An example of one of these more complicated firewalls is called Snort. Snort let's you do all kinds of complex pattern based queries looking for complex patterns of data in anything you might want to examine in a packet. Of course, it's slower, but it's unbelievably powerful and is the backbone of every secure network.

Final though, we get to the mack daddy of firewall rules. Stateful inspection. Sometimes we aren't just looking at a pattern in a single piece of data, in a single packet. Sometimes we need to find a pattern across multiple packets. Sometimes we store information from one packet to help analyze the packets that come after it. Now we're not just slowing down, now we're using memory. That's a big and expensive cost for something that's supposed to examine everything, so we usually reserve it for critical needs and systems, or only inspect a random sampling of traffic this way. In either case, stateful inspection is the king. There's no part of a session or protocol you can't examine that way. Any question you want to ask, any criteria you want to use, stateduk will get you there. It's just slow and expensive and only useful in a tiny tiny minority of cases.

1

arcosapphire t1_iubxe0l wrote

That thread was super cool. Is there a subreddit for "how they work" kinds of things like this? I mean obviously this person does stuff like that on Twitter, but I have always hated Twitter's format and never know how to navigate things properly. (Plus now it's a total shitshow with the recent corporate drama.)

2

sjiveru t1_iubwhhy wrote

I also think we're talking past each other a bit; you're mostly concerned with the ability to read something already written in whatever language and I'm mostly concerned with the ability to write something new fully in your own language. If you were to try and write a full novel in Fuzhounese with Chinese characters, how would that work? How often would you come across a situation where there's no obvious way to write what you want to say?

Basically the point I'm trying to make is that each Chinese language individually needs a conventional way to use Chinese characters; they don't just automatically work. I'll admit that maybe more of that would overlap with the conventions used to write other Chinese languages that I originally understood to be the case.

1

specialspartan_ t1_iubw7g6 wrote

I don't think we have a definitive answer to this, but from my understanding intelligence within a species has less to do with the brain's size and more to do with it's structure and complexity. Also, someone who is born bigger and taller won't necessarily be faster or stronger if they don't do at least equal amounts of exercise. Similarly, someone born with a higher potential for intelligence won't be smarter if they don't do things like read, create, scrutinize, and solve problems. Another likely reason is that a person born with a gifted physique might be more inclined to nurture that aspect of themselves, e.g. choosing to go to the gym rather than the library.

7

mirxia t1_iubvyx3 wrote

Alright, I don't have an academic background on linguistics, just somewhat interested in it.

I'm a native Chinese from Fuzhou, so I speak Mandarin, Fuzhounese, and I understand about 50% of Hokkien due to my mom and my other grandma. These two are about as far as you can get from Mandarin in that they are completely mutually unintelligible. Yet still, there's a pretty direct mapping from sound to characters in all three dialects that when written, they are not very different in most cases.

2

Danne660 t1_iubvxu3 wrote

A lot of the brain just process information from the body and don't have anything to do with your conscious thought. People with larger bodies need larger brains, especially people with larger eyes but peoples eyes are mostly the same size.

Also what we think of as intelligence is mostly determined by personality. If your brain works 10% faster then average you are just going to spend about 9% less time thinking up the same mediocre idea that someone else with the same personality would until you think, good enough.

7