Live data from Hacker News

Gettiers in software engineering (2019)

jsomers.net

171–180 of 222 posts

Re: Gettiers in software engineering (2019)

#171
post #145

Earlier quoted context omitted.

I'm not sure I'm understanding your stance fully, so please forgive any poor interpretation. > certain, deterministic, non-bayesian primitive model of our bodies What makes you certain the model of our body is non-Bayesian? Does this imply we have an innate model of our body and how it operates in space? I could be convinced that babies don't inherently have a model of their bodies (or that they control their bodies)…

Because bayesian conditioning doesn't resolve the direction of causation, and gives no way of getting 'certain' data which is an assumption of the method (, as well as assuming relevance). In bayesian approaches it's assumed we have some implicity metatheory which gives us how the data relates to the model, so really all bayesian formulae should have an implicit 'Theory' condition which provides, eg., the actual prob…

Is the extension of your position that we are born with a theory of the body, irrespective of experience? How does that relate to the psychological literature where babies seem to lack a coherent sense of self? I.e., they can't differentiate what is "body" and what is "not body"?

If it's an ability that later develops independent of experience with the exterior world, it seems untestable. I.e., how can you test the theory without a baby being in the world in the first place?

Re: Gettiers in software engineering (2019)

#172

Earlier quoted context omitted.

You're view is more inline with the philosophy of science which holds nothing an ever be justified. https://www.wikiwand.com/en/articles/Karl_Popper read The problem of induction and demarcation: https://www.wikiwand.com/en/articles/Falsifiability Basically to some it all up because we aren't "omniscient" nothing can in actuallity ever be known.

Well, nothing can be truly known on _inductive_ basis but we surely can know things on _deductive_ basis

Deduction does not exist in reality.

Read this dialogue with ChatGPT to see why:

https://chatgpt.com/share/670e7f9e-d1d0-8001-b1ef-3f4cbc85b9...

It’s a bit long winded and gets into much more detail but I will post ChatGPT’s most relevant response below:

   You’re right to point out that complexity alone doesn’t necessarily rule out deduction. Deduction can, in principle, work even in highly complex systems as long as the premises are perfectly known and logically valid. So the real issue with why deduction fundamentally does not exist in reality comes down to the nature of human knowledge and the way we interact with reality itself. Here’s why deduction struggles at a more fundamental level:

   1. The Problem of Incomplete Knowledge

   In mathematics and formal logic, deduction works because the premises are often abstract, well-defined, and complete within a given system (e.g., “All triangles have three sides”). In contrast, human knowledge of reality is never complete. We can never be sure we have all the relevant facts, laws, or variables. Even with the most advanced observational tools, there are always things we don’t know or can’t foresee.

 • In mathematics: Premises like “All even numbers are divisible by 2” are universally true within that system.
 • In reality: We might observe many instances of a phenomenon and think we know the rules, but there could always be exceptions or unknown factors (as in the Black Swan problem).

   Because we cannot ever have perfect, complete premises about the world, any deductions we make based on our observations are always vulnerable to being undermined by new information.

   2. Reality is Unbounded and Open-Ended

   Mathematical systems and formal logic operate in closed systems with clearly defined rules. Reality, on the other hand, is open-ended and continuously evolving. There’s no fixed “set” of all knowledge about the universe. What we take to be the laws of nature today might change tomorrow with new discoveries, so the premises we use for deductive reasoning in the real world are inherently uncertain.

   For instance, before the discovery of quantum mechanics, classical mechanics seemed to perfectly describe the physical world. Once quantum theory emerged, the premises on which classical deductions were made had to be re-examined.

 • In a closed system (like math): You can set the premises and they remain stable.
 • In reality: The premises are constantly subject to change or reinterpretation as we learn more.

   3. The Problem of Infinite Regress (Uncertainty in Premises)

   Even if you think you have solid premises to base deduction on, those premises themselves depend on other premises, which in turn depend on further premises. This infinite regress means that you can never be certain that your foundational premises are truly, absolutely correct.

   For example:

 • You might reason deductively that “all swans are white” because all observed swans have been white.
 • But this premise itself is based on inductive observation, which is inherently fallible.
 • Even if we had observed all swans ever seen by humans, we still couldn’t deduce that “all swans are white” without being omniscient, since future discoveries could prove otherwise.

   In the end, any attempt to apply deduction to reality rests on premises that ultimately cannot be guaranteed to be perfectly, universally true, leading to a breakdown in the validity of deduction in real-world scenarios.

   4. The Distinction Between Reality and Abstraction

   Mathematics and logic are abstract constructs—they exist independently of the physical world and follow internally consistent rules. Reality, on the other hand, is not an abstract system; it is something we experience, observe, and interact with. This creates a fundamental mismatch:

 • Abstractions (like mathematics) allow us to create premises and rules that are certain, because we define them.
 • Reality doesn’t conform to these strict, definable rules—it involves uncertainty, chance, and emergent properties that abstractions can’t fully capture.

   Because reality is not abstract, we cannot reduce it to a system of premises and rules in the same way we can with mathematics. Any attempt to do so will always miss something essential, undermining the validity of deduction in practice.

   5. Chaos and Uncertainty in Physical Systems (ChatGPT is wrong here, I deleted it… it references chaos theory which is technically still deterministic, only quantum theory says things are fundamentally unknowable so ChatGPT is right from the perspective of fundamental uncertainty but he used chaos theory wrongly here in his reasoning) 

   Conclusion: Fundamental Uncertainty and Incompleteness

   The fundamental issue with deduction in reality is that human knowledge is inherently incomplete and uncertain. Reality is an open, evolving system where new discoveries and unforeseen events can change what we thought we knew. Deduction requires absolute certainty in its premises, but in reality, we can never have that level of certainty.

   At its core, the reason deduction doesn’t fully apply to reality is because reality is far more complex, open-ended, and fundamentally uncertain than the closed, abstract systems where deduction thrives. We cannot create the perfect, unchanging premises needed for deduction, and as a result, deductions in the real world are always prone to failure when confronted with new information or complexities we hadn’t accounted for.

Re: Gettiers in software engineering (2019)

#173

Earlier quoted context omitted.

A robot in a cow carcass is not a cow, it's a "robot in a cow carcass". Someone might believe it's a cow because they lack crucial information but that's on them, doesn't change the fact. A cow-horse hybris is not a cow, it's a cow-horse hybrid. A cow with a genetic mutation is a cow with a genetic mutation. A cow created in a lab, perhaps even grown 100% by artificial means in-vitro is of course still a cow since it…

I have this pet theory that Philosophy is kind of the Alternative Medicine of intellectual pursuits. In the same way that Alternative Medicine is doomed to consist of stuff that doesn't work (because anything proven to work becomes "Medicine"), Philosophy is made entirely of ideas that can't be validated through observation (because then they'd be Science), and also can't be rigorously formalized (because then they'd…

> for any given claim in Philosophy, if you could find a way to either (a) compare it to the world or (b) state it in unambiguous symbolic terms…

Not a crazy idea – that is called logic. Which is a field of philosophy. Philosophy and math intersect more than many people think.

Re: Gettiers in software engineering (2019)

#174

Earlier quoted context omitted.

A robot in a cow carcass is not a cow, it's a "robot in a cow carcass". Someone might believe it's a cow because they lack crucial information but that's on them, doesn't change the fact. A cow-horse hybris is not a cow, it's a cow-horse hybrid. A cow with a genetic mutation is a cow with a genetic mutation. A cow created in a lab, perhaps even grown 100% by artificial means in-vitro is of course still a cow since it…

I have this pet theory that Philosophy is kind of the Alternative Medicine of intellectual pursuits. In the same way that Alternative Medicine is doomed to consist of stuff that doesn't work (because anything proven to work becomes "Medicine"), Philosophy is made entirely of ideas that can't be validated through observation (because then they'd be Science), and also can't be rigorously formalized (because then they'd…

Science and Math started as part of Philosophy. They just split out and became large specializations of their own. Schools for Math and Science still graduate Doctors of Philosophy for a reason.

Even the Juris Doctor is a branch of philosophy. After all, what is justice?

Re: Gettiers in software engineering (2019)

#175

Earlier quoted context omitted.

I have this pet theory that Philosophy is kind of the Alternative Medicine of intellectual pursuits. In the same way that Alternative Medicine is doomed to consist of stuff that doesn't work (because anything proven to work becomes "Medicine"), Philosophy is made entirely of ideas that can't be validated through observation (because then they'd be Science), and also can't be rigorously formalized (because then they'd…

From Will Durant's The Story of Philosophy : "Some ungentle reader will check us here by informing us that philosophy is as useless as chess, as obscure as ignorance, and as stagnant as content. “There is nothing so absurd,” said Cicero, “but that it may be found in the books of the philosophers.” Doubtless some philosophers have had all sorts of wisdom except common sense; and many a philosophic flight has been due…

Thanks, that's a hell of a quote! Though one suspects that Alternative Medicine would describe itself in similar terms, given the chance..

Re: Gettiers in software engineering (2019)

#176

Earlier quoted context omitted.

I have this pet theory that Philosophy is kind of the Alternative Medicine of intellectual pursuits. In the same way that Alternative Medicine is doomed to consist of stuff that doesn't work (because anything proven to work becomes "Medicine"), Philosophy is made entirely of ideas that can't be validated through observation (because then they'd be Science), and also can't be rigorously formalized (because then they'd…

Science and Math started as part of Philosophy. They just split out and became large specializations of their own. Schools for Math and Science still graduate Doctors of Philosophy for a reason. Even the Juris Doctor is a branch of philosophy. After all, what is justice?

Sure, I hoped it might go without saying that I meant Philosophy as the term is used now - post-axiomatic systems and whatnot, not as the term was used when it encompassed the two things I'm comparing it to.

Re: Gettiers in software engineering (2019)

#177
post #171

Earlier quoted context omitted.

Because bayesian conditioning doesn't resolve the direction of causation, and gives no way of getting 'certain' data which is an assumption of the method (, as well as assuming relevance). In bayesian approaches it's assumed we have some implicity metatheory which gives us how the data relates to the model, so really all bayesian formulae should have an implicit 'Theory' condition which provides, eg., the actual prob…

Is the extension of your position that we are born with a theory of the body, irrespective of experience? How does that relate to the psychological literature where babies seem to lack a coherent sense of self? I.e., they can't differentiate what is "body" and what is "not body"? If it's an ability that later develops independent of experience with the exterior world, it seems untestable. I.e., how can you test the t…

It might be that its vastly more minimal than it appears I'm stating. I already agree with the high adaptability of the motor system -- indeed, that's a core part of my point, since its this system which does the heavy lifting of thinking.

Eg., it might be that the kind of "theory" which exists is un/pre-conscious. So that it takes a long time, comparatively, for the baby to become aware of it. Until the baby has a self-conception it cannot consciously form the thought "I am grasping" -- however, consciousness imv is a derivative-abstracting process over-and-above the sensory motor system.

So the P(Shape|do(Grasp), BasicTheory(Grasp, Shape)) actually describes something like a sensory-motor 'structure' (eg., a distribution of shapes associated with sensory-motor actions). The proposition that "I am grasping" which allows expressing a propositional confidence requires (self-)consciousness: P(Shape|"I have grasped", Theory(Grasp, Shape)) -- bayesianism only makes sense when the arguments of probability are propositions (since its about beliefs).

What's the relationship between the bayesian P(Shape|"I have...") and the causal P(Shape|do(Grasp)) ? The baby requires a conscious bridge from the 'latent structural space' of the sensory-motor system to the intentional belief-space of consciousness.

So P(Shape|do(Grasp)) "consciously entails" P(Shape| "I have..") iff the baby has to developed a theory, Theory(MyGrasping|Me)

But, perhaps counter-intutively, it is not this theory which allows the baby to reliably compute the shape based on knowing "its their action". It's only the sensory-motor system which needs to "know" (metaphorically) that the grapsing is of the shape.

Maybe a better way of putting it then is that the baby requires a procedural mechanism which (nearly-) guarentees that it's actions are causally associated with its sensations such that it's sensations and actions are in a reliable coupling. This 'reliable coupling' has to provide a theory, in a minimal sense, of how likely/relevant/salient/etc. the experiences are given the actions

It is this sort of coupling which allows the baby, eventually, to develop an explicit conscious account of its own existence.

Re: Gettiers in software engineering (2019)

#178

Question I like to ask my colleagues. Suppose you have a program that passes all the tests. Suppose also that in that program there is a piece of code performs an operation incorrectly. The result of that operation is used in another part of the code that also performs an operation incorrectly, but in such a way that the tested outcome is correct. Does the code have 0 defects, 1 defect, or 2 defects?

I can understand 0 and 2, but what's 1? The "I don't know how to count" answer?

It could be counted as a single defect because both pieces of code must be corrected to keep the test happy.

Re: Gettiers in software engineering (2019)

#179
These things happen very often in programming because programming has feedback loops.

If there's a bug - things on other levels will adapt to that bug, creating a "gettier" waiting to happen.

Other feedback-related concept is false independence. Imagine a guy driving a car over a hilly road with 90 mph speed limit. The speed of his car is not correlated with the position of the foot on the gas pedal (it's always 90 mph). On the other hand the position of the gas pedal and the angle of the road is correlated.

This is example popular in macroeconomics (to explain why central bank interest rates and inflation might seem to be independent).

Re: Gettiers in software engineering (2019)

#180

An old timer I worked with during my first internship called these kinds of issues "the law of coincidental failures" and I took it to heart. I try a lot of obvious things when debugging to ascertain the truth. Like, does undoing my entire change fix the bug?

When something absolutely doesn’t make sense to me I often go back to a point in time and do a checkout of when I was 100% sure “it worked” and if it doesn’t then I assume something external changed, hardware, backend service, the earth’s wobble. If it does work then I will bisect the timeline until I Iocate it. This works for me 99% of the time on tough bugs that just defy any logic. It’s kind of known quantity as opposed to going through endless logs, blames, file diffs, etc. I know in some cases it isn’t really possible but in code that you can have a fairly quick turn around on build/install/test, it works really well.
Post reply on HN