• 0 Posts
  • 809 Comments
Joined 3 years ago
cake
Cake day: September 2nd, 2023

help-circle


  • What is this article? There is no author, and it is written as if it were an objective truth when it is clearly subjective.

    There is no conclusion, it’s just an introduction paragraph that says “do this, this is good design”, followed by a pro-con analysis, and then the article just ends. Given that it has real drawbacks, you would think it would be more nuanced than “do this, this is good design”.

    Furthermore the analysis is not even complete. The only 2 drawbacks mentioned only affecting the developer of the language. And ignoring more obvious drawbacks that would affect the users of the language:

    • Aesthetics. Annotations are just uglier than modifiers. Due to their special syntax instead of just a naked keyword.
    • Annotations take up more space. Screen space is valuable, annotations usually are stacked vertically, which takes up a lot of vertical screen space. This is in order to mitigate their use of horizontal screen space by their syntax.
    • Disorder. Annotations are not ordered, which means they are harder to parse by a human. And if there is a wall of annotations, a human might miss an important one because it is surrounded by others that are just boilerplate.
    • “Downgrading” modifiers to annotations removes their perceived importance. Modifiers modify the class/function/whatever, annotations add to it. Usually, you can ignore annotations and just look at the modifiers. If modifiers are annotations, you have to read the annotations to filter which ones are important to you and which aren’t. Which is harder to do due to the previous point “Disorder”.
    • If annotations were objectively better than modifiers, the logical conclusion would be “your language should not have modifiers, do annotations instead” instead of “if your language has both, remove modifiers”.
    • Namespacing is not objectively better. I don’t want to import “public” in every single file. It’s just useless boilerplate at that point. And some dependency might export their own “public”. Or even worse, a non-annotation (function, class) named “public”. If reserving keywords for modifiers is a concern, you can just prepend the uncommon ones with “__”. Nobody is going to complain that they can’t use the name “__readonly” because it’s reserved.
    • Variable declarations do have modifiers too (for example “const” in C). Annotations are awful for variable declarations. See the point about screen space. Same for closures or code blocks.

  • You have the most important part flipped.

    The authority we give the government is not to provide services. The authority is to collect taxes, which are used to provide services.

    Anyone can provide services, but not anyone can collect taxes. The government can only collect taxes because we gave them the power to do so.

    Without taxes, the government cannot provide the services. A lazy asshole that avoids paying taxes is preventing the government from providing more services, even if he “gave them power”.

    The case of the “lazy asshole” is not one in which he needs to steal food to survive. The case is of a perfectly capable person that could be doing literally anything to earn an income, but chooses not to, since stealing is easier. Even if he has an income, he may prefer spending his money on more expensive luxury goods, since he can save a lot of money by just stealing the food.

    By doing so, he’s being incredibly antisocial in multiple ways:

    • Stealing is done without the knowledge of the shop. Which means that it is harder for them to keep track of inventory. Requiring more effort means that the price will go up (for the people that don’t steal).
    • Shops don’t just suffer the loss. If an item is often stolen, they’ll just increase the price to make up for it. For everyone that doesn’t steal.
    • If a shop chooses to suffer the loss instead, the thief is directly stealing from the shop (as opposed to everyone else). How is that fair in any way? The shop might even go out of business.
    • It hurts the actual people that need the food: some people will be angry (for the reasons above) and will probably blame the people that need it. Might even jump to the conclusion of “why do we have social programs for them if they’re gonna steal anyway?”.
    • It erodes trust in general. Everyone benefits if everyone behaves correctly. I don’t think I need to argue why. In this case specifically, shops wouldn’t need to implement anti-theft measures if nobody stole. It would be a waste of resources.
    • It’s even worse if you steal from another person directly or a small shop instead of a big shop. For multiple reasons.
      • It does psychological harm. Maybe the food owner had plans for that food, so now he has to make new plans, or even worse, go make another trip to the store to buy more food.
      • It lowers the stock. Which combined with the difficulty to keep track of inventory, might result in an item going out of stock. Preventing everyone else from buying it.
      • If it was home cooked, it might’ve been cooked as a gift for someone else. Increasing the psychological harm.

    I could go on. But I believe this is more than enough to get the point across.

    When something is stolen, society doesn’t just lose the value of the item. A 1€ item being stolen might be a loss of 10€ for society.

    There’s 2 choices:

    • Literally everyone gets provided with the basic needs by the government.
    • Only the people that are unable (not unwilling, important) to pay for basic needs gets them provided by the government.

    Both cases should remove hunger as a problem. Only in case 2 would the lazy assholes be hungry. But being hungry should be motivation enough to work at least the bare minimum. Which means nobody would be.

    What both cases have in common is: nobody has the need to steal food. Therefore, it should not be allowed, neither legally nor morally, due to it being incredibly antisocial and expensive.

    The solution to hunger is not “let them steal”. It is “give them food”.


  • Or maybe we could have a system where the people that actually need it are given food, in order for there to be no excuse for stealing food.

    Stealing food is still stealing, when you do it you indirectly increase the price of it for everyone else.

    If everyone else just puts aside a bit of money to pay for food for those that actually need it, we can have both no starving and no excuse for stealing. Which would result in food being cheaper for everyone.









  • Headline: says something. (That is obviously not true and just clickbaiting)

    Instant disclaimer: the headline is not good, it should be instead “don’t do this other thing”.

    Later in the article: how do we avoid doing the thing I told you not to do? By doing what I told you not to do.

    The dude may be correct (idk, haven’t bothered reading the rest of the article), but he doesn’t know how to write/communicate. I don’t believe he’s respecting my time. Just tell in the title what you actually want to talk about.


  • Don’t worry. Let a non dumb dumb explain.

    There are many causality relationship kinds.

    1. Leftist -> big IQ: being leftist makes someone have big IQ
    2. Leftist <- big IQ: having big IQ makes someone a leftist.
    3. Leftist <-> big IQ: both 1 and 2. That is, saying “I am a leftist” and saying “I have big IQ” is the same, since one causes the other.
    4. Third parameter -> leftist AND third parameter -> big IQ: there is something that causes both being leftist and having big IQ.

    In case 1, all leftists have big IQ. But NOT all big IQ ppl are leftist.

    In case 2, all big IQ ppl are leftist. But NOT all leftists have big IQ.

    In case 3, all big IQ ppl are leftist, and all leftists have big IQ.

    In case 4, some NOT all leftist have big IQ. And NOT all big IQ ppl are leftist. But some are.

    Assuming having big IQ is desirable, leftists would want either case 1 or 3. Since that would mean they have a big IQ.

    However, the headline seems to suggest case 2. And in reality. And it could still be case 4.

    Of course, in reality there is an uncountable number of parameters, not just 3, so don’t take the “all” in my comment as literally “all”. Reality probably resembles more case 4.

    If this were a feel-good article for leftists, the headline would suggest case 1 or 3. Since that is what leftists want.

    Even assuming the best case scenario of case 2 where all big IQ people are leftists. If you define big IQ as “top 10%” and low IQ as “not big IQ”: it is technically possible for 90% of leftists to be low IQ. And if low IQ is 50-50 leftist-conservative, 78% of leftists would be low IQ.







  • Yes. All of those aim to solve the yellow paint problem, so they serve the same purpose as yellow paint. The difference between yellow paint and other solutions is that those other solutions have some game design thought behind it.

    You don’t have to have an npc walking slower than you. You can make it run faster, and just wait for you if you get too behind, like any human would. You don’t have to have the villain stop in the chase scene. If the enemy gets too far, you lose and restart in the last checkpoint, like it always has been.

    You don’t have to have low-poly art for this to work. Not everything in assassin’s creed was climbable. But you know when it was and when it wasn’t, do you didn’t even try to climb what wasn’t. You could climb vertical walls of mountain rock. You couldn’t climb up flat walls either, you had to have bricks sticking out. Granted, most buildings had something to grab onto. But you saw which elements you grabbed onto, if those weren’t there you would know why you can’t climb.

    If your level design is clear and consistent, you don’t need yellow paint.