• 1 Post
  • 94 Comments
Joined 1 year ago
cake
Cake day: June 25th, 2023

help-circle
  • One is multiple parallel goals. Makes it hard to stop playing, since there’s always something you just want to finish or do “quickly”.

    Say you want to build a house. Chop some trees, make some walls. Oh, need glass for windows. Shovel some sand, make more furnaces, dig a room to put them in - oh, there’s a cave with shiny stuff! Quickly explore a bit. Misstep, fall, zombies, dead. You had not placed a bed yet, so gotta run. Night falls. Dodge spiders and skeletons. Trouble finding new house. There it is! Venture into the cave again to recover your lost equipment. As you come up, a creeper awaitsssss you …

    Another mechanism is luck. The world is procedurally generated, and you can craft and create almost anything anywhere. Except for a few things, like spawners. I once was lucky to have two skeleton spawners right next to each other, not far from the surface. In total, I probably spent hours in later worlds to find a similar thing.

    The social aspect can also support that you play the game longer or more than you actually would like. Do I lose my “friends” when I stop playing their game?

    I don’t think Minecraft does these things in any way maliciously, it’s just a great game. But nevertheless, it has a couple of mechanics which can make it addictive and problematic.


  • You can use more debug outputs (log(…)) to narrow it down. Challenge your assumptions! If necessary, check line by line if all the variables still behave as expected. Or use a debugger if available/familiar.

    This takes a few minutes tops and guarantees you to find at which line the actual behaviour diverts from your expectations. Then, you can make a more precise search. But usually the solution is obvious once you have found the precise cause.


  • I think that’s one of the best use cases for AI in programming; exploring other approaches.

    It’s very time-consuming to play out how your codebase would look like if you had decided differently at the beginning of the project. So actually comparing different implementations is very expensive. This incentivizes people to stick to what they know works well. Maybe even more so when they have more experience, which means they really know this works very well, and they know what can go wrong otherwise.

    Being able to generate code instantly helps a lot in this regard, although it still has to be checked for errors.





  • That’s kind of two of my main points:

    1. Treat your volunteers well, or why should they continue volunteering?
    2. Kernel maintainers have plenty of other opportunities.

    I don’t know if they are volunteering or being paid. The other person said they are being paid.

    Either way, no one deserves being talked down to like that, even if they made a mistake. It’s a matter of respect and self-respect. And as a skilled person like a kernel developer, it should be trivially easy to find other work in a more appropriate environment.

    That being said, maybe I’m missing something. Torvalds has been known to be like that for a long time (although that seems to be over now). And still, Linux has been developed over decades. So apparently, skilled people flocked around Torvalds, or maybe rather his project. Not entirely sure why, but I’m taking it as a hint I might be missing something.





  • Right, thanks for the corrections.

    In case of GAN, it’s stupidly simple why AI detection does not take off. It can only be half a cycle ahead (or behind), at any time.

    Better AI detectors train better AI generators. So while technically for a brief moment in time the advantage exists, the gap is immediately closed again by the other side; they train in tandem.

    This does not tell us anything about non-GAN though, I think. And most AI is not GAN, right?



  • And this is why AI detector software is probably impossible.

    What exactly is “this”?

    Just about everything we make computers do is something we’re also capable of; slower, yes, and probably less accurately or with some other downside, but we can do it. We at least know how.

    There are things computers can do better than humans, like memorizing, or precision (also both combined). For all the rest, while I agree in theory we could be on par, in practice it matters a lot that things happen in reality. There often is only a finite window to analyze and react and if you’re slower, it’s as good as if you knew nothing. Being good / being able to do something often means doing it in time.

    We can’t program software or train neutral networks to do something that we have no idea how to do.

    Machine learning does that. We don’t know how all these layers and neurons work, we could not build the network from scratch. We cannot engineer/build/create the correct weights, but we can approach them in training.

    Also look at Generative Adversarial Networks (GANs). The adversarial part is literally to train a network to detect bad AI generated output, and tweak the generative part based on that error to produce better output, rinse and repeat. Note this by definition includes a (specific) AI detector software, it requires it to work.





  • I think that’s a helpful analogy and comment. Please remember this while I go on to nitpick. I’m aiming at in both fields, there may be more math-leaning scientists and concrete-leaning workers, with the engineer being somewhat in the middle.

    Declaring bridges safe probably involves a lot of math and tables in the background. I guess we don’t actually run a million trucks but estimate the safety theoretically, with a few experimental tests. Likewise, a security specialist can define the edge cases against which the tests should be run. That may be the same person who also implements the test, but I want to emphasize it’s two different roles. And we might consider one more of a scientist, and the other more of a worker.

    So how much your activity resembles that of a mathematician, or a traditional engineer probably depends on your specific task, and how much your team requires you to generalize or specialize.