> A lot of odd Nix hate in here, or at least extreme dislike.
I hate this expression. I'm a nix user. But if you can't understand why people dislike it... you're the one that's odd and out of touch.
If you want people to adopt nix the worst way to convince them is to call their behavior odd when it isn't.
The reason why adoption of nix is so low is trivial. High initial learning curve and it's so different from everything else that's out there. The only reason why I got over that learning curve is because my company uses it. If it wasn't for my job I would not have have the will power to climb over that learning curve.
Like seriously can you not see that someone is not willing to spend months learning nixos when they can get a pretty much from point A to point B using a turn key solution like ubuntu?
Nix is great. But you need to climb over the initial hump. That is all.
Theoretically if the pesticide is below a certain threshold I should be fine. However if I mix thousands of dangerous chemicals together while keeping each portion below the danger threshold until I have a cup of this stuff I can gulp down than in theory I should be fine.
However if I suffer from ingesting such a concoction then logically this theory of keeping chemicals below certain danger thresholds does not logically hold weight.
I read it. Science is not logic in the same way that a brick building is not a brick. Your description is inconsistent. You differentiate logical theories and scientific theories as different yet you call logic the science of what's possible.
Maybe you were trying to promote understanding over correctness but I would recommend that you do both as such fuzzy wording leads to people inconsistently and incorrectly using the word "science."
>Not going to address your weird attempt at wordplay
There's absolutely zero need to be rude. There is no "wierd" word play here just misunderstandings and impoliteness by you.
>Also, axiom can be just a rule in a rewriting system. Doesn’t have to be an assumption/opinion as it is just a proposition (or higher order predicate) that is true within some system (not necessarily related to anything that exists).
This is obvious. You're just restating what I said and coming up with a circular argument. A rewriting system is a universe you create, not dissimilar to our own universe that we live in. An axiom in this system is an statement made by you stating something is true without any proof. A statement made without proof IS an assumption. Now this explanation may seem like word play to you but it is not. The exact identical words "assumption" and "axiom" serve to confuse your reasoning and blind you from the actuality of the concept at hand. What I am doing is unraveling your misunderstanding in attempt to explain your confusion but you are unable to see it and you view the argument as "word play." Axiom and Assumptions are two words that mean the exact same thing. There is one concept at hand and two words for that same concept that are confusing you.
>subjective logic, which you linked, is equivalent to propositional (in a sense you can express any statement in subjective logic via a set of propositions, eg Ap distributions make this connection), and does not embed predicate logic (eg any statement of this system can be expressed in predicate logic, but not vice versa)…
This system has axioms and theorems that use predicate logic. It is built off of predicate logic.
When you set the subjectivity to 100% the result is something equivalent to predicate logic. So logic is both a special case of probability as well as foundational building blocks for subjective probability itself. You can arbitrarily pick and choose which came first and which one is axiomatic. Probability or Logic.
You are indeed wrong here. Please politely admit it without calling my statements weird. If you disagree there is no need to resort to derogatory statements.
>This is factually false. Probability is embeddable into predicate logic, but predicate logic is not embeddable into (Bayesian) probability. This is actually an open problem (how to define a probability theory that is equivalent to predicate logic).
Completely wrong. How can someone say I'm factually false when your own statement is completely and utterly incorrect. I don't think you're really aware of what's going on here:
It's not an "open problem" or aka "unsolved problem" in the sense you implied. Far from it. Rather it is just not a popular field of study.
>This definitely a very opinionated view on what is logic. There is no reason to embed anything in universe/anything else. If you remove expressability, I’m not sure what properties remain.
I don't think you get it. The nature of an axiom IS by definition an opinion. An axiom is an Assumption. Assumptions are just things that are assumed to be true, they are NOT things that are proven to be true. Thus the only thing an assumption can be if it is an unproven statement is that it is an OPINION. When anyone makes a statement about logic such as my statement "Logic is a fundamental axiom of the universe." Or "Logic is NOT a fundamental axiom of the universe" is by DEFINITION a statement of OPINION.
When I say it's a fundamental axiom it means that it is something all of humanity consistently assumes to be true. Our culture, our science, our mathematics, our interpretation of reality and the universe as we know it is founded on the assumption that logic is true. It is a general statement about the broad "opinion" of all of humanity.
Look at your own statement. You said and I quote: "There is no reason to embed anything in universe/anything else." What does this statement even mean? What is reason? Reason IS Logic. Look it up. You are literally saying there is no logical reason to embed logic into our universe. Yet here you are making a logical statement in a universe where you say we cannot assume logic is true.
We assume logic is true. You can't make a single argument otherwise. Literally all arguments you've ever made in your life hinge on logic being true. That is unless all your arguments are illogical. Are you saying your own argument is illogical?
There's really nothing left to argue about here. Our entire technical framework of reality is founded on the "Opinion" that logic real.
>On this I do agree, I wouldn’t call logic a “science.”
If you truly understood what's going on, you would agree with me on all points. Not just this.
Hard to say which came first. Probability can be defined in terms of axioms and classical logic just read any probability book. Classical logic can also be defined in terms of probability by setting all causal relations to be 100% (See bayes theorem).
I'm making a vague sweeping statement here that eventually gets a bit more cleared up later in my writeup.
Logic is one of the fundamental axioms of the universe. We assume logic is true and consistently applies everywhere throughout the universe. This "rewriting expressions" thing is just a symbolic representation of logic. It is not logic in itself. The symbolic representation of logic by writing down "expressions" works because logic is a inherit property of our universe and since you are writing those "expressions" in that same universe, it works.
There is no way to prove or verify logic is consistently real. We just recursively assume logic is real. We observe it to be real and assume that the observation will consistently apply across all time and space.
Another thing that I should mention that is an axiom of our universe is probability. WE have no way of knowing why rolling dice or random variables follow the rules of probability. These are just arbitrary rules and we assume that they're consistently true about our universe. Logic along with probability are two things that we have zero methodology of verifying the veracity of but we just assume these two things are fundamental properties of the universe.
A more elegant way to look at it is to just assume probability is the foundational axiom of our universe. Logic is just a special case of probability where all causal connections are 100%. Of course given inherit unreliability and limited knowledge of all things we never actually see or can verify 100% causality on anything. This effectively limits logic to mathematical and axiomatic games while science is the only available tool for the real world.
Science is a whole different beast. Given the assumptions that probability is real and that logic is real, science is an attempted methodology to verify theorems or statements about the universe using the axioms of probability and logic.
For example Newton guesses that a ball should travel a certain distance according to his made up laws of motion. Using science we perform several experimental observations of moving a ball and statistically correlate to a certain degree that yes the ball does indeed move according to newtons laws of motion. This is what science is. It is making a hypothesis and using statistics to sort of verify it. The term "sort of" is key here because science is limited to the fact that it can never prove anything.
One thing to note here is that EVEN when we assume logic and probability is true, science is unable to prove anything is true. You can make 10,000 observations about newtons law, it proves nothing because at any point in time a new observation can render the entire hypothesis as false. Thus falsification is possible with science [1] but proof is impossible. Proof is the domain of mathematics and logic games and cannot exist in the real world due to limited knowledge.
This is not some pedantic philosophy I'm making up. This is foundational to a true understanding of what science and logic is. To quote Einstein:
"No amount of experimentation can ever prove me right; a single experiment can prove me wrong."
There are a lot of intelligent people who don't understand the true depth of the above quote. But if you get it, then you truly understand what science is, and the differences between science and logic. Obviously both the OP and the parent poster don't fully get it... by combining logic and science into one thing and calling it the "science of the possible" it shows that they don't have a clear delineation of the two terms. Most people think of science as some kind of fuzzy "technical study" of a topic. No. This is wrong. There is a clearer definition of science that separates it from logic and mathematics.
[1] Note that technically total falsification is also impossible. Inherit unreliability of observation tools and limited knowledge makes it so that no observation can be 100% reliable. Thus even falsification is technically limited to the domain of logic and mathematical games.
It's more than just a different way of thinking. There's an intuition gap caused by human bias. We bias towards one way of thinking and moving out of that bias is extremely hard.
> A dedicated ticket-churner might be the most efficient way to churn tickets. But why are you so sure that the ticket stream amounts to the best long-term future for the software and its customers?
Because a ticket churner worried about ownership of the entire product has his mind divided between the tickets and the product. A human spending all his effort on one task does a better job on that task than if he divided his effort on multiple tasks.
>An owner can see around corners. Identify patterns in customer requests and make platform-level changes to get ahead of the customer needs not yet fully articulated. If he does it right, they never will be. He has his thumb on the pulse of production. Knows, cares, and investigates when something merely seems a little weird, before it becomes a bug report or an outage. Sees the real need behind the “requirement” and negotiates a different way to satisfy the business that doesn’t tie the architecture up in knots.
Then there should be a dedicated person for this type of role. This dedicated person is called, the product manager. The product manager working closely with the software engineer is from a processing standpoint better than the software engineer owning the entire product. The software engineer no longer needs to context switch and you have two parallel brains working together.
However their is an inefficiency that exists in the communication between the product manager and the software developer. The software developer knows more about the code than the product manager and the product manager knows more about the interface between the product and the customer. Cross communication and lack of understanding between the engineer and the product manager is the source of many complaints.
If the software developer was the owner of the entire product than this communication efficiency is eliminated at the cost of the software developer having to have to divide his effort between multiple domains.
At a certain scale autonomy and complete ownership becomes impossible due to the complexity of the product. At this stage the company must embrace scalability at the cost of flexibility and ownership.
>Claiming that his approach was “not scalable” and that yours is “flexible” sounds naive and conceited to me.
Insulting people for a differing opinion that is introduced neutrally is not a conductive way to communicate... it is way of communication that is both against the rules on this site and one that Admiral Rickover himself will condemn.
One thing that is for sure is that insults, rude behavior is not scalable or acceptable in any organization.
>Claiming that his approach was “not scalable” and that yours is “flexible” sounds naive and conceited to me.
Why don't you read what I wrote again. I said Rickovers' approach was "flexible" while my approach was "scalable." Another thing I should mention that I'm sure Admiral Rickover will agree with me on is that insulting people based off of a cursory reading and complete misinterpretation of a post is not productive for any organization. It's very careless
> Admiral Rickover managed nuclear submarines and aircraft carriers. Moreover, he was responsible for introducing these incredibly complex and dangerous technologies to the Navy.
It's debatable how efficient and productive these technologies are. The Defense industry is famous for inefficiencies and incompetence. While the feat you describe is impressive there is nuance that needs to be examined here. Objectivity is warranted. Learn to be able see things not in terms of black and white but in sets of pros and cons which is likely the reality here.
You're thinking along the lines of the dimension of distribution. Yes in terms of distribution, software scales because it can be copied.
However there are many other dimensions of scalability to consider. Examine the complexity of the software system itself where thousands of people have to work on it. Eventually there will be no choice but to go this route due to rising complexity of the software. You need specialists with narrow assignments because those narrow assignments are already so complex that it takes a team to comprehend it. Engineers on these projects have to give up ownership of certain things and trust that others can handle it if they ever want to get any work done.
I stated it above as a tradeoff. Efficiency and scalability vs. flexibility. I completely agree with you on being careful about optimizing for scalability but eventually a bigger org HAS to make this tradeoff because they have no choice.
If a few bespoke nuclear submarines don't necessitate the trade off that's fine, but putting a new ever complexifying smart phone in the hands of the ENTIRE population year after year requires immense sacrifices to flexibility in the name of scalability.
Consider the fact that when complexity of the system rises to a point where no human can comprehend it, the project must lean more and more on specialization rather than a bunch of jack of all trades ownership type organization.
Ideally, personally and professionally we prefer autonomy but there hits a point where logistically it becomes fundamentally impossible due to complexity. Society itself must segment itself into specialists due to immense complexities it has to deal with. Eventually organizations within these societies must do the same as they grow bigger and begin to assimilate and represent a bigger portion of the society itself.
This type of philosophy is good but not scalable or efficient.
Scalability and efficiency requires well defined specialized roles. Additionally the more specialized and "stupid" each compartmentalized role is... the more efficient and scalable the organization becomes. Heavy Specialization is in fact the root reason for the complexity of civilization in the modern world. Therefore, if the objective is growth and efficiency, management of every organization must seek to organize the hierarchy in a way where each role becomes small and extremely well defined.
See McDonald or similar for the huge scalability and efficiency that is brought on by the opposite philosophy of Rickover.
Rickovers' philosophy optimizes for flexibility and creativity at the huge cost of basically zero scalability. This type of philosophy is good for labs and R&D work.
In terms of software I currently work at a company that affords this level of flexibility, freedom and ownership. Software Engineers at my company "own" their product and are given full autonomy. But they have to deal with all the politics from other stakeholders and generally spend less time doing actual software.
A software engineer allowed to deep dive on a stream of tickets/tasks while being defended from non-software related issues by a manager is by far more efficient than one given the responsibility of "ownership."
Literally software engineers at my company are expected to push products to production and cat herd all the required people to make it a reality.
What in your mind is a better setup? One where a manager does the cat-herding and the software engineer is given the very small task of just coding? Or One where the software engineer has ownership and responsibility of the entire product and has to manage it all the way to production?