For many systems out there, /bin and /lib are no longer a thing. Instead, they are just a link to /usr/bin and /usr/lib. And for some systems even /sbin has been merged with /bin (in turn linked to /usr/bin).
For many systems out there, /bin and /lib are no longer a thing. Instead, they are just a link to /usr/bin and /usr/lib. And for some systems even /sbin has been merged with /bin (in turn linked to /usr/bin).
Not just Linux… 99% of the time you see something weird in the computing world, the reason is going to be “because history.”
The C developers are the ones with the ageist mindset.
The Rust developers certainly are not the ones raising the point “C has always worked, so why should we use another language?” which ignores the objective advantages of Rust and is solely leaning on C being the older language.
They very rarely have memory and threading issues
It’s always the “rarely” that gets you. A program that doesn’t crash is awesome, a program that crashes consistently is easy to debug (and most likely would be caught during development anyway), but a program that crashes only once a week? Wooo boy.
People vastly underestimate the value Rust brings by ensuring the same class of bugs will never happen.
It really depends.
If I know I will never open the file in the terminal or batch process it in someways, I will name it using Common Case: “Cool Filename.odt”.
Anything besides that, snake case. Preferably prefixed with current date: “20240901_cool_filename”
People back then just grossly underestimated how big computing was going to be.
The human brain is not built to predict exponential growths!
I use IPv6 exclusively for my homelab. The pros:
No more holepunching kludge with solutions like ZeroTier or Tailscale, just open a port and you are pretty much good to go.
The CGNAT gateway of my ISP tends to be overloaded during the holiday seasons, so using IPv6 eliminates an unstability factor for my lab.
You have a metric sh*t ton of addressing space. I have assigned my SSH server its own IPv6 address, my web server another, my Plex server yet another, … You get the idea. The nice thing here is that even if someone knows about the address to my SSH server, they can’t discover my other servers through port scanning, as was typical in IPv4 days.
Also, because of the sheer size of the addressing space, people simply can’t scan your network.
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.
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.
If I remember right, the syncing issue was particularly egregious when you run windowed X11 programs on Wayland. So it could be that you got lucky.
I think if you consider anything post C++03 (so C++11 or newer) to be “modern C++” then Concepts must be the top example, doesn’t it?
Counting from C++0x that’s almost a decade of waiting.
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.
You need to enable DRM KMS on Nvidia.
Mine is simply default KDE. The only visible thing I’ve changed is the wallpaper – changes to my desktop mostly concentrate on the “invisible” ones like shortcut keys or setting changes or scripting.
Desktop? I settled on Arch and Fedora.
Server? Debian. Although technically I never distrohopped on servers, been using Debian since the beginning of time.
Probably not wrong. But it’s a double edged sword, if Tachiyomi wasn’t hosted on Github it’s likely that it wouldn’t have gotten this far.
It’s harder for other devs to discover your project when you use the other Git forges (e.g. Gitlab).
Ackshually you still can blame Windows for not supporting live updates.
There are times when the original standard has zero forwards compatibility in it, such that any improvement made to it necessarily creates a new standard.
And then there’s also times when old greybeards simply disregard the improved standard because they are too used to the classic way.
Usually I sympathize with sentiments like this (“people use X because of uncontrolled circumstances”), but browsers are not one of them.
If you have a website that requires the use of Chrome, then just use Chrome for that website! It’s not an either-or thing – you can install both browsers and use Firefox as the primary one.
And that’s what makes this statement so problematic. You don’t earn anything by staying exclusively on Chrome, when both it and Firefox can work alongside each other.