This comes back to bite you when you purchase in-flight wifi which is tied to your MAC address. Make sure to disable that option for the in-flight access point!
on an AA flight I was recently on, they gave out free 20 mins of internet for watching a 15s ad, but this was once per device type of deal. In this case, turning on randomized mac addresses meant I get free inflight wifi for the entire flight!
When a basic dynamic library needs to be updated because, for instance, there is a big security issue, then all your statically linked binaries will have to be updated. Which means every one of those developer teams need to keep track of all the security fixes, release a new version of the binary and push it, and every user will have to download gigabytes and gigabytes of data.
While if you have dynamic libs you only have to download that one, and the fix will be pushed earlier and all the apps will benefit from it.
That route already exists today as “the web”, where the “latest” JavaScript source is downloaded and JIT-ed by browsers. That ecosystem is also not the greatest example of stable and secure software.
Oh, thank you! I am realizing I have not used Gentoo in ages. It was the only option on the Xbox at the time, and that didn’t have many cores. I should give it another go.
As someone using it as a daily driver, I wish you the best of luck. If you stick with it, I expect you’ll learn a lot about what goes on behind the scenes in other distros that have a lot pre-configured, like greeters, compositors (or DEs and WMs), etc.
I use all cores for updating and still have no problems. Doesn’t even make videos stutter. I think you’ll find things much less heinous than they were on Xbox.
Great idea. I’m sure Microsoft, Apple, Adobe, and almost every company that makes money with their software will be super happy to share their source code with me!
Shared libraries are not a theoretical good, they have been the backbone of computers for decades and many vendors have successfully maintained ABIs for decades.
Modern languages do the statically compiled solution and it has its own downsides. Makes language bindings hard, no stable ABI means no binary platforms exist (other than awkward C wrappers), rebuilds are slow and OS wide results in a lot of churn, reasoning about security fixes is very hard.
It’s a good thing I’m a hobbyist so that I can avoi- hmm, now that I think about it this feature could be really cool and shouldn’t take too long to implement…
Spouse at 7:00 AM: “Why do only some of the house lights work and there’s no hot water?”
Me: “You know that quick fix I was working on last night. Well, umm, one thing led to another aaaand… Umm… Just so you know, your phone is using mobile data because the wifi is out.”
Another advantage: enforced compartmentalization. If you have a single binary, someone will always give in to the temptation to bypass whatever honor policy is keeping your code from becoming spaghetti.
Honestly, I love statically compiled binaries for their simplicity. I was writing a small utility in Rust today and I wanted to share it with a colleague on windows.
One command to cross compile my Linux version to windows version and it worked on first attempt on his computer. To me it’s worth giving up a lot of the advantages of shared libraries for that kind of simplicity.
We should replace software repositories with the friendly person who stops by with a USB. Running “apt upgrade” pulls up an Uber-like interface that says when your software will arrive. Latency is terrible but bandwidth is phenomenal.
Why, did they add a week-long quarantine in baggage check? It’s an airport. The whole point is to show up and leave. Even if the wait lasts longer than the flight.
If your ass in there longer than 24 hours, the wifi should be considered an apology.
Did you,… hrm,… did you even take classes about this stuff. Ffs, this is why this career pays well: you have to understand complicated things.
Maybe your issue is with Windows. I suggest moving away from that platform.
Dynamic libraries are essential to computing, and allow us to partition out pieces of the code. One giant library would have to be recompiled with every change.
I mean yeah, dynamic libraries are great if used correctly (via something like Nix), but the unfortunate truth is, that they are not used correctly most of the time (the majority of the Unix and Windows landscape is just a mess with dynamic libraries).
With modern systems programming (Rust) the disadvantages of static compilation slowly fade away though via e.g. incremental compilation.
That said dynamic libraries are still a lot faster to link and can e.g. be hot-swapped.
My favorite thing was having to rewrite an enormous amount of code to support a new feature because the original architect originally wrote an enormous amount of code in anticipation of supporting a new feature like it.
fun fact, an early iPhone jailbreak would always change the phones wifi mac to the same address, so there was a meme for a while that if you had a jailbroken iPhone you couldn’t use airport wifi
Because programmers find a good way to do something then apply it to everything. It becomes the one true way, a dogma, a rule. Like how OOP was the best thing ever for everything, and just now 30 years later is proven to be actually bad. At least appimage is more like DOS-s “just unzip and run it” then “download another 500MB of useless stuff because the program depends on 1 20kB file in it”.
That said, well made libraries are good. As in those that have a stable API so versions don’t matter that much.
Like how OOP was the best thing ever for everything, and just now 30 years later is proven to be actually bad.
Alan Kay coined the term 57 years ago and we have to look at the landscape back then to see just how much OOP has actually influenced pretty much all languages, including ones that distance themselves from the term now. Avoiding shared global state. Check. Encapsulating data and providing interfaces instead of always direct access. Check. Sending signals to objects/services for returned info. Check check check.
Data oriented design is the new thing, much different from that.
OOP, other then smalltalk and maybe few other languages, is somewhat different in practice from the original idea. I can dig up a great talk from Alan Kay on OOP if you want. Actually i want to watch it again so i’l edit it in here when i find it.
That said, we often have to process seemingly unrelated data together which is slow with the model of passing data arround (even when by reference). When OOP was invented memory access was as fast as actual operations on it, while today memory is much slower then processing. With caches and simd and such, it is much faster if everything is an array. Peronally i’m not a fan of OOP because of the “everything has to be an object” mentality, but do whatever you like.
programmer_humor
Oldest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.