• 0 Posts
  • 54 Comments
Joined 7 months ago
cake
Cake day: August 15th, 2024

help-circle

  • I feel like the “we don’t know what this function does” meme is kinda bad. There’s no reason beyond maybe time crunch why you shouldn’t be able to dissect exactly what it does.

    Despite this, the notion of a load-bearing function is still very relevant. Yeah, sure, you know what it does, including all of the little edge case behaviors it has. But you can’t at this time fully ascertain what’s calling it, and how all the callers have become dependant on all the little idiosyncracies that will break if you refactor it to something more sensible.

    It has been several times now where a part of my system of legacy code broke in some novel fantastic way, because two wrongs were cancelling out and then I fixed only one of them.


  • It’s not clear at all, no.

    Is this proposal patently ridiculous? Yes. Do I believe there’s at least one legislator in Mississippi who unironically believes in this bill exactly as written, and is playing this completely straight? Considering all that’s happened so far, why not?

    Satire doesn’t work when the obvious hyperbolic nonsense is within actual expected behavior of the satirized.

    I won’t claim one way or the other that this is or is not satire. I don’t know who this legislator is and I don’t really care. But no, with the whole article you’re pasting everywhere in this thread as my only context clue, I certainly didn’t find enough evidence to be convinced he doesn’t actually believe this.



  • I got a 1U rack server for free from a local business that was upgrading their entire fleet. Would’ve been e-waste otherwise, so they were happy to dump it off on me. I was excited to experiment with it.

    Until I got it home and found out it was as loud as a vacuum cleaner with all those fans. Oh, god no…

    I was living with my parents at the time, and they had a basement I could stick it in where its noise pollution was minimal. I mounted it up to a LackRack.

    Since moving out to a 1 bedroom apartment, I haven’t booted it. It’s just a 70 pound coffee table now. :/


  • pixelscript@lemm.eetoProgramming@programming.devThe yaml document from hell
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    1
    ·
    edit-2
    2 months ago

    The first four of them are “just how floats work”, yeah. Has nothing to do with JavaScript.

    typeof NaN
    // "number"
    

    Classic, yes, very funny. “NaN stands for ‘not a number’ but it says it’s a number”. But for real though. It’s still a variable that’s the Number type, but its contents happen to be invalid. It’s Not a (Valid) Number.

    The next three are just classic floating point precision moments.

    The Math.max() and Math.min() ones are interesting. Seems that under the hood, both methods implicitly have a fallback “number” that it compares to any argument list you give it that will auto-lose (or at closest, tie) with any other valid number you can possibly give it, so when you give it nothing at all, they leak out. Honestly, makes sense. Kinda ludicrous it needs to have defined behavior for a zero-argument call in the first place. But JS is one of those silly languages that lets you stuff in or omit as many arguments as you want with no consequences, function signature be damned. So as long as that paradigm exists, the zero-argument case probably ought to do something, and IMO this isn’t the worst choice.

    Every other one is bog standard truthy/type coercion shitlery. A demonstration of why implicit type coercion as a language feature is stupid.



  • I assume the reflowing solder in the oven trick doesn’t reliably work anymore in the era of the high temp solders that are common in laptop manufacturing these days. Bringing the whole board up to flow temp in something as crude as a home oven is almost certainly going to fuck something else on the board.

    I recall trying to do a laptop repair with dinky little soldering iron I got at the hardware store and it could not melt a single thing on the board I touched it to. Definitely not a faulty iron because I used it to successfully solder other things. This was at least five years ago. If that little toy couldn’t do it, then the entire board would need to exceed that temp in an oven, which is probably a bad idea since the iron was still managing to visibly scorch things despite not melting any solder.

    Invest in a proper heat gun and learn how to use it, or just give up and give it to someone else who has one, imo.


  • Technically all you need is a DNS server.

    No computer knows where <whatever.tld> is located, unless that route is hard-coded in a host file somewhere. It always has to ask a DNS server for that information. If that DNS server doesn’t know, it will probably try asking some other DNS server, and so on up a chain. Eventually, it reaches a master DNS server that either has the answer on-hand somewhere in a database, or it says, “lmao, that doesn’t exist”. All the DNS servers and your PC down the chain take that answer. They might memorize it for a little while and hand it out to anyone who asks them, but after a while they’ll ask their way up the chain again to see if the answer has changed since the last time they asked.

    In order to “create” a TLD, all you have to do is make a DNS server that doesn’t ask up the chain. Just pre-program the list of valid domains yourself. You can make them anything you want. You can even “steal” existing domains and make them point to anywhere you want. Nothing is stopping you. Your DNS server will confidently report its pre-programmed answers to anyone who asks.

    The catch is that any Internet-enabled device that you want to be able to use your fancy new custom domains needs to be configured to ask your DNS server in particular. People would have to manually set your DNS server as their master server to ask, or they’d have to set it to ask some other DNS server that is itself pointed through some chain up to your DNS server. This is an explicitly opt-in system, and getting a significant mass of people to do that voluntarily is practically impossible. But it’s not technically impossible.

    The only reason you don’t have to do this manually with every single device you buy is because most devices either come from the manufacturer with a hard-coded list of DNS servers they should trust by default, or a device on the local network whispers in their ear and tells them who the local DNS server is and the device just goes along with it. It’s still technically an opt-in system; devices are simply either already “pre-opted in”, or there’s a system running on your network that auto-opts-in every device that connects, and most devices are designed to accept that auto-opt-in the moment they detect it.

    Provided you manage to get the devices you want to listen to your DNS server, you may additionally want to set up a root certificate authority. The thing that makes the little padlock show up in your browser URL box to let you know the connection is secure. Kind of like the DNS server thing, this is also very simple–just run a cheeky little OpenSSL command or two and you can be a root CA in no time–but it suffers from the same “opt-in” problem. You have to manually configure any device you want to use your system to trust your certificates. Most devices just come with a list of “acceptable authorities” built-in, and those defaults are all most people are using. But nothing is stopping you from adding anything you want to that list at any time. You’re just limited to doing it on a device-by-device basis.

    At my company, we’ve set up our own custom DNS server and our own root CA. We serve internal websites at a custom TLD we made up, and we sign them with our custom certificates to keep the connections secure. But that only works because we’ve manually configured our workstations to ask our internal DNS server for DNS requests, and we’ve manually configured all the workstations to trust our root certificate authority. A random device that connects to our network that isn’t configured with either of those things will not resolve any of our custom domains, nor will it securely connect to them. It also breaks if the configured devices aren’t on the local company network, since the DNS server isn’t reachable from the public web. Which is fine for us, since those internal websites aren’t reachable on the public web either. But yeah, that’s an example of the limitations.

    If you want to create a TLD that will be auto-accepted by everyone who is already running the default chains of trust (which is probably what most people actually mean when they ask something like this), you have to seek out the big daddy at the root of that chain of trust and ask them to poof your TLD into existence for you. That would be ICANN, and they probably won’t do anything like that without a big fat check and a lot of corporate lobbying.

    tl;dr - The tech is built in such a way that nothing is stopping you from making your own toy, and anyone can play with your toy without needing to do much. But if you want your TLD to “just work” for everyone in the world without asking every single one of them to explicitly opt-in, which is probably what you actually want, then no, you basically can’t do that.


  • There’s lots of software out there that is available to use without payment, but is still license restricted in such a way that you are not permitted to redistribute, modify, use for commercial purposes, etc. To many, these rights are the far more important facet of “free” software, above what it costs.

    But since the English language has the same word for all of these concepts, we have all these yucks running around with zero-cost but right-restricted software wearing the “FOSS” badge thinking they’re part of the club. So some people add “Libre” to the acronym to explicitly disambiguate.








  • it’s a venture capital-backed startup that has been very eager to exit its growth phase and enter its aggressive monetization phase so it can start making its shareholders some money. They’ve already tried a few things that didn’t work, like trying to turn it into a Steam competitor.

    The service to date is mostly fine. If you’re like most people who don’t mind exchanging some privacy and control for access to an app that has a nonzero professional UX design budget, it’s pretty fantastic. But the writing has been on the wall for a long time that enshittification is near on the horizon. It’s not a question of if, but how soon.



  • I’ll do ya one further: Copyright should have the same lifespan as a patent. 20 years max. No extensions, no exceptions. I’d even cosider less time than that.

    If you retained the unilateral rights to copy your idea for 20 fucking years and you haven’t made your healthy profit on it already in that time, tough. Your work will forcefully enter the public domain so people who were likely actually still alive when it was culturally relevant get a shake with it.

    There is no reason why something created during my childhood ought to still be languishing locked up in trust of some dead man’s corporation by the time I’ve withered away of old age and my grandkids have done the same. The severe generational lag of culture and accessible technology created by copyright in its current form is absurd.

    If you want to chase your golden goose forever, keep making new iterations of it that have their own copyrights that fairly compete against everyone else’s in the marketplace of ideas. Get off your laurels. Get on your toes. Keep making new, inspired things. Earn your goddamn right to continue being seen as the rightful creator to follow up what you’ve previously made in the past.


  • pixelscript@lemm.eetoLinux@lemmy.mlDo you use Gnome or KDE Plasma?
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    3 months ago

    Five years of Mate (which is essentially Gnome 2 on life support) replaced by a couple years of KDE Plasma.

    Mate treated me well enough, it was mostly stable, capable, and competent. But it was a bit crusty around the edges, and being so niche meant search-engine-visible help resources for anything than went wrong were virtually nonexistent. In hindsight, using it as a beginner’s DE was probably a mistake. I suppose in being so austere and devoid of resources it taught me to develop more of a “get to the bottom of it yourself” attitude to debugging and have humbler expectations about form versus function, but that’s a pretty rough sell to most people. Mate is definitely better as a drink than a desktop environment.

    I don’t need to talk about KDE Plasma at all because the rest of the thread already has. I have nothing new to add beyond the comment that I like their mascot character.

    I have no informed opinion on Gnome 3. All I’ve gleaned about it is that it’s supposedly “my way or the highway” by design, and the “my way” in question is controversially counter-grain to a lot of established expectations (e.g. it’s literally why Mate exists). Which is neither here nor there to me, objectively. But I will say I have no interest learning a new way of doing things, even if it’s theoretically superior, when a conventional system still exists, is viable, is highly polished, and is kept sharp-edged. Hence, KDE Plasma.