HN user

deltasixeight

50 karma
Posts0
Comments99
View on HN
No posts found.

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.

I recommend reading this: https://projecteuclid.org/journals/statistical-science/volum...

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:

https://en.wikipedia.org/wiki/Subjective_logic

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.

No. You are both wrong.

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.

Category Theory 5 years ago

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?

This means, and I assume, we can also base all of our equations on say "energy is not conserved and always increase by 1 Joule", though the physics equations might be much more complex.

We can but this won't match with observations. We assume energy is conserved only because our current observations show that it has been conserved thus far.

Referring to the OP article, he's basically writing that the c being the absolute speed limit is not axiomatic. It's not something we just assume to be true. It is a theorem derived from the assumption (aka axiom) that the universe cannot produce inconsistent events.

Ah screw it I can’t finish this. I don’t know how to translate the steps without mutable state. I can either lose the ordering or I can say “then mix in the bananas,” thus modifying the existing state. Anyone want to try finishing this translation in the comments? I’d be interested in a version that uses monads and one that doesn’t use monads.

He's wrong and he completely misunderstood functional programming. It's not weird at all. Let's get things straight. First off there's a difference between functional programming and types. Monads are more of a type centric thing and also haskell centric. Haskell is a big part of functional programming but it's only one style. You can do functional programming without monads and also without type checking. Additionally type checking and even haskell-like type checking AND monads can exist in imperative languages as well (like rust.) Does rust having monads make it functional? No.

Second functional programs can be very very very very readable. It depends on how you structure it and your naming conventions. See example below:

   list of data primitives (aka ingredients and tools): 
      cake
      grease
      flour
      small_bowl
      large_bowl
      pan
      whisk
      salt
      oven
      cream
      butter_milk
      white_sugar
      brown_sugar
      walnuts


      heatedOven = preHeatOven(oven, 175)
      panWithGreaseAndFlour = putGreaseAndFlourInPan(grease, flour, pan)
      bowlWithWhiskedIngredients = whiskStuffIntoBowl(small_bowl, whisk, salt, flour, baking_soda)
      bowlWithSugars = mixStuffInBowl(large_bowl, white_sugar, brown_sugar)
      bowlWithSugarsAndBananas = mixStuffInBowl(bowlWithSugars, bananas)
      bowlWithAllingredients = mixStuffInBowl(bowlWithSugarsAndBanas, bowlWithWhiskedIngredients, buttermilk, walnuts)
      panWithAllIngredients = pourContentsOfBowlIntoPan(bowlWithAllingredients, pan)
      heatedPan = heatPan(panWithAllIngredients, heatedOven, 30)
      finishedProduct = coolPan(heatedPan)
I mean that's so simple I can literally translate that into english:
      Create a heated oven by heating an oven to 175 degrees.
      Create a pan with grease and Flour by putting grease and flour into a pan.
      Create a bowl with whisked ingredients by whisking salt, flour and baking soda into a small bowl with a whisk.
      ....
You get the picture... It's just real practical english tends to be less pedantic that's it.

Think about it this way. Let's say we live in an imperative world where we have an oven. We then heat the oven. Now in the imperative world the oven is destroyed and replaced by a heated oven. We only refer to the "heated oven" as an "oven" for convenience but in fact the original "oven" is actually destroyed as in it no longer exists.

In functional programming THE only difference is that the original oven is NOT DESTROYED. That's it. You have a heated oven, but you still have a reference to the original oven. But you don't ever need to refer to original oven if you don't want to. This makes English describing imperative processes more or less IDENTICAL to functional processes.

Another perspective to think about this is that in the English language we create the heated oven but the original oven is not destroyed but moved! The oven is now moved into a namespace called the past, we can only refer to the original oven by appending or prepending one of the many names and phrases of the "past" namespace to the oven! For example: The oven "before it was heated", the oven "from the past", the "original" oven,... etc.

So from that perspective then the only difference between FP and english is that variables once operated on, are moved to a different namespace. So literally just extra past-tense embellishment on English grammar is the ONLY difference.

It gets crazier than this. Is anything in reality really mutable? What does mutability even mean? We live in a universe where each instance of time is it's own namespace. The universe is a function of time. At t1 there is an oven, at t2 there is a heated oven. So really mutability is just syntactic sugar over immutability where just gloss over mentioning what time namespace we're in for convenience. Yes you heard that right. Everything is actually immutable and mutability doesn't exist. Our concept of "mutability" arises from language shortcuts we take and assumptions of present tense.

Either way from the examples this guy writes it's pretty obvious functional programming didn't click for him. He understands the rules like immutability and he sees all the crazy tricks and nutty types people associate with functional programming but he missed the big picture. Hopefully this explanation will let the concept of functional programming click a bit more with people.

There is in fact a deeper intuition for why functional programming is "better" than imperative programming. But that's another long explanation. Most people don't ever reach this point of realizing how functional programming is better. They could spend years doing functional programming and completely miss it. Instead they reach a state where they think functional programming is sort of a style of programming used to express intellectual arrogance with no practical benefits and they give it up and move back to imperative programming. Well, they are wrong and they missed a deeper understanding of a fundamental concept. If this sounds like you, I'm telling you... you missed the big picture.

Literally the OP is a picture perfect example of this. Completely missed the point of FP but spent enough time with FP to understand what a monad is, even though a monad isn't really technically an FP thing.

Convention to me would mean something that has been accepted just because it’s always been done that way and people didn’t really bother to question why.

You're wrong. The Thermodynamic laws are sort of axiomatic, meaning you really can't explain why energy is conserved. It's just experimentally shown to be maybe true, but no one knows why energy is conserved or has actually proved it to be true. It is totally "convention" as you defined it.

The caveat here is that entropy is not axiomatic. Entropy occurs as a consequence of probability. Probability is the real axiomatic assumption of the universe and entropy is a byproduct.

The thermodynamic laws were established before people fully understood the true nature of what was going on with entropy so these laws are sort of a hodge podge of axioms and derived theorems. From a temperature perspective these assumptions work so the laws still have their use. But the laws of thermodynamics aren't some elegant grouping of fundamental laws of the universe. It is a set of rules that are grouped arbitrarily.

But we’re verging on pedantry now so no point going down that route any further.

I find this attitude rude. You called him a troll than apologized then gave your final answer and dismissed any further discussion as "pedantry." Like wow, you get the last word and shut down anything else he has to say? You were rude to assume he was in jest and you're being rude again by saying any further discussion after your final statement is pedantry.

Either way I disagree with you. It's not pedantry. This discussion is about convention and the conservation of energy. Your statement is wrong.

If two things have a causative connection they ALWAYS have a correlation as well.

If two things have a correlative connection they don't always have a causative connection as well.

I never repurposed the word equal. But to say they are not equal is highly, highly inaccurate.

Correlation does not imply causation but causation DOES imply correlation. Applying the word not equal to this is not accurate at ALL.

Seems like pedant-ism but it's not. Trust me. Correlation is evidence for causation. But people always throw this term around as if finding a correlation between two things is utterly useless in determining causation.

It's like me presenting a witness who saw a murder occur. Technically speaking, the witness is evidence for murder, not proof of murder. This fact is obvious to everyone. It's completely useless to say something obvious along the lines of:

TESTIMONY != PROOF

The testimony is strong evidence for murder, as correlation is strong evidence for causation.

Seriously, someone just posts one line CORRELATION != CAUSATION and everyone just gathers around this misnomer as if it renders the correlation utterly useless and pointless. No. The correlation is a TESTIMONY to a murder. It is powerful evidence. Do not dismiss it based off some stupid statistical catch phrase.

Inaccurate.

This is a overused misnomer. Correlation is a necessary precursor to causation, but it's existence does not guarantee causation.

If correlation is established it doesn't automatically establish causation as well, but it functions as evidence for two possibilities:

The possibility of causation and the possibility of a shared causative source.

It is wrong to say they are not equal. They are equal in a really fuzzy way.

However, individuals do not necessarily inherit intelligence from their parents' genes. Seriously, who could think that you could build a lineage of "gifted persons" solely by genetically selecting the parents among the population of "gifted persons"?

Genes determine differences in intelligence between say a human and a dog or a human and a bird.

Genes also determine physical size, skin color and basically every difference in human attributes.

What black magic makes it so that these genes just happen to not at all influence intelligence among humans?

You can't see it but ideology is influencing your bias. You are unable to see how ludicrous it is to say intelligence isn't inherited when literally every single other thing is.

No. You don't understand science.

Science is about making a hypothesis and then verifying that hypothesis against observations. That's it.

One thing to note is that within science and therefore the universe as we know it, no hypothesis can be verified to be 100% true. In other words no statement about the universe can ever be proven true.

This occurs due to a number of things. First, all observations have statistical inaccuracies attached to them. Nothing is ever 100% accurate. Thus because observations aren't 100% accurate, observations can never be used to prove a statement with 100% accuracy as a consequence.

Second, the universe is unknown and thus at any point in time we can suddenly uncover and observe a completely new piece of evidence that totally invalidates all previous hypothesis.

I know what you're talking about in your post. But when you truly understand science you will see that the line between truth and belief is actually really blurry. Science has given us zero verified truths. It has only given us probabilities and likelihoods that we just assume (aka believe) to be true.

In fact the foundations of science function off axiomatic assumptions that logic is real and probability is real. These two aspects of reality can NEVER be verified as they are the tools we use to verify other things.

I hope this need for a citation comes from genuine curiosity and not some misguided ideological want to uphold the notion of equality in intelligence.

It just doesn't make sense given a more macroscopic view of things. If inheritance obviously controls the difference in intelligence between the human brain and the dog brain, or the cat brain, or the monkey brain, what black magic makes it so that among humans themselves inheritance controls very little of intelligence?

The 70% - 80% statistic seems like a ballpark estimate he pulled out of a anecdotal conclusion based off of a broad spectrum knowledge of the related scientific research. You likely aren't going to find a citation that proves this claim definitively. It does not mean that his point is incredulous nor does it mean that his point isn't part of common sense.

His point makes sense. It makes a lot of sense. The same sense as the fact that the covid vaccine protects against the virus even though for the longest time it was NEVER FDA approved (aka no strong citations). The conclusion was obvious despite not meeting the stringent verification of the FDA and many people were able to arrive at this conclusion without the science. Yet many people refused to believe the efficacy of the vaccine due to their political ideology.

I believe there's a similar biased attitude coming from the far left side of thinking. The unwillingness to see that the science and common sense points to an inescapable conclusion. There is no unseen magical force that makes all races, all genders and all peoples equal. There are differences, and the differences are biological and obvious.

Like literally genes control how ugly and how tall you are but not intelligence at all? By some crazy magic intelligence is the one thing that isn't at all influenced that much by genetics? Seriously, which viewpoint is more realistic here?

Seriously the same ultra left people who were calling out the anti-vacc people as stupid and unintelligent for refusing the vaccine are unable to see the exact same kind of ideological stupidity within themselves.