Having a deaths count -- which itself definitely has error bars, otherwise what the heck are missing persons estimates -- doesn't mean you have a correct attribution of those deaths. Never trust data in the absence of auditing how it got there.
223 karma · joined May 15, 2019
Having a deaths count -- which itself definitely has error bars, otherwise what the heck are missing persons estimates -- doesn't mean you have a correct attribution of those deaths. Never trust data in the absence of auditing how it got there.
If the system doesn't do that already, either nobody considered that users would try that particular nonsensical thing, or nobody cared enough to let users find out immediately instead of wasting their time thinking the computer was at fault.
"A politician is talking" should also at a minimum be treated with the same skepticism as when you encounter any other form of advertising. Even assuming the person speaking is completely ethical and aligned with your specific interests, it's literally their job to convince people of things. Assuming their job is "making laws" or "governing" is a lies-to-children version, they have to get a group of people to agree on some specific set of laws or policy for any of that to happen.
Flagging puts stuff in the moderation queue to be reviewed for abuse / spam. Please don't abuse it for other purposes.
Downvotes exist, but are hidden until you've posted more than some threshold I forget the exact value of.
The idea is to help prevent the downvote button from being even more of a "I don't like what you're saying but can't muster a convincing response to it" button than it already is, while making it convincingly difficult to manipulate via spam accounts.
It's much better at the second than the first, people being what they are, but it does seem to help with both at least enough to justify the feature's continued existence.
Phoenix is basically a feature wrapper around Cowboy which is written in Erlang and dates to 2011 when it reimplemented Webmachine which ran on Mochiweb which I am too lazy to dig up the actual start year for beyond "had quite an install base when Rails was in alpha."
Again, potentially useful argument, but you're pointing it in a direction that doesn't make any sense if you actually understand how those work.
If anything, the fact that anyone considers this at all notable should be a sign of just how racially biased casting is in most Western media. The world isn't nearly as white as it looks on your TV.
Most people involved in hiring are either not involved with the work being hired for, and thus have no idea about that side of things. Or else they're total amateurs at hiring itself who have, by virtue of having some measure of authority over it, deluded themselves into thinking they are awesome at it.
Arrogance and bias will lose you an awful lot of qualified applicants.
It's not even that hard to work around that problem, if you're willing to shut up and listen. You can easily factor an objection as a concern instead of shutting them down entirely, which lets the applicant either show you that it isn't a major problem after all, or respond in a way that confirms that maybe it is.
I seem to have severely underestimated the ability of HN readers to see basic economic data that's both well known and easy to look up like the rate at which the wealth of different demographics is changing as uncontroversial, which is...well, it's a thing.
Particular definitions of wealth depend on what's contextually useful, and are thus quite varied. But I've yet to see one that deals with having an increasingly poor Gini coefficient in a way that makes that a desirable outcome, or which absolves people of intentionally pulling on it for their own benefit without regard for how that impacts millions of others.
People doing obviously shitty things to society are doing shitty things to society, and you'd expect a good definition or model to show as much. If you fit an elephant to the data and squint in a way that makes it sound like it's actually good, when that contradicts observable reality to first order, it's probably a bad model.
But a great many people don't have washing machines or air conditioners. You can rent the former, at the cost of more money and time. People die every year from lack of access to the latter.
It's not like air conditioners themselves are necessarily insurmountably expensive, although that varies by location, but you have to factor things like socioeconomic access to housing that comes with or allows it, as well as the cost of power to operate it sufficiently, plus having it be affordable enough that you already have it before it's a heat-stroke-and-die problem for you to not have it.
Sixty year olds with bad hips and fixed income don't generally go out and buy an air conditioner because it's hotter that year. Not everyone is a healthy twenty year old male with flexible disposable income, and sometimes people die because of the assumption that those form a useful ideal model of the overall population.
It's hard to solve things like poverty when a tiny minority is hoarding most of the increase in wealth, and in fact often profits or draws political power from maintaining inequality in its various forms.
Between arbitrary individual functions you might encounter, there can be differences, but only in the sense that it could happen between Erlang and Erlang if the functions had different implementations or degrees of optimization or optimization choices.
Worth noting for prospective adopters is that you can seamlessly call Erlang functions from Elixir by adding a : prefix, such as :random.uniform(), and there's no weird overhead or surprises involved.
Or even, "although people would like, someone's trying to maximize profit margins."
And that second one is notably is taken within the scope of that quarter, or the next few years that they expect to work there, or even the next few decades before they expect to retire. Which often conflicts with longer-term sustainability problems like retained biodiversity.
(The other two are nameless data ghosts at this point, due to lack of corresponding archeological records, but presumably Homo sapiens whateveris and Homo sapiens someotheris.)
It's kind of open to debate whether those should be independent species, or their own species, but basically we're all Homo sapiens of one sort or another unless you want to get into a long unresolvable highly technical argument about it, which revolves around what precise definition of "species" is useful in some arbitrary context.
In the context of picking one for myself, I would also worry about usability factors, like if people are likely to confuse one thing for another, or not doing things like putting a long random character sequence as the user name.
Pseudonimization is bad terminology in that it's indistinct from the above, to the point that parent has already mixed the two up while in the process of recommending it. And it'd be worse verbally.
"Pseudo-anonymization" could work, but something like "breakable anonymization" or "partial anonymization" might be better in that it's more obvious to a reader and doesn't rely on familiarity with technical terminology to convey the idea.
I'd go with breakable, myself, since it's most to the point about why it's a problem.
Pseudo is etymologically correct, but that doesn't necessarily help us much when the goal is ratio and ease of understanding by a wide population of readers.
Partial could work in the sense that you did part of the job, which people would hopefully understand is a bit like having locked the back door for the night while leaving the front propped wide open.
And there are probably other good options. If I was writing about this topic often, I'd strongly consider brainstorming a few more and running a user test where I ask random people to explain each term, then go with what consistently gets results closest to what I'm trying to discuss.
But saying something is sold by a specific party which I then choose to do business with, then substituting goods that are likely to be from any of numerous other parties, some of which I may be explicitly trying to avoid doing business with...I would at least be interested in hearing why that doesn't count as fraud or false advertising or some such, or maybe some trademarks issue.
At least, I'd love to hear a less rage-inducing justification for putting up with allowing this behavior than "it was buried in a ToS somewhere that lying about who my goods came from is okay, actually."
The exact reason it blows up isn't even necessarily all that important, other than in its effect on what you should be doing to reduce the probability of downtime. Well-engineered systems are routinely developed from less than completely reliable parts. Stuff fails, we design for it.
It's certainly not reason not to use it, if it's resulting in a net positive gain in your ability to get things done and maintain control and transparency over your deployed systems.
But it's certainly a good reason (among a long list of good reasons) to make sure you have a good backup routine in place, including regular testing of both their integrity and your ability to restore a working prod system from them quickly.
Which, could be the case, or it could be that announcing the policy change was the equivalent of announcing your upcoming month-long backpacking tour on Facebook after posting your address and photos of most of your valuables.
(It might be less declaring open season on theft, than a perceived increase in vulnerability triggering a surge in attempts to exploit it, more of which succeed than usual due to some actual increase in the odds of successful theft, complicated by the additional security risk posed by the confusion associated with a major policy change.)
You'd really need to dig into the surrounding data to find out which model is valid and in what proportions.
It's fairly well known that they're problematic at best, in that they epitomize the practices of an industry obsessed with exploiting younger workers, crunch time, and gender imbalance.
https://rclayton.silvrback.com/speaking-intelligently-about-...
Think about it in terms of logistics.
They go over applications, which are attached to core program applications, so they decide who to accept, then they grab the pile that was good but couldn't fit and award grants to some of those that sent the auxiliary application for a grant. Then they send award letters for both.
After they've sent letters, whose grant do you propose they retroactively deny to make room for someone who got the main prize but changed their mind about accepting it and just wants money?
They could hypothetically set it up so you could pick one, but that adds a bunch of extra work to administer it, plus you'd get people trying to game the process by sending in core program apps they don't intend to follow through on. So it doesn't make any sense for them to do it that way.
Also, I'm going to guess that's something like five active contributors signed up, not five full-time engineers, meaning the actual number once you do the math for availability and such is probably closer to half an engineer. Could be five, but Heartbleed kinda put paid to reasoning like "pip is important, surely it has the funding for dedicated contributors who aren't distracted by something else being their real job."
Not that saying "random" is wrong, but users mostly mean it in a colloquial sense, while programmers are apt to interpret it in a technical sense. But one leads to math.urandom() and the other to shuffle algorithms.
A bit like complaining that UTC is wrong because it doesn't match your local Solar time.
But you're asking the wrong questions. Email itself has retries built in, it doesn't need perfect uptime. What you should be asking is how badly Gmail deciding you might be a spammer and not caring about fixing that for one person is going to torpedo your deliverability rate.
You should design the workers so that what needs to happen still happens in the event of expected failures, or so that it at least fails gracefully and with a useful paper trail. Failures happen, good engineering anticipates and plans around them.
For example, you could schedule up to three attempts spaced at least five minutes apart, set a timeout on jobs so they don't stay open indefinitely (appearing to hang), have jobs that still fail get routed to a dead queue, and make sure worker code behaves appropriately in response to internal errors and improper input data (such as getting an HTTP error or unexpected MIME type) while logging any unexpected states for later review. Most of the point of a library like Celery is that it makes common strategies like these easier to implement.
You mentioned in a reply that the jobs are requests to external websites. The rate of errors from that is going to be like a thousand times all other sources of jobs not completing as expected unless something is hella weird with your setup.