Live data from Hacker News

Edge Case Poisoning (2020)

buttondown.email

31–40 of 49 posts

Re: Edge Case Poisoning (2020)

#31
post #5

Data scientists have the right approach here. Crop the outliers, use the mode for sparse data, make an embedding of categorical variables. In short, just pretend like the data is normalized because that makes for a more accurate model of reality in practice.

Translation please! ;-)

Does this means that e.g. you just ignore the recipes with optional ingredients, or "normalize" them by making them mandatory (or deleting them), or you create two recipes (one with and one without the optional part)?

Re: Edge Case Poisoning (2020)

#32
I have long maintained that programming has more in common with cooking than with engineering or architecture but it is not taught that way because (among other reasons) engineers and architects command more respect than cooks.

Re: Edge Case Poisoning (2020)

#33
post #5

Data scientists have the right approach here. Crop the outliers, use the mode for sparse data, make an embedding of categorical variables. In short, just pretend like the data is normalized because that makes for a more accurate model of reality in practice.

Translation please! ;-) Does this means that e.g. you just ignore the recipes with optional ingredients, or "normalize" them by making them mandatory (or deleting them), or you create two recipes (one with and one without the optional part)?

Crop the outliers -> ignore weird recipes/inedibles Embed categorical variables -> naively convert cups, pinches, "to taste" etc I guess data scientists would also just ignore the "optional" tag before running their analysis.

Re: Edge Case Poisoning (2020)

#34
post #19

Earlier quoted context omitted.

You're thinking too concretely. The point of this article isn't to talk specifically about modeling recipes ; it's to use the complexity of recipes (something concrete most people know about) as an example of how this "edge case poisoning" affects the system. I'm sure he has specific non-recipe examples in mind, but using those would either have to 1) give you a lot of background knowledge about the system, which was…

But to the GP’s point, this VM config is a program, so why are you expressing it as a static config file? The ending virtual machine will be valid as long as the steps involved in its creation are.

No, it’s not, and writing VM configuration as a Turing-complete program means you can’t perform structured queries over all the VMs you manage without executing arbitrary code, and you can’t make bulk modification at all.

At least, not without restricting yourself to a tractable subset like dependabot does.

Re: Edge Case Poisoning (2020)

#35
> If I really opened to a random recipe, I’d be unlikely to see any of these complexities.

Lots of recipes have optional ingredients. I don't think this person is very familiar with cooking. All cooking apps handle optional ingredients fine. Nobody would use the one you finna make that doesn't have that.

Re: Edge Case Poisoning (2020)

#36

> If I really opened to a random recipe, I’d be unlikely to see any of these complexities. Lots of recipes have optional ingredients. I don't think this person is very familiar with cooking. All cooking apps handle optional ingredients fine. Nobody would use the one you finna make that doesn't have that.

They're specifically talking about a CIA textbook (Culinary Institute of America) which has a bit more structure and consistency in their recipes as its used in culinary school curricula.

Re: Edge Case Poisoning (2020)

#37
I'd say it's subset of perfect solution fallacy [1]. Every edge case is seen as a problem that has to be solved, at any cost.

One of the root causes is that when you're designing something, you really suck at understanding costs of your solution.

To you, the cost either seems close to zero (because you are familiar with your own solution), or cost doesn't matter because you think you're solving problems that are essential to domain.

Somewhat counterintuitive, the more senior folks are, the more likely they are to be affected by it.

[1] https://en.wikipedia.org/wiki/Nirvana_fallacy

Re: Edge Case Poisoning (2020)

#38
post #33

Earlier quoted context omitted.

Translation please! ;-) Does this means that e.g. you just ignore the recipes with optional ingredients, or "normalize" them by making them mandatory (or deleting them), or you create two recipes (one with and one without the optional part)?

Crop the outliers -> ignore weird recipes/inedibles Embed categorical variables -> naively convert cups, pinches, "to taste" etc I guess data scientists would also just ignore the "optional" tag before running their analysis.

Cropping the outliers is often a hidden abstraction. That might be good for recognizing things but for making things it's likely to be a problem--take the cupcake example. What's the robot (program) going to do with the cupcake? Probably don't want the cups to go in the mixer.

Re: Edge Case Poisoning (2020)

#39
I didn't notice any deliberation on the goals of the project and whether there is any benefit at all to creating a typed recipe model, whether it's a simple one that only covers some cases or a complicated one that tries to cover all of them.

If the goal is to publish the recipe on a website for humans to see, you just need the raw blob of text.

If the goal is to calculate calories, you can drop anything that isn't edible, focus on ingredients with a standard unit of measure, and notify the user if the recipe contains ingredients for which the calorie contribution couldn't be determined.

If the goal is automated production, all of this is likely irrelevant.

Etc...

If your goal is to cram types into things to make them cool, unsurprisingly this goal does not give you a basis to make design decisions.

Re: Edge Case Poisoning (2020)

#40
post #37

I'd say it's subset of perfect solution fallacy [1]. Every edge case is seen as a problem that has to be solved, at any cost . One of the root causes is that when you're designing something, you really suck at understanding costs of your solution. To you, the cost either seems close to zero (because you are familiar with your own solution), or cost doesn't matter because you think you're solving problems that are ess…

Did you just commit edge case poisoning?
Post reply on HN