• 0 Posts
  • 89 Comments
Joined 1 year ago
cake
Cake day: May 7th, 2024

help-circle
  • Easy there, you’re making a bunch of assumptions and accusations here. For starters, I do understand how spoilers work, I read the spoilers and I don’t think it adds a lot of value to the conversation.

    I’m technically from a CS background, but not in the field relevant to this post. I also don’t think people assume this topic to be basic. I happen to understand about 80% of it, but only ever have contact with about 20%, and that’s despite working in a CS-related field myself. And yes, I’ll keep using that abbreviation, because it’s convenient and I know that you understand it.

    The short answer to “how does this affect me?” is “if you don’t know what npm is it, it doesn’t affect you”.

    The intention of the blog article and the post sharing it is to get a specific warning out to a specific technical group. This group doesn’t want to scroll past three paragraphs of context they already know to get to the parts that matter. They can’t cater to every audience, so they prioritise the people that can do something with their understanding.

    Unfortunately, that means that other people are left out of the conversation, because frankly, they have nothing to contribute. That’s neither malice nor arrogance, but simply expediency.

    However, you’re welcome to ask! Chances are, someone will be happy to answer and fill you in on the background. More specifically, someone may be able to give a subject-specific explanation. Most importantly, that explanation will be more reliable if it comes from a human familiar with the topic.

    Chatbots, no matter how diligently made to look like they know stuff, don’t and can’t know anything except the likelihood certain words occur together. They don’t have the required structure to understand the concepts behind the words. At best, they have memorised hundreds of generic explanations they can reconstruct, and hopefully that reconstruction will be accurate. But how would you know? You yourself don’t have the expertise to tell if they’re right.

    And because they don’t understand the concepts, they also can’t reliably connect the dots the way a human can. The more dots to connect, the greater the chance something will go awry. The bot can’t tell you “I don’t know” if it doesn’t understand what it means to know. It will generate a text that looks plausible, and you can’t verify whether it’s actually true.

    In the interest of actually getting a useful understanding, ask humans. The answer might look something like this:


    NPM packages are boxes of highly specialised supplies and tools. NPM itself is an assistant that keeps your supplies stocked and your tools in shape. You tell it what you want for your project and it’ll make sure you have it.

    The thing this post is about is a kind of evil robot that hides in these boxes. When your friendly NPM helper restocks, the robot crawls out of the box and starts exploring your workshop. It tells others what you’re building, what it looks like, shares any secret technology you’re using, creates and sends out copies of your keys – anything you’ve got lying around, it will attempt to make available for the people that built it.

    The worst thing is that it’ll build copies of itself and hide them in any boxes you create and send out to other people. If one supplier ships to five others, that’s five more recipients under attack. If two of them also ship out to five other people each, that’s another ten. And it gets bigger and bigger from here.

    So there we have it: An evil robot stealing your secrets and sending clones to anyone who trusts your product.


    We realise we’re not mundane. We just don’t have the time to explain everything all the time. That’s a problem all sciences (and many other disciplines) face: When you’re working in a deep well, you can’t come up to the surface after every step of your work or you’ll never get anything done.

    For CS, it’s probably more visible because the field is fairly young, rapidly changing, pretty large and the “basics” aren’t taught anywhere near as much as those of other, more well-established sciences.

    But if you ask, there’s a chance someone is available to help you out. Be friendly, and they’re more likely to be friendly back.

    I understand you care about making knowledge accessible and I applaud that. I acknowledge that CS has a long way to go still on that front. Let’s work on it together, shall we?

    Kind regards, LVK













  • I believe that’s what a write down generally reflects: The asset is now worth less than its previous book value. Resale value isn’t the most accurate way to look at it, but it generally works for explaining it: If I bought a tool for 100€, I’d book it as 100€ worth of tools. If I wanted to sell it again after using it for a while, I’d get less than those 100€ back for it, so I’d write down that difference as a loss.

    With buying / depreciating / selling companies instead of tools, things become more complex, but the basic idea still holds: If the whole of the company’s value goes down, you write down the difference too. So unless these guys bought it for five times its value, they’ll have paid less for it than they originally got.



  • Which words do you mean? Because I understand them all. They convey information, the fundamental point of language, hence they don’t detract. Just because you can’t make sense of them doesn’t mean they’re nonsense.

    If you’re talking about “Mach Yeet”, yeet refers to forceful movement. This specific combination then means really fucking fast. The exact speed doesn’t matter. The frivolity of the language underscores their excitement or might just be their idiolect.

    Either way, so long as it’s nothing hateful or harmful (beyond hurting your linguistic sensibilities), trying to police other people’s vocabulary is narrow-minded and needlessly stuck-up.

    Why don’t you yeet that shit (throw it far away) and come join us in watching the fascinating evolution of language?




  • To clarify, I meant that from the devs’ perspective: The effort of individually vetting every single character for possible confusion is immense, and the end result would still be just as western-centric. Imagine having a domain name in Greek where some characters are replaced because they might be confused for Latin characters. Or, conversely, having a few characters replaced by similar Latin ones for an attack, which your solution wouldn’t catch.

    The result would also still be unreliable even for Westerners. If some other character set you didn’t vet also contains similar looking characters, there’s a new surface for attack.

    To properly close that security gap would be an immense arms race… or you could simply shut down the entire attack vector.

    So when you consider the importance of protecting gullible people from insidious attacks and the complexity of trying to allow non-Latin characters without creating openings, the question “How widespread are non-Latin URLs in my target audience and is it critical that they be rendered in their native script?” becomes a calculation of cost and benefit.

    It’s a shit compromise to deal with the shit fact that some people being assholes ruins good things for the rest of us who aren’t.