orangeboats

@orangeboats@lemmy.world
0 Post – 118 Comments
Joined 1 years ago

This is why I try my damnedest not to write in weakly typed languages.

string + object makes no logical sense, but the language will be like "'no biggie, you probably meant string + string so let's convert the object to string"! And so all hell breaks loose when the language's assumption is wrong.

1 more...

It's the fear of centralization, I believe (correct me if I'm wrong!).

Seeing that the whole point of federation is to decentralize the web, putting everything under the Cloudflare umbrella goes against this philosophy.

Not sure if it's still the case today, but back then cellular ISPs could tell you are tethering by looking at the TTL (time to live) value of your packets.

Basically, a packet starts with a TTL of 64 usually. After each hop (e.g. from your phone to the ISP's devices) the TTL is decremented, becoming 63, then 62, and so on. The main purpose of TTL is to prevent packets from lingering in the network forever, by dropping the packet if its TTL reaches zero. Most packets reach their destinations within 20 hops anyway, so a TTL of 64 is plenty enough.

Back to the topic. What happens when the ISP receives a packet with a TTL value less than expected, like 61 instead of 62? It realizes that your packet must have gone through an additional hop, for example when it hopped from your laptop onto your phone, hence the data must be tethered.

5 more...

I still don't quite get why some people are defending manufacturers which remove the headphone jack on their phones...

3.5mm jacks don't cost much materially. Removing it doesn't bring any benefit at all, and you are forced to buy a bluetooth headphone or a Type-C-to-3.5mm dongle on top of that.

24 more...

I've noticed that many Reddit users with the username format Word_Word_Number (for example Absolute_Bot_1230) are almost guaranteed to either be a bot or extremely inflammatory -- it's like everything they post is meant to generate controversies.

3 more...

Awesome! I don't have a Discord account (well, I had) so this will be very useful.

3 more...

I still won't buy one just because of this news - they have done lots, lots of shitty things in the past. GameWorks, PhysX, Geforce Partnership Program, etc. While AMD is not exactly a saint when it comes to open sourcing, they still commit far more than Nvidia to open standards.

This also explains why VPN is a possible workaround to this issue.

Your VPN will encapsulate any packets that your phone will send out inside a new packet (its contents encrypted), and this new packet is the one actually being sent out to the internet. What TTL does this new packet have? You guessed it, 64. From the ISP's perspective, this packet is no different than any other packets sent directly from your phone.

BUT, not all phones will pass tethered packets to the VPN client -- they directly send those out to the internet. Mine does this! In this case, TTL-based tracking will still work. And some phones seem to have other methods to inform the ISP that the data is tethered, in which case the VPN workaround may possibly fail.

3 more...

Every time there's a "just add an extra octet" argument, I feel some people are completely clueless about how hardware works.

Most hardware comes with 32-bit or 64-bit registers. (Recall that IPv6 came out just a year before the Nintendo 64.) By adding only an extra octet, thus having 40 bits for addressing, you are wasting 24 bits of a 64-bit register. Or wasting 24 bits of a 32-bit register pair. Either way, this is inefficient.

And there's also the fact that the modern internet is actually reaching the upper limits of a hypothetical 64-bit IPv5: https://lemmy.world/comment/10727792. Do we want to spend yet another two decades just to transition to a newer protocol?

6 more...

It's not a fork of wlroots. wlroots is a library to assist developers in creating Wayland compositors.

Tell me you know nothing about Chinese EVs without telling me you know nothing about Chinese EVs. BYD's best sellers are actually plug-in hybrids, which is in no way "stolen" from Tesla.

3 more...

"it just maxes out the ram and then does nothing." is absolute nonsense. The programs need memory to operate.

If your RAM is maxed out and the programs seem to operate just as fine, the OS is doing something behind the scenes, it's just a matter of what that something is. And memory swapping / virtual memory is a well-known method of alleviating RAM overuse, at the cost of murdering your SSD/HDD lifespan.

Indeed. I would love to have a "modernized Morrowind" experience -- an RPG game that really nails the role-playing part of RPG, but without the cheesy parts of Morrowind like the unintuitive combat system -- but all of us know that it's just not gonna happen.

4 more...

I only expose services on IPv6, for now that seems to work pretty well - very few scanners (I encounter only 1 or 2 per week, and they seem to connect to port 80/443 only).

7 more...

It's so exclusive to the US that I didn't even understand what OP was saying before reading the comment section for clues.

Blue bubbles, green bubbles? Wtf is that and how is it related to Android/iOS.

For reference, I live in South East Asia and use Android, but I have never heard my friends using iOS complain about some kinda bubble colour.

8 more...

And we are facing the effects of it as we're speaking. CGNAT and protocols like TURN were not invented without a reason.

I don't think it's possible to encrypt the data.

Say we have a rogue user that sends to the server multiple upvote requests for the same comment, how can the server reject the subsequent requests? After all, we can't let a user upvote a post or comment multiple times.

If that data is encrypted, the server cannot tell whether the user has upvoted a comment before.

17 more...

As an anecdotal though, I once saw someone simply forwarding (ie. copy and pasting) their exam questions to ChatGPT. His answers are just ChatGPT responses, but paraphrased to make it look less GPT-ish. I am not even sure whether he understood the question itself.

In this case, the only skill that is tested... is English paraphrasing.

Wayland is X12. The people who worked on Wayland were X11 developers too.

Debian is my go-to distro whenever stability is desired.

I use Arch btw (on my desktop), but I would never run it on my server... I feel that I could easily ruin my database (Postgres) if I am not careful enough with the rolling release.

1 more...

I feel that the biggest mistake of X11's protocol design is the idea of a "root window" that is supposed to cover the whole screen.

Perhaps that worked greatly in the 1990s, but it's just completely incompatible with multi-displays that we commonly see in modern setups. Hacks upon hacks were involved to make multi-displays a possibility on X11. The root window no longer corresponded to a single display. In heterogenous display setups, part of the root window is actually invisible.

Later on we decided to stack compositing on top of the already-hacky mess, and it was so bad that many opted to disable the compositor (no Martha, compositors are more than wobbly windows!).

And then there's the problem of sandboxing programs... Which is completely unmappable to X11 even with hacks.

6 more...

::1

It's the explicit sync protocol.

The TL;DR is basically: everyone else has supported implicit sync for ages, but Nvidia doesn't. So now everyone is designing an explicit sync Wayland protocol to accommodate for this issue.

It's just a notable milestone. For as long as I can remember Linux marketshare never went above the 3.something% mark.

IPv4 version: Think of your public IP:Port as the office building, your internal IP:Port as the floor number, and reverse proxy as the reception on that floor.

(Your public IP:Port is routed to your internal IP:Port by the NAT on your router. The router knows which public port relates to which internal IP:Port due to the port forwarding rules you setup.)

IPv6 version: Think of your public IP:Port as the office, and the reverse proxy as the reception.

The following will be common to both IP protocols.

The port is usually 80 or 443, because reverse proxy is used for HTTP(S) connections, and by default those connections use the aforementioned ports.

When someone connects to your IP:Port, they ask the reverse proxy "hey, can you bring me to Mr. https://my-awesome-plex.xyz ?" and the reverse proxy will act as a middleman between that someone and the actual server that is serving that domain name.

The reverse proxy, as a middleman, forwards your requests to the server, and the server's response is forwarded back to you by the reverse proxy too.

And just to make things complete... Why do we use reverse proxies?

  1. To hide the identity of the actual server. This is easy to understand - you are only ever talking to the proxy, never the actual server. It's just that your messages are continually forwarded to the actual server.

  2. To save IP addresses. (One public address can serve multiple websites, if the actual servers are given only private IP addresses.)

  3. To load balance. The reverse proxy can direct one to another server if the first server is overloaded. This requires a website to be served by more than one server though, and selfhosters like us never really need it.

  4. To prevent attacks. If the reverse proxy realises that someone has been making too many connections to https://my-awesome-nas.com, the reverse proxy can reject subsequent connections. This is how Cloudflare works.

  5. Caching. If the middleman remembers that the server responded "what is the answer to everything" with "42", then the next time someone asks the same question again, the middleman will simply reply with the same response. This takes off the workload on the server.

Tell that to your ISP which has fucked their IPv6 deployment up. In my experience IPv6 is actually faster since it bypasses the IPv4 CGNAT.

On busy days my IPv4 connection can get as slow as 15KB/s, now that's trash.

I am using it now as I'm commenting.

Been using it daily for years at this point.

Reddit definitely stores upvoters and downvoters of each comment, otherwise it won't remember which comments you have downvoted.

Modern Linux systems are slowly moving toward Btrfs at least... which is pretty young compared to ext4 and Ntfs.

I don't see how the jack can make a phone less appealing? 99% of the time you'll be looking at the screen, you're not going to see the headphone jack.

Though, perhaps it's because of lifestyle differences between countries (I am not American), I simply cannot imagine not using the 3.5mm jack ever. I am still using AUX on my car radio.

1 more...

Any "X11 vs Wayland" discussion will eventually devolve into a fight beteeen diehard X11 fans and diehard Wayland fans, lol.

3 more...

Our network architecture has the tendency to waste IP addresses. A subnet may have 10 devices but have 256 IPs (e.g. a /24 network like 192.168.0.0 to 192.168.0.255) - that's 246 wasted addresses. This wastage is kinda unavoidable since we'd need to keep our routing tables from being too fragmented.

With that in mind it is entirely possible for 64-bit addressing space to not be enough, unless we revert to methods like NAT which come with their own disadvantages.

We have already used up about one /11 block of the IPv6 internet. That's 128-11=117 bits. If we replace the standardized /64 subnets of IPv6 with old /24 subnets typical in IPv4 networks, you get 61 bits. That's dangerously close to the upper limit of a hypothetical 64-bit IPv5 internet.

Port forwarding is exclusively a NAT phenomenon.

In IPv6 every device should in theory have a public address - just like how every computer had a public IPv4 address back in the 1980s ~ 1990s.

However, most sensible routers will have a firewall setup by default that blocks all incoming connections for security reasons. You still need to add firewall rules.

2 more...

I use arch btw.

Rosetta certainly does emulate* x86. It can dynamically recompile x86 instructions to ARM instructions, otherwise applications that include an x86 JIT wouldn't work at all on ARM Macs.

* I know people will be pedantic about this... but other emulators (Dolphin, PCSX2 etc) have included a recompiler for ages and no one seemed to have a problem calling them emulators.

r/worldnews is just a propaganda sub disguised as a hub for world news.

I am trying to. My current phone has a headphone jack. But I fear that the possibility of getting a high-end phone with a headphone jack is diminishing.

You're not "wasting" them if you just don't need the extra bits

We are talking about addresses, not counters. An inherently hierarchical one at that (i.e. it goes from top to bottom using up all bits). If you don't use the bits you are actually wasting them.

you can gradually make the other bits available in the form of more octets

So why didn't we make other bits available for IPv4 gradually? Yeah, same issue as that: Forwards compatibility. If you meant that this "IPv5" standard should specify compulsory 64-bit support from the very beginning, then why are you arbitrarily restricting the use of some bits in the first place?

If you're worried about wasting registers it makes even less sense to switch from a 32-bit addressing space to a 128-bit one in one go

All the 128 bits are used in IPv6. ;)

1 more...

You can't talk about NAT and then mention speed in the same statement...

The 128-bit IPv6 addresses are just four simple 32-bit integers if you think about it, but with NAT you have juggle around and maintain the (internal IP, internal Port, external IP, external Port, Protocol) tuples all the time. That's a significant overhead. Also, switches typically deal with the Layer 2 stuffs. IP is Layer 3.

See the HN discussion for more information.

It's just easier to do IPv4 in every way

Except when you have to NAT transversal. Then you are in a world of hurt.

It's pretty difficult nowadays to self-host websites when everyone and their nanny shares a single public IP address (IPv4 address exhaustion is real, everyone!) unless you purchase a hosting service.

9 more...