Major thanks to the HN community and those who keep it running!
453 karma · joined November 19, 2019
Major thanks to the HN community and those who keep it running!
To summarize, you have to have the ability to correct statistical aberrations after manufacture via extensive validation and testing, as opposed to design aberrations which can largely be eliminated through destructive iteration. Without the former process, you'll launch a million telescopes and not a single one will work.
1. Forensics difficulty. You need extensive data to debug issues for complex systems. You can collect so much more data from terrestrial testing, which allows you to do the extensive forensic analysis required to achieve the required component reliability. Once you put a telescope in space, you can't inspect it anymore. A lot of the sensitive components which might fail on JWST have to be inspected to microscopic precision in order to perform adequate failure analysis.
2. Design requirements are far, far more precise. Many failures in deep space are effectively impossible to correct in later iterations due to point 1. Telemetry and sensor data is enough to debug rockets, but for JWST you would need to ship so much extra data/sensor infrastructure alongside the telescope that the whole project becomes recursively intractable.
The system complexity is so high that you absolutely must have the ability to make arbitrary system corrections because the chance of "building everything correctly the first time" is effectively zero, even with perfect hindsight! Essentially, any time you build the thing from scratch, you will always find mission-ending statistical deviations. The objective of on-ground testing is to identify and correct those specific deviations, until the whole system is within design tolerances. If you were to totally rebuild it, the next iteration will have a totally different set of statistical deviations which will need to be corrected. This process of development involves "hardening" the entire system through extensive testing, because it impossible to build a fully-hardened system to start with, even after "learning" from previous attempts.
And to GP's point, here's an NYT investigation into a suspicious arrest from 2018: https://www.youtube.com/watch?v=DrfZuPFrH8A
Perhaps you could try to make a case that we need more time to evaluate the long-term effects of the vaccines. Historically speaking, we know that side effects for any vaccine are incredibly rare after more than a few months. mRNA vaccine technology has been researched for decades and there are no indicators that there are long-term complications resulting from their use. Other vaccine technologies show similar long-term safety.
* I did indeed see a crow "anting" one time, and was initially as bewildered as the photographer in TFA. Surprisingly I was able to get much closer to the bird than they normally allow, but stepped back as soon as I saw it wasn't actually in distress.
* The best way to get close to a crow is to back up towards it; they are extremely wary of eye contact and will immediately become alert if you look at them or move towards them with your body facing forward. Over time, I used this method to get close to them and demonstrate that I wasn't a threat. I "trained" the crows to recognize that if they let me get close, I'll drop some food for them. After a while you don't have to do the backwards shimmy, but it's a good default strategy for approaching naturally skittish creatures.
* If you feed crows in exactly the same place every day, they will recognize you and fly to the "feeding spot". Crows pay very close attention to your movements and behaviors, and like most animals will try to develop a mental model to figure out when you're going to feed them. If presented with consistent causal behaviors, the birds will essentially train themselves.
* Crows are very sensitive to changes in appearance and behavior. I switched jackets one day and was met with immediate suspicion.
* My most fruitful experiment was right before the lockdown. I would stand in a specific location for a little while and watch the birds (watching them from a distance piques their curiosity and alertness to you). With them watching, I would pretend to plant food somewhere nearby and then move away. The crows would fly over, and I would immediately reward them. After a few weeks of this, I began gesturing towards nearby objects with my hand, and the birds would investigate the object immediately after I move away. After consistently rewarding this behavior, I was able to advance to "pointing to a semi-nearby object with my arm". One crow eventually figured out how to fly to the object I was pointing at, and I did a few successful tests to make sure the crow would fly specifically to the object I was pointing at, and not at some other nearby object. I have yet to train them to land on distant objects, but I'm hopeful!
* Crows like pistachios (they have multiple techniques for cracking the shell), and love cashews and peanuts (unsalted are best for the birds). They'll almost always opt for the "more convenient" snack, especially when they're competing with other crows. I try to reward the "bravest" crows first, by slowly moving away from the food pile until one crow moves in. Like other animals, crows also learn by observing the reward loop from a distance, and you can use this to get a large number of them to trust you.
* Crows are very curious when they feel safe, and it is mutually entertaining to set up unusual scenarios (such as hiding food inside or under tricky objects, like empty water bottles or closed paper containers).
A bunch of scary-looking graphs haphazardly thrown together with huge ads abutting either end is not an argument. This comment is guilty of its own accusation: cherry-picking data to paint a dishonest narrative.
https://www.pewresearch.org/social-trends/2020/08/20/a-profi...
50% of men under 30 are single, compared to ~25% of men 30 and above.
49% of women over 65 are single, compared to ~27% of women under 65.
Edit:
Here are the population proportions for each of the age bands in the above source (numbers fudged from https://www.populationpyramid.net/united-states-of-america/2...):
18-29: 17% (Avg. age ~24)
30-49: 28% (Avg. age ~40)
50-64: 21% (Avg. age ~57)
65+: 17% (Avg. age ~72)
It's not too hard to calculate the age of the average single man/woman. The average single man is ~43. The average single woman is ~51.That's fair; I don't doubt that there are isolated, contemporary examples where un-masking would have led to a better situational outcomes.
As far as if "public reaction" should factor into individual choice, my stance is more based in principle than practicality; bending to the will of popular opinion is a strategy that is highly stifling, due to the fickle and stochastic nature of group opinions. I think it's dangerous to suggest that there are any societal circumstances where everyone should just "side with the crowd." Superseding reason with groupthink rarely yields anything but disastrous outcomes, so I believe that if one can tolerate the ridicule and aggression, then they should stand by their principles.
I'm having difficulty understanding what this comment is implying. Should other peoples' opinions and reactions to wearing a mask (or not wearing a mask) be a factor in one's own individual decision making?
1. Keep the business logic as un-indented as possible.
2. If there are several branching happy-paths, give them the same indentation.
I generally choose the "early return" pattern if there is (1) more than one precondition that must be met before executing a (2) medium-sized "happy path" code body. In these situations, having the meat of your function inside a deeply nested flow control structure is unwieldy, and for indentation-sensitive languages it is far too easy to lose track of which condition body you're currently in. In Python, this has bitten me more times than I can count.
So, my standard "early return" pattern follows this prototype:
if (!discriminatingPrecondition) {
// Some cases we ignore intentionally.
return false;
}
if (!criticalPrecondition) {
std::err << "Error: Precondition not met!" << std::endl;
return false;
}
if (!fixablePrecondition) {
scheduleRemedyForPrecondition();
return false;
}
// Happy path
return true;
However, for code with a single precondition statement without specific remediation logic for each precondition, I might occasionally prefer: if (preConditionA && preConditionB && preConditionC) {
// happy path
} else {
std::err << "Error: Preconditions not met!" << std::endl;
}
In the above examples, single entry/exit forces a structure like this: if (preConditionA) {
if (preConditionB) {
if (preConditionC) {
// happy path
...
...
...
} else {
std::err << "User not authenticated!";
}
} else {
std::err << "No server connection!";
scheduleServerConnection();
}
} else {
std::err << "No network connection!";
scheduleConnectionCheck();
}
Now, outside of "precondition" checking, it makes sense to use if/else or switch statements when conditions lead to similar happy path bodies. For example: if (shouldStand) {
stand();
} else {
// No implied difference of statement body importance based on indentation
sit();
}
Versus: if (shouldStand) {
stand();
return;
}
// Hmm, is this path significantly different from the one above?
sit();
So, in the "branching happy path" situation I opt for the former.This needs justification, especially since socialized medicine works better in so many other countries.
I don't believe this is true. Do you have a source?