Hacker News new | past | comments | ask | show | jobs | submit | pierrebai's comments login

Knowing that a typical maze will have branching paths at the beginning, but necessarily one good path at the end, I find it easier to start from the goal and work my way backward.


But your example is not reflective of the study. Are you saying that the 17% reduction is for some reason significant but the other ones, all of which would inconveniently disagree with the result you want, are not, even though they are in the same study?

IOW, you're saying that among the study results, all that agree with your POV are valid, all that don't are invalid. That's quite some bias there.


The answer to your question is literally answered by my comment that you’re replying to. Frequentist statistics cannot be used to affirm the null. That is, you cannot say “cardiovascular deaths was not significantly associated, therefore SFA does not cause CVD mortality”.

So I’m not disagreeing with or omitting anything in the study. The study said no significant association with CVD mortality. Ok, no problem. That doesn’t mean SFA doesn’t cause CVD mortality.

However, the study does show that SFA is associated with CVD events. So there’s a significant finding. It’s not cherry picking, this is just how frequentist statistics works.


Well, we read the article, which cites many studies. Maybe she is doing a super selective review of the field, but she does not merely quote one study, but several, all of which indicate that there is no correlation between saturated fat and cardiovascular problems.

IOW, we did not merely "read and trusted one random article" but assessed the presented evidence. You OTOH, merely provided ad-hominem attack on both the author and anyone who dared believe the presented evidence, which smacks of trying to shame people in not voicing their opinion.


Did you actually follow up and read the studies she cited in detail, though? Much of what she claims is misrepresentation, such as the insinuation that the Cochrane review found no evidence of SFA consumption being associated with risk.


Ah, the old "if you do not spent your time, effort an interest where I have chosen to spend them, then you are an inferior human being to me."

Everyone judges people who do less about subject X, Y, Z to be criminal, lazy slob, and everyone doing more to be inflexible annoying zealots.

Woe those who are not me and do things differently, for they are worthless.


Isn't this whole description a lie, both ways?

You can embed/tunnel any network transport into another. There is nothing magical about the internet and IP. It is actually being tunneled when you're using a cable modem. WiFi is a horrible hack that encapsulate IP in a very ugly way to make it onto it's wireless tech.

You could have tunnel ATM over IP, I'm pretty sure of it. The depiction seems to me like a flattering extolment of IP.


I wonder why they chose to represent rationals with subtracting one from the denominator. It makes human parsing of the value harder and in many case makes the implementation code slighter harder; for example the equality op need to increment both denominators before using them. I suspect such increment must be constantly be needed left and right?


I suspect it's to exclude a denominator of 0.


No, since they use an integer (Z) as the denominator. So their representation support having -1 (i.e 0) as the denominator.


Yes, this is mostly a leftover from initial versions that used a natural number as denominator. It doesn't seem to make a noticeable difference in performance though, since increments are a very basic operation.

I think leaving this in the article makes the non-zero denominator more explicit. It also allows easier adoption to other numeral systems :)


Some of the ideas in the blog must be speculative, given that it fell through a wormhole, being published September 17, 2024.


... or simply that the LOGO language syntax and choice of commands is confusing? Without formal explanation, how surprising is it really that a child would assume that STOP mean stop?

I'd bet that if LOGO had used RETURN, like many other languages, then the children's reasoning would be likely be more accurate. Or go the other way and make them tell you what this or that brainfuck[1] program does. So, to me, this research says more about LOGO choices than anything.

[1] https://esolangs.org/wiki/Brainfuck


But STOP does mean stop. Stop executing this subroutine.

If the program were instead (as a set of commands for a person, not a turtle) START WALKING; STOP; START CLAPPING; STOP; ... any child would understand what was intended. It would be more confusing if the first STOP here meant "stop all program execution, never proceed to the next step".

So the problem isn't STOP, it's the fact that there's more program to execute, hidden in the call stack.


Looking at the code, "maintainability" is quite relative: it might be maintainable by the original author, but the code has no comment and is chuck-full of magic constants without any explanations. Or'ing this hex value, and'ing that other hex value, etc.


To be fair to the author, there is a ton of inherent complexity to something like this that you can't really smooth over with "readable" code. I think you'd have to spend a lot more time familiarising yourself with the codebase before making a call on whether it's maintainable or not.


The article is just plain wrong about classes: if you have declared any constructor, then the language will not provide a default constructor and default-initialization will fail with a compiler diagnostic.

So their claim that "T t;" will "do nothing" is incorrect.

    class T
    {
    public:
        T(int);
    };
    T t;
Will fail.


I'm confused at how your comment is relevant to this article. Here you've written `T(int);`, i.e. a constructor with an argument. None of the classes declared in the article have a constructor that takes any arguments. Nor does the text of the article seem to make any statement which contradicts what you've asserted here. And all of the examples in the article compile successfully.


I think I missed where in the article they did a `T t;`... Doesn't seem to show up with an eyeball scan?


In the first few paragraphs:

> Primarily, there are two kinds of initialization of concern: default-initialization and value-initialization. The rules given in the standard look roughly like this:

> * For any type T, T t; performs default-initialization on t as follows: ...

As GP mentions, the article's descriptions of default and value initialization are both incorrect for classes that do not have default constructors, as that code will simply not compile.


But... all of the classes in the article -do- have default constructors. And all of the examples in the article do compile. So I'm confused at what point you guys are making.


Quoting the full section on `T t;`:

- If T is a class type and there is a default constructor, run it.

- If T is an array type, default-initialize each element.

- Otherwise, do nothing.

That decision tree should read: "If T is a class type: it will invoke the default constructor. It is a compile-time error to write this if T does not have a default constructor." Not "if there is a default constructor, run it; otherwise, fall back to doing nothing."

The "do nothing" applies to scalar types such as ints, and indirectly to scalar member variables that aren't explicitly initialized one way or another. Not to classes that have deleted the default constructor.


Yes, this. It appears these commenters are claiming that the author said something they did not say. Rather, there is a corner case that the author has not spoken about in this article.

... Which is not surprising, given that we're talking about a language with a spec that dwarfs most works of human literature for sheer mass.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: