• 21 Posts
  • 1.16K Comments
Joined 6 years ago
cake
Cake day: May 31st, 2020

help-circle
  • I think, the problem is that management wants the expert humans to use the non-expert tools, because they’re non-experts and don’t recognize that it’s slower for experts. There’s also the idea that experts can be more efficient with these tools, because they can correct dumb shit the non-expert tool does.

    But yeah, it just feels ridiculous. I need to think about the problem to apply my expertise. The thinking happens as I’m coding. If I’m supposed to not code and rather just have the coding be done by someone/-thing else, then the thinking does not occur and my expertise cannot guarantee for anything.
    No, I cannot just do the thinking as I’m doing the review. That’s significantly more time-consuming than coding it myself.



  • Well, there was an effort to solve it on a technological level, via the Do Not Track header (DNT). The idea was that when users actively signal they don’t want to be tracked, then even in weaker jurisdictions, you can’t justify doing it anyways.

    But Google and Facebook said outright that they would not honor DNT, which meant virtually no webpages could honor it, since Google Analytics and the Facebook Like-button were omnipresent on the web at that point.
    And then Microsoft killed it off for good by enabling it by default in Internet Explorer. That meant the DNT header did not anymore necessarily represent a user actively choosing to not be tracked, so it became meaningless in court.

    Well, and after that had failed, the EU came about with the GDPR to solve it with laws.
    But here it also needs to be said that a cookie banner is effectively only required, if you implement tracking.[1]
    But of course, the ad industry did not want webpage owners to realize they could avoid needing a cookie banner by removing ads or going for non-tracking ads, so they spread a whole bunch of FUD.

    And now we’re here, with cookie banners virtually everywhere, which are often not even GDPR-compliant either (like the PC Gamer cookie banner here), since it’s supposed to be just as easy to decline, as it is to accept. If it is not, then that’s not legally consent, because consent has to be freely given.

    TL;DR: Ad industry bad.


    1. Cookie banners are only ever relevant for personal data (because the GDPR is). And you don’t either need them when the user has implicitly given their consent, for example when they put something into their shopping cart, then they obviously consent to you storing their shopping cart contents for the purpose of purchasing those items. ↩︎







  • Oh wow, what the hell. I’m not actually familiar with C++ (just with Rust which gets similar reactions with the ampersands), but that’s insane that it just copies shit by default. I guess, it comes from a time when people mostly passed primitive data types around the place. But yeah, you won’t even notice that you’re copying everything, if it just does it automatically.

    And by the way, Rust did come up with a third meaning for passing non-references: It transfers the ownership of the object, meaning no copy is made and instead, the object is not anymore allowed to be used in the scope that passed it on.
    That’s true, except for data types which implement the Copy trait/interface, which is implemented mostly for primitive data types, which do then get treated like C++ apparently treats everything.



  • I’ve only heard of them being trash so far. I was hoping they’d still have some resemblance of fun. But if the small fraction of folks who’ve upgraded to a Switch 2 actually were to play more than those on Switch 1, then that would be a pretty clear sign that it just isn’t fun on Switch 1.

    But yeah, I’m not yet taking that for granted from this piece of news. I would assume, they wanted to drop the Switch 1 so quickly, because then they can start extending the game in ways that use more resources, which might be fine on their other supported platforms.






  • Well, to me, it sounded like they themselves can’t rely on prefers-color-scheme, which is why the manual toggle is necessary, but it doesn’t hurt to support it for other folks.

    I guess, that does mean that a solution without persistence is going to be annoying, but yeah, I don’t think that’s solvable without JS. One could ensure that the JS is entirely optional, so that when the user blocks it, you simply get no persistence, but that’s probably about it…


  • Ephera@lemmy.mltoProgrammer Humor@lemmy.mlSenior devs...
    link
    fedilink
    English
    arrow-up
    5
    ·
    10 days ago

    In my experience, this happens in two ways. Yeah, sometimes a senior just overdoes it due to a lack of experience or shitty requirements or whatever.

    But it also happens a lot that juniors just don’t understand why the layer makes sense to introduce. For example, juniors will readily intermix IO and logic, because they don’t yet understand that this makes code untestable and adds a load of additional complexity into already complex logic code. From that viewpoint, pulling all the IO code out will look like unnecessary complexity, when it’s not.



  • Ah yeah, I guess, users would expect some action to happen when they click that toggle, not just for it to change from automatic-dark to manual-dark.

    Perhaps the simplest non-JS and non-persistent solution would then be to have it pick the color-scheme automatically by default, but if the checkbox is checked, then set the colors to the opposite.

    So, probably something like this:

    body {
      color-scheme: light dark;
    
      color: light-dark(black, white);
      background-color: light-dark(white, black);
    }
    @media (prefers-color-scheme: dark) {
      body:has(#theme-toggle:checked) {
        color-scheme: light; /*opposite*/
      }
    }
    @media (prefers-color-scheme: light) {
      body:has(#theme-toggle:checked) {
        color-scheme: dark; /*opposite*/
      }
    }
    

    You could probably even theme the checkbox to show a sun or a moon, depending on the current color scheme. 🙃