this post was submitted on 19 Apr 2024
258 points (98.1% liked)

Linux

48684 readers
430 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Whether you're really passionate about RPC, MQTT, Matrix or wayland, tell us more about the protocols or open standards you have strong opinions on!

(page 2) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 15 points 8 months ago (4 children)

i wish all the big players would agree on one of the many open chat and IM protocols. it's like kindergarten where the toddlers don't want to share toys

load more comments (4 replies)
[–] [email protected] 15 points 8 months ago (6 children)

TeX. I was able to use it during school for some beautiful type setting and formatting but nobody I work with wants to use anything other than plain text or unfortunately more commonly binary wysiwyg editor formats. It's frustrating and ugly.

load more comments (6 replies)
[–] [email protected] 13 points 8 months ago (3 children)

I'd love to see more adoption of... I2C!

Bazillions of motherboards and SBCs support I2C and many have the ability to use it via GPIO pins or even have connectors just for I2C devices (e.g. QWIIC). Yet there's very little in the way of things you can buy and plug in. It feels like such a waste!

There's all sorts of neat and useful things we could plug in and make use of if only there were software to use it. For example, cheap color sensors, nifty gesture sensors, time-of-flight sensors, light sensors, and more.

There's lmsensors which knows I2C and can magically understand zillions of temperature sensors and PWM things (e.g. fan control). We need something like that for all those cool devices and chips that speak I2C.

[–] [email protected] 9 points 8 months ago (2 children)

I2C is a bit goofy though. As a byproduct of being an undiscoverable bus you basically just have to poke random addresses and guess what you're talking to. The fact lmsensors i2c detection works as well as it does is a miracle. (Plus you get the neat issue where even the act of scanning the bus can accidentally reconfigure endpoints)

load more comments (2 replies)
load more comments (2 replies)
[–] [email protected] 12 points 8 months ago* (last edited 8 months ago) (4 children)

i2p. It's sorta like Tor, but the way that every user is a node provides some advantages over Tor.

[–] [email protected] 7 points 8 months ago (3 children)

A few years ago there was a Lemmy instance on I2P

load more comments (3 replies)
load more comments (3 replies)
[–] [email protected] 12 points 8 months ago

I sincerely wish all of my messages were delivered to me by an owl holding a scroll.

[–] [email protected] 11 points 8 months ago (6 children)

SimpleX. No federated messenger is good for privacy.

But I see how SimpleX is impossible for public groups, as spam is basically unavoidable.

load more comments (6 replies)
[–] [email protected] 11 points 8 months ago

OpenTelemetry everywhere please

[–] [email protected] 9 points 8 months ago

xmpp (jabber)

[–] [email protected] 9 points 8 months ago

Stream Control Transmission Protocol. It’s the Betamax of low level networking.

https://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol

[–] [email protected] 9 points 8 months ago (5 children)

FTP

Seriously guys, let's share files the old fashioned way. Without bullshit.

[–] [email protected] 8 points 8 months ago* (last edited 8 months ago) (22 children)

I'd like to interject for a moment. What you're referring to as FTP is, in fact, smelly hot garbage.

For context, I wrote this while waiting for a migraine to pass. I was angry at my brain for ruining my morning, and I like to shit on FTP. It's fun to be hyperbolic. I don't intend for this to be an attack on you, I was just bored and decided to write this ridiculous rant to pass the time.

I must once again rant about FTP. I've no idea if you're serious about liking it or you're just taking the piss, but seeing those three letters surrounded by whitespace reminds me of all the bad things in the world.

FTP is, as I've said, smelly hot garbage, and the infrastructure built to support FTP is even worse. Why? Well, one reason is that FTP has the most idiotic networking model conceivable. To see how crazy it is, let's compare to a more sane protocol, like HTTP (for simplicity's sake, I'll do HTTP/1.1). First, you get the underlying transport protocol stuff and probably SSL. The HTTP client opens a connection from some local ephemeral port to the destination server on port 80/443/whatever and does all the normal protocol things (so syn->synack->ack and Client Hello -> Server Hello+server cert -> client kex+change cipher -> change cipher -> encrypted data). FTP does TCP too! Same same so far (minus SSL, unless you're using FTPS). Next, the HTTP client goes like this:

GET /index.html HTTP/1.1
Host: www.whatever.the.fuck
# a bunch of other headers

and you know what fucking happens here? The fucking server responds with the data and a response code on the same goddamn TCP connection. You get a big, glorious response over the nice connection you established:

200 OK
# a bunch of headers and shit

HERE'S YOUR DAMN DATA NERD

So that's nice, and the client you're using to read this used that flow (or an evolution of that flow if you're using HTTP/2 or HTTP/3). So what does FTP do? It does one of two really stupid things depending on whether you're using active or passive mode. Active mode is the default for the protocol (although not the default for most clients), so let's analyze that! First, your FTP client initiates a TCP connection to your server on port 21 (by default), and then the server just sends this:

<--- 220 Rebex FTP Server ready.

ok, that kinda came out of nowhere. You're probably using a modern client that saves you from all of the godawful footguns, so it then asks the server what it supports:

---> FEAT
<--- 211-Supported extensions:
<---  AUTH TLS;SSL;
<---  CDUP
<---  CLNT
# A whole bunch of other 4 letter acronyms. If I was writing an FTP server, I'd make it swear at the user since there are a lot of fun 4 letter words

There's some other bullshit we don't care about right now, although highlights include sending the username and password in plain text. There's also ASCII vs binary mode. WE'LL GET BACK TO THAT. :|

So then we want to do a LIST. You know what happens in active mode? Your computer opens up some random fucking TCP port. It then instructs the FTP server to CONNECT TO YOUR GODDAMN COMPUTER. Your computer is the server, and the other side is now the client. I would post a more detailed overview of the FTP commands, but most servers on the internet disable active mode because it's a goddamn liability. All of the sudden, your computer has to be internet facing with open firewall ports, and that's just a whole heap of shit.

I'm probably not blowing many minds right now because people know about this shit. I just want to mention that this is how FTP was built. The data plane and control plane are separate, and back in 19XX when this shit was invented, you could trust your fellows on ARPANET and NAT didn't exist and sure HAM radio operators here's the entire goddamn 44.0.0.0/8 block for you to do packet switched radio. A simple protocol for simple times, back before we knew what was good and what was bad.

So, active mode sucks! PASV is the future, and is the default on basically all modern clients and servers! Passive mode works exactly the same as the above, except when the client goes to LIST, the server opens some random TCP port (I've often seen something like 44000-44010) and tells the client, "hey you, connect to 1.2.3.4:44000 to get you your tasty data." Sounds great, right? Well, there's a problem that I actually touched on in my last paragraph. Back when this dogshit was first squeezed out in the 70s, everyone had a public address. There were SO MANY addresses! 4 billion addresses? We'll never use all of those! That is clearly not the case anymore. We don't have enough addresses, and now we have this wonderful thing called NAT.

Continued in part 2.

load more comments (22 replies)
load more comments (4 replies)
[–] [email protected] 9 points 8 months ago (4 children)

PGP/GPG. I would like to see the web of trust take off. Also I love the aesthetic for anything that's been signed, and would like to see blog posts everywhere be nested by long blocks of random symbols.

[–] [email protected] 7 points 8 months ago* (last edited 8 months ago) (1 children)

PGP has a bunch of limits (and I'm saying that as a cryptography nerd). We've learned a lot of things since the 90's and the better solutions are specialized encryption protocols like MLS / Matrix (E2EE group messaging) and running all kinds of other protocols on top.

The portable identity part of PGP can be handled by something like DID documents which works more like Keybase used to do (depending on specific implementation) where your declare a list of supported protocols with public keys and accounts under your control, so people can still achieve the same effect of using a strong cryptographic identifier to communicate with you, but with forward secrecy supported by default and much lower risk of stuff like sidechannel attacks.

load more comments (1 replies)
load more comments (3 replies)
[–] [email protected] 8 points 8 months ago (2 children)

I used to have an open public SIP address that would ring a home phone, complete with a retro answering machine, but nobody uses SIP...

load more comments (2 replies)
[–] [email protected] 8 points 8 months ago

Idk I just wanna finger my server

load more comments
view more: ‹ prev next ›