Hiker, software engineer (primarily C++, Java, and Python), Minecraft modder, hunter (of the Hunt Showdown variety), biker, adoptive Akronite, and general doer of assorted things.

  • 0 Posts
  • 19 Comments
Joined 1 year ago
cake
Cake day: August 10th, 2023

help-circle




  • They can do whatever they want. Operating systems are effectively divided into two partitions, privileged kernel space and user space.

    When you run a kernel level anticheat what you’re really doing is running a custom program in the kernel space. It effectively becomes part of Windows.

    This means that anything that an operating system can instruct hardware to do, that program can do. It can read your files, check your email, print letter you wrote to your crush in Word but “deleted” because it was embarrassing, log every key you type, turn on your webcam, listen to the microphone, download explicit or illegal imagery, upload your hard drive to the NSA, disable your computer fans, etc

    You really only want to run this stuff if it’s from a trustworthy vendor and even then it’s completely defensible to object to running one of these programs.

    Currently these things have yet to be caught doing any of these things, but that’s because they haven’t been instructed to, not because they can’t.




  • China is state capitalism. Capitalism isn’t losing. The West is losing because China is using state funds to buy up successful Western companies, and as their new owner, has the ability to force them to do China’s bidding.

    Meanwhile the West is completely barred from buying a majority stake in any successful Chinese company and even if it could would not be taking it over on behalf of serving the state.

    The problem is China plays by its own rules and those rules are heavily stacked against every other nation. That was fine when they were making junk for Walmart; it’s not so fine when it’s highly sophisticated electronics and software (that can do whatever China wants it to in the West) … and to add insult to injury it’s often based on stolen Western technology (since us idiots decided to put the factories that manufacturer the designs there).




  • Yes, it’s expensive as hell, and my suspicion is that long term the displays will be replaced with a waveguide (Stanford’s looks pretty good at this point), so it won’t need the external-facing display

    Interesting; any more information on this? I tried a search but didn’t turn much up.

    I think that they saw what Google glass could become capable of, and thought that the phone as it is now (screen, etc) was going to become obsolete at some point, and they were terrified of losing that race.

    That’s very fair… I definitely think the only viable future here is lightweight AR glasses.





  • There are two things going on here.

    The first is that yes, more connections causes more opportunities for the plugs to slip. So you can get short circuits or even arcing that can start a fire.

    The second is that the wire in the cord has a certain rating on it. Many of those cords do not use 12 (20 amp) or 14 (15 amp) gauge wire; so, they’re not rated for the full capacity of the wire in the wall. The breakers are sized to protect the wires in the wall, they don’t know anything about the things plugged into them. So what can happen is you plug too much into the extension cord (particularly if it’s a power strip) and the load on the extension cord is not enough to trip the breaker (because the walls are fine) but it’s enough to overload the extension cord wire. In other words, the extension cord can start getting so hot it melts and possibly arcs up as the insulation fails.

    You can have a fire from overloading a single power strip in just the same way. However, the more you chain together, the more likely you are to overload the power strip.

    Ideally, you just think about what you’re doing… But historically the easy answer is just to tell people not to chain things.

    In short it’s not about the distance, it’s about the insulation and quality of the wire itself along with the number of connections.



  • You’re both saying the same thing though.

    We’re not quite saying the same thing though because …

    It’s not a 2 vs 3 issue. You can have an infinite number of instances of the same logic and it still not be a case for generalization because it’s not actually general … it’s just an infinitely large program. You can also have two copies of the same code that should be reduced because they are general (e.g. you have the exact same algorithm for generating a UUID copied into two different spots). If you’re thinking about it in terms of quantity you’re already doing it wrong.

    It’s not fixable by “just” copying something.

    Those two points are really important points.


  • The code in the article isn’t complicated enough that I’d bother. It even ends up with about the same number of lines of code, hinting that you probably haven’t simplified things much.

    I think it’s a good example of the problem though. People take that same idea and apply it too liberally. The point isn’t that specific code, it’s about not apply DRY to code that’s coincidentally identical.

    But otherwise, I disagree with the article. If it’s complicated enough to bother abstracting the logic, the worst that can happen in the above situation is that you just duplicate that whole class once you discover that it’s not the same. And if that never happens, you only have 1 copy to maintain.

    That’s… Not at all true in practice. What often happens with these “DRY” abstractions when they’ve been improperly applied is you end up with an inheritance hierarchy or a crazy template or some other thing. You’re really lucky if you can just copy some code and find your way out of the weeds.

    There are plenty of bad abstractions in the wild and novices applying DRY is a common source of them.