409 karma · joined March 11, 2020
I'm also curious about the current draw, but I couldn't find anything?
> This game requires JavaScript. Or, if you've superior taste, take out a pen and paper and start listing animals.
I've pretty much always had GPS nav locked to North-Up because of this experience.
Red kidney beans (50g): PDCAAS = 0.88, Protein = 11.25g Basmati rice (50g): PDCAAS = 0.7, Protein = 4.5g
Red beans + rice (50g, 50g): PDCAAS = 1.0, Protein = 15.75g
Milk (500g..): PDCAAS = 1.0, Protein = 15.5g
So, from a protein perspective (according to PDCAAS), 500g of milk will give you the same amount of usable protein as the 100g rice and beans meal. There is nothing left on the table.
So, just eating kidney beans, PDCAAS would say that you aren't really getting the full benefit of the "protein on the label". But once you combine it with rice, you are getting the full benefit (according to PDCAAS).
You can't look at the digestibility of the two foods in isolation to make the calculations.
As long as you are eating a varied diet, PDCAAS is pretty pointless. If you have an eating disorder, or food scarcity issues, then it might become important.
This is the things thar gets me the most. Code review is _hard_. So hard that I'm convinced my colleagues don't do it and just slap "LGTM" on everything.
We are trading "one writer, one reader" for "two readers", and it seems like a bad deal.
Modern science agrees that saturated fats lead to CVD, but replacing saturated fats with refined carbs also leads to CVD, which Ancel Keys didn't believe (though, to be fair, the populations he studied didn't have access to the types of refined carbohydrates we have today)
The dietary guidelines derived from his work did backfire, but Keys never said to replace saturated fats with refined carbs, which is what ended up happening. He advocated for substituting different fats. But the message that ended up being received was "no fat at all", which no scientist ever actually recommended AFAIU.
The diet he actually recommends is well studied, and found to be protective.
Also, the 7 countries study didn't just compare the regions, they also did intra-regional comparisons. Not that I think this particular study is what you should base all your evidence on, but, most others back it up.
The people who run these studies actually know what they are doing. They know the limitations of their methods, and, they have thought about confounding variables. This _always_ comes up in internet debate, like, "ahh, but there are confounding variables so the study must be trash!". It's literally their job to take those confounding variables into account. They don't just grab random people of the street to run these things. And I assure you, they know about the details.
Per calorie beef and broccoli are actually surprisingly similar, but broccoli comes with fiber, calcium and vitamin C, while beef comes with saturated fat.
Of course, broccoli is not very calorie dense, so you would need to eat a lot.
More realistically, tofu, which has about as much protein per calorie (and almost as much per gram) as middling lean beef. But has half the saturated fat, more iron, more calcium, and fibre.
You just get more good stuff, and less bad stuff with veg.
But all that aside, I don't actually follow a Mediterranean diet, and agree that one has to be careful here, because it is not well defined (or, it might be in some circles, but that differs from what the general population might expect).
The only reason I mentioned it was in response to
> The Mediterranean diet is regarded as quite healthy by many health professionals but, it is also high in carbs and fat.
Where I was pointing out that the fats in the Mediterranean diet (by pretty much every measure of what it means to be a Mediterranean diet), are not saturated, and it is usually saturated fats that are considered "bad".
That is, all I was trying to do was clear up the (common!) confusion about fats (they are not all the same).
Many people seem to disregard epidemiology, especially when it comes to nutrition (I think because it tends to support unpopular positions). But epidemiology has performed some excellent feats in the name of public health: cholera, smoking, pfao.
It is unfortunate that the large time-lines on these things make more rigor difficult, but I wouldn't throw out the epidemiology.
All that to say, the science isn't wrong, but the practicalities influence the advice.
Her views are not the scientific consensus. She is not a scientist, she is a journalist with an agenda.
I quite like the hackage index, which is an append-only tar file. Incremental updates are trivial using HTTP range requests making hosting it trivial as well.
Just as modular addition over ints in Zig forms a group, even if Zig has no notion of groups. It's just a property of the construct.
Laziness has nothing to do with it.
What that means practically for Zig, I'm unsure.
Haskell just has syntax to make using (any) monad much nicer. In this case, it let's you elide the `Io` parameter in the syntax if you are just going to be passing the same Io to a bunch of other functions. But it still is there.
Functions of that form can actually implement the Monad interface, and can make use of Haskells syntax support for them.
One common use-case for the reader monad pattern is to ship around an interface type (say, a struct with a bunch of functions or other data in it). So, what people are saying here is that passing around a the `Io` type as a function argument is just the "reader monad" pattern in Haskell.
And, if you hand-wave a bit, this is actually how Haskell's IO is implemented. There is a RealWorld type, which with a bit of hand waving, seems to pretty much be your `Io` type.
Now, the details of passing around that RealWorld type is hidden in Haskell behind the IO type, So, you don't see the `RealWorld` argument passed into the `putStrLn` function. Instead, the `putStrLn` function is of type `String -> IO ()`. But you can, think of `IO ()` as being equivalent to `RealWorld -> ()`, and if you substitute that in you see the `String -> RealWorld -> ()` type that is similar to how it appears you are doing it in Zig.
So, you can see that Zig's Io type is not the reader monad, but the pattern of having functions take it as an argument is.
Hopefully that helps.
---
Due to Haskell's laziness, IO isn't actually the reader monad, but actually more closely related to the state monad, but in a strict language that wouldn't be required.
forM ios $ \io -> io
But there are better ways to do it (e.g. sequence), but those are also not "special" to IO in any way. They are common abstractions usable by any Monad.So, if you hit the point where you already had a heart attack, you really want to prevent any further damage, but the "accumulated" risk is still there.
I think that's part of what makes LDL so tragic. You should care about it your whole life, but when you are young, you just don't.
Worse, high LDL is becoming a thing in children as well, that's an extra decade of accumulation which has historically not happened.
I don't think people should panic about these things, but I think it highlights the importance of developing good habits early, and the role parents and society has in making those habits easy for young people to adopt.