• 1 Post
  • 171 Comments
Joined 11 months ago
cake
Cake day: October 19th, 2023

help-circle
  • My argument is purely pedantic. Pedantry is the lifeblood of programmer “humour”.

    I’m not arguing that we should adopt zero-based numberingin real-life human applications. I am arguing that in zero-based numbering, the label “zeroth” refers to the same ordinal as “first” in one-based numbering. I am poking fun at the conversion between human one-based numbering and computers’ zero-based numbering. That is why I am saying it should be called zeroth(); because human language should adapt to match the zero-based numbering their tools use. Whether I actually mean what I say—well, I leave that up to you.

    It does not matter why indexes start from zero in computing. The memory offset argument is only salient if you are using it as an argument for why computers should use zero-based numbering. It is not an argument against the properties of zero-based numbering itself.


  • Zero-based indexing redefines the meaning of the labels “first”, “second”, “third”, and so on. It adds a new label, “zeroth”, which has the same ordinal value as “first” in one-based indexing. The word “first” does not mean “the element with the lowest index” in zero-based indexing.

    If you are using a zero-based numbering system, you would absolutely say that array[2] is the final element in the array, that element having the ordinal label “second”, and yet the length of the array is 3 (cardinal). There is no fundamental connection between the ordinal labels “zeroth”, “first”, “second”, and “third” and the cardinal numbers 0, 1, 2, and 3. The similarities are purely an artefact of human language, which is arbitrary anyway. You can make an equally mathematically valid ordinal numbering system that assigns “third” to the element with the smallest index, “fourth” to the next-smallest, and so on. That ordinal numbering system is mathematically coherent and valid, but you’re just causing trouble for yourself when it comes time to convert those ordinals (such as array indexes) into cardinals (such as memory locations or lengths of fencing to buy).

    You can make an argument for why one-based numbering is more convenient and easier to use, but you cannot use the notion that zero-based numbering doesn’t make sense given the assumed context of one-based numbering as an argument for why zero-based numbering is invalid.

    I encourage you read up what is meant by “zero based numbering” because you and everyone else who has replied to me has tried to use “but that’s not how it works in one-based numbering” as an explanation for why I’m wrong. This is as nonsensical of an argument as trying to say i (the imaginary unit) is not a number because it’s not on the number line. It’s only not a number in the domain of the real numbers. Similarly, zero-based numbering is only nonsensical in the context of one-based indexing.

    It does not matter why indexes start from zero. The memory offset argument is only salient if you are using it as an argument for why computers should use zero-based numbering.


  • Okay, I will admit, you got me there. I did confuse indexing with numbering. From now on I will use the term “numbering” instead.

    It is entirely how ordinal numbers work in zero-based numbering. There is no “right way” for ordinal numbers to work. You can create a valid ordinal numbering system starting from any integer, or just some other ordered list. You cannot assume one-based numbering is “correct” and use it as an argument against numbering beginning from any other number.

    I encourage you read up what is meant by “zero based numbering” because you and everyone else who has replied to me has tried to use “but that’s not how it works in one-based numbering” as an explanation for why I’m wrong. This is as nonsensical of an argument as trying to say i (the imaginary unit) is not a number because it’s not on the number line. It’s only not a number in the domain of the real numbers. Similarly, zero-based numbering is only nonsensical in the context of one-based indexing.

    Zero-based numbering would number “foo” as the zeroth element, “bar” as the first element, and “baz” as the second element. “zeroth”, “first”, and “second” are labels representing ordinals. Your list has a length of 3 (which is a cardinal quantity unrelated to ordinals).

    Although, I would like to point out, it is perfectly valid to construct an ordinal labelling system that assigns “fifth” to the element with the lowest index, “sixth” to the next, and so on. That system is mathematically coherent but it is just troublesome to when it comes time to convert ordinal numbers (such as the index of the last fence-post) to cardinal numbers (such as the length of fence to buy).

    But this is now getting into the weeds of pure mathematics and most people here are engineers.


  • That’s because the word “first” in first() uses one-based indexing. In true programmer fashion it would have been called zeroth() but that is wholly unintuitive to most humans.

    I maintain that the element with the lowest index is called the “zeroth” element in zero-based indexing and “first” in one-based indexing. The element with index N is the Nth element.



  • Rulers measure cardinal quantities and not ordinal ones. There is no cardinal numbering scheme that starts at 1, all of them “start” at 0. For ordinal numbering schemes, the symbols are arbitrary anyway and you can start with whatever you want. It’s equally valid to start with 1, 0, -1, A, or “aardvark”. The only benefit to picking 1 as the start is to make it easier to count with your fingers while picking 0 lets you easily convert an ordinal quantity to a cardinal one.


  • Gold is nothing if not something that can be easily and efficiently smuggled. The gold can be simply re-cast into generic gold bars or minted into back-dated Russian bullion coins. Just one passenger car can smuggle millions of dollars of gold across the border while attracting little scrutiny. From then, it can simply be easily sold to bullion dealers. Then the cash can be ferried back across the border or deposited in accounts at Kremlin-friendly banks.

    If you have a network of agents doing this, you could probably offload thousands of ounces worth millions of dollars a month.

    There’s also the simple option of sending it all to a shady Chinese commodities exchange.





  • Other people have described the health effects, so I’ll describe the chemistry. Fats are made of long chains of carbon atoms surrounded by hydrogen atoms attached to a “head”, which is made of other elements or structures. Carbon atoms normally can make a total of 4 bonds. Hydrogen atoms can make 1 bond.

    Carbon being able to make 4 bonds means that in the chain of carbon and hydrogen atoms in fat molecules, each carbon atom makes a bond with the carbon atom before it in the chain, a bond with the carbon atom after it in the chain, and then bonds with two hydrogen atoms separately off to the side. This makes a total of 4 bonds. If all of the carbon atoms in the chain are like this, that’s “saturated fat”, because the chain of carbon is completely “saturated” with hydrogen atoms.

    (Hydrogen atoms are white, carbon atoms are black, oxygen atoms are red)

    Saturated fats have the often desirable property of being able to be tightly packed together, and thus are typically solid at room temperature. Butterfat is mostly saturated fat.

    However, carbon atoms can also make a double bond with other carbon atoms. If a particular carbon atom in the chain makes a double bond with the carbon atom before it, it could cause a bend in the chain of carbon atoms. In that case, it also means that those particular carbon atoms in the chain that have formed a double bond with each other only have 1 available bond left (after also forming a separate single bond with the carbon atom before or after it), so it can only bond with one hydrogen atom. These are, therefore, called “unsaturated fats”, and because they don’t pack together easily, they are typically liquid at room temperature.

    If there is a single double bond in the chain, it’s a monounsaturated fat.

    If there are two or more double bonds, it’s a polyunsaturated fat.

    Notice how the hydrogen atoms connected to the double-bonded carbon atoms in unsaturated fats can be connected to either the same side or the opposite sides of the two hydrogen atoms. If they’re on the same side, they are called cis-unsaturated fats. If they’re on opposite sides, they are trans-unsaturated fats, or trans fats in short.

    This is oleic acid, a cis monounsaturated fat commonly found in many vegetable oils:

    While this is vaccenic acid, a trans-monounsaturated fat. It is found naturally in butter and human milk and is not particularly bad for you:

    Note that this is NOT the same picture as the one I showed for saturated fat. The 7th and 8th carbon atoms from the left are double-bonded and, therefore, are each missing a hydrogen atom. The one remaining hydrogen atom on each is bonded on opposite sides.

    Note that trans-unsaturated fats are also pretty straight. This means that they can also pack together with saturated fats to make a solid product at room temperature.

    “Hydrogenation” is the process of adding hydrogen to unsaturated fats to saturate them. This means that liquid oil can be processed into a solid product. That’s how margarine and shortening are made. In previous years, partially hydrogenated oils that weren’t fully hydrogenated could leave substantial quantities of trans-unsaturated fats left in the product, but after health concerns, many countries’ food safety authorities banned these artificial trans fats. Fully hydrogenated fats consist of only saturated fats since they have been “fully” hydrogenated, and that is what food manufacturers have been doing instead.








  • NateNate60@lemmy.worldtoNot The Onion@lemmy.world*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    23
    arrow-down
    1
    ·
    29 days ago

    This is a legitimate concern, but I also question Mexico’s ability to adhere to those standards and administer justice correctly when El Chapo managed to give them the slip twice, even while under “maximum security”.

    People suspect that this argument is not being made by Mexican authorities in good faith, and it is easy to understand why people think that.