Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Posted Aug 30, 2020 5:34 UTC (Sun) by epa (subscriber, #39769)In reply to: Software and hardware obsolescence in the kernel by mpr22
Parent article: Software and hardware obsolescence in the kernel
Posted Aug 30, 2020 8:16 UTC (Sun)
by amarao (guest, #87073)
[Link]
Posted Aug 30, 2020 10:19 UTC (Sun)
by mpr22 (subscriber, #60784)
[Link]
Posted Aug 30, 2020 14:49 UTC (Sun)
by pizza (subscriber, #46)
[Link] (13 responses)
Um, no. Arabic is written right-to-left, but numbers are written left-to-right, ie big-endian.
Now the numbers may be *read* right-to-left, or a mixture of the two ("125" is read as "one hundred five-and-twenty"), but in written form, they're left-to-right.
Posted Aug 30, 2020 18:05 UTC (Sun)
by epa (subscriber, #39769)
[Link] (12 responses)
I always assumed that Arabic numbers were written and read in the same order as the rest of the text, in other words with the least significant digit coming first (little-endian) but I freely admit I have no knowledge of the Arabic language so it could be more complex than I thought.
Posted Aug 30, 2020 19:57 UTC (Sun)
by pizza (subscriber, #46)
[Link] (11 responses)
Yep!
Posted Aug 31, 2020 6:34 UTC (Mon)
by epa (subscriber, #39769)
[Link] (10 responses)
Posted Aug 31, 2020 17:11 UTC (Mon)
by marcH (subscriber, #57642)
[Link]
This zig-zag doesn't feel like a very hard hand writing challenge, I mean not unless you have to deal with crazy long numbers. For computers and terminals it's apparently a bit harder :-)
> I guess that’s one concrete reason why left-to-right scripts are superior (apart from ink smudging).
Ink smudging _and_ hiding what you just wrote. Look at how left-handed people tend to bend their wrist, even with a pencil.
My urban legend is that right-to-left languages were superior for... carving. Ten commandments and all that :-)
Posted Aug 31, 2020 20:53 UTC (Mon)
by nybble41 (subscriber, #55106)
[Link] (7 responses)
They're read big-endian but written little-endian. Endianness is determined by the position (address) of each digit, not temporal order in which they're written. The least-significant digit is located at the lowest address, closest to the beginning of the text. When "serialized" (read aloud or subvocalized) the numbers are converted into big-endian format, with the most significant digit spoken first.
Posted Aug 31, 2020 21:22 UTC (Mon)
by marcH (subscriber, #57642)
[Link] (6 responses)
No because the numbers are not part of the text, they're a left-to-right insert in a right-to-left text. There are effectively two "address spaces" embedded in one another (a.k.a. "zig-zag").
As explained here, Arabic speakers start with the most significant digit when they read and write just like everyone else and that it is what should define what the "lowest address" is, otherwise non-Arabic speakers are misled into thinking Arabic speakers do something different which is exactly what happened in this thread. Speech readers would be confused too.
Posted Aug 31, 2020 22:22 UTC (Mon)
by nybble41 (subscriber, #55106)
[Link] (4 responses)
> As explained here, Arabic speakers start with the most significant digit when they read and write just like everyone else and that it is what should define what the "lowest address" is…
It doesn't make sense to talk about big-endian or little-endian without a single, consistent frame of reference for the addressing which is independent of the content. In a context where you would write the elements of a list right-to-left, that means starting with the lowest address on the right and monotonically increasing toward the left. Only after having defined this addressing scheme can we venture to answer whether the components of the list are written big-endian or little-endian with respect to that surrounding context.
The digit you read or write first (temporally, not spatially) has nothing to do with endianness. The order in which you wrote the digits is not part of the written record. Someone coming along later can't even tell what order the digits were recorded in; it makes no difference to them whether you wrote the least- or most-significant digit first. All they can see is the order of the digits as they are laid out visually on the page.
In serial communication the standard is different. There it matters which digit is pronounced first, because the temporal order of the symbols is *all* you can observe.
Posted Sep 1, 2020 1:23 UTC (Tue)
by marcH (subscriber, #57642)
[Link] (3 responses)
Of course they can, that's called "reading". I can hardly believe you wrote this...
Computers are not as smart though, so they may need some additional clues: https://www.w3.org/International/articles/inline-bidi-mar...
Posted Sep 1, 2020 15:01 UTC (Tue)
by nybble41 (subscriber, #55106)
[Link] (2 responses)
Are you being deliberately obtuse? If I sent you a picture of some digits I wrote left-to-right and some digits I wrote right-to-left, "reading" is not going to be enough to tell them apart. Here, I'll demonstrate:
1234
To simulate physical writing I filled both lines with spaces and then overwrote the spaces with digits. One line was filled in left-to-right, and the other line right-to-left. Please tell me, which one was written left-to-right?
Posted Sep 1, 2020 16:28 UTC (Tue)
by marcH (subscriber, #57642)
[Link] (1 responses)
I thought you were.
Natural languages are all about context, that's why computers need Unicode bidi = a bit more help. This has been well discussed and explained in several other places in this thread (thanks to all those who did) but if not obtuse you are definitely not receptive. Never mind.
Posted Sep 2, 2020 3:51 UTC (Wed)
by nybble41 (subscriber, #55106)
[Link]
Indeed, natural language is all about context. I get the feeling that we are talking about two completely different things and getting frustrated because the other person's answers make no sense in the context of what we each thought the conversation was about. I have been trying to describe how the terms "big-endian" or "little-endian" would apply to the *visual* layout of Arabic numerals *at rest*, for example as symbols written on paper—akin to the individual bytes of an integer field which is part of a larger structure stored in RAM or a file on disk. You seem to be interpreting my statements in the context of data which is *being* written, or read, or typed into a computer—a *serialization* of the data. Or perhaps you are referring to the particular way that the digits would be serialized as Unicode code points in a text file. Naturally my statements would seem like nonsense when taken that way; they were not intended for that context.
For data at rest there is no "time" component; all that matters is the relationships between the addresses or coordinates where each of the digits is stored. For digits written in a single line on paper this corresponds to linear physical coordinates; a digit may appear either to the left or the right of another symbol. In terms of the analogy to the storage of an array of multi-byte integers in computer memory, a system in which the most-significant digit of each number in a list of numbers is physically located on the same side as the first element of the list is "big-endian" and a system in which the least-significant digit is physically closest to the first element of the list is "little-endian". Any given serialization of the data (the process of reading or writing, for example) may employ a different "endianness" independent of the visual layout, and indeed that is the case for Arabic numerals: they are stored or rendered (on paper or other visual medium) as little-endian, but read, written, typed, or spoken aloud with the most significant digit first, in big-endian format.
Anyway, this debate is almost as pointless as the fictional conflict from which we get the terms "big-endian" and "little-endian".[1] I only replied in hopes of conveying that we are arguing *past* each other more than we are actually disagreeing about anything of substance.
[1] https://www.ling.upenn.edu/courses/Spring_2003/ling538/Le...
Posted Aug 31, 2020 23:23 UTC (Mon)
by kjpye (subscriber, #81527)
[Link]
If you are reading a number like 8034175, you start "eight million", but you can't get past the "eight" until you have scanned from the right of the number to the left to determine the magnitude.
So a non-Arabic speaker will read left to right, encounter the number and skip to the end of the number and scan back to determine the magnitude and then read the number left to right and continue reading towards the right.
An Arabic speaker will encounter the right-hand end of the number first, scan across it to determine the magnitude and then read the number left to right. Then they will jump back to the left of the number and continue reading towards the left.
The only real difference is in whether the jump occurs before reading the number (non-Arabic) or after (Arabic).
Posted Sep 1, 2020 0:43 UTC (Tue)
by notriddle (subscriber, #130608)
[Link]
Figure out the endianness of THAT notation!
Posted Aug 30, 2020 15:14 UTC (Sun)
by jem (subscriber, #24231)
[Link] (9 responses)
Or are they? As is common knowledge, Arabic is written right-to-left, but it is my understanding that numbers are read left-to-right. Digits are shown in the same order as in Western scripts, for example two hundred and thirty-five is "235" or "٢٣٥", depending on whether Western Arabic or Eastern Arabic (Hindi) numerals are used. When this number is read, the reader first looks at the hundreds. Likewise, when numbers are entered on a device, the input system temporarily changes direction to left-to-right, so the digits are entered in the order 2, 3, 5 and the result is displayed as "235". Reference: Numbers in Arabic.
Posted Aug 30, 2020 17:31 UTC (Sun)
by karkhaz (subscriber, #99844)
[Link] (8 responses)
This is precisely what little-endian means, right? Consider the following sequence of four numbers, written in an LTR language like English. You start reading at X and finish reading at Y.
X 123 555 1234 Y
In Arabic, this sequence is written as
Y ۱۲٣٤ ۵۵۵ ۱۲٣ X
In English, your eyes continuously move from left-to-right. In Arabic, your eyes zig-zag across the page: from right-to-left to read the sentence, but from left-to-right when reading each of the three numbers. This is analogous to little-endian, where the bytes within a structure are laid out in opposite direction to the addresses of the structures.
Posted Aug 30, 2020 18:41 UTC (Sun)
by jem (subscriber, #24231)
[Link] (2 responses)
Posted Oct 14, 2020 10:50 UTC (Wed)
by immibis (subscriber, #105511)
[Link] (1 responses)
I don't think so.
Posted Oct 14, 2020 18:31 UTC (Wed)
by nybble41 (subscriber, #55106)
[Link]
Yes, the serialization of the word on the 8-bit bus would be accurately labeled big-endian if the MSB is transferred first—not that this would be observable to software. The storage would still be little-endian since the LSB is stored at the lowest-numbered address. This can be confirmed by accessing the same memory address with byte- and word-oriented instructions.
Posted Aug 30, 2020 18:51 UTC (Sun)
by iabervon (subscriber, #722)
[Link] (4 responses)
I expect that, if you grew up using big-endian numbers and then learn Arabic and see a number in it, you'll zig-zag. But if you grew up with Arabic, you'll read "1234 555 123" as "three, twenty, one hundred; five, fifty, five hundred; four, thirty, two hundred, one thousand", going right-to-left through the number.
I suspect that big-endian practice comes from a culture that used Roman numerals, which start with the highest-value information and don't require knowing how many more digits are coming to assign a value to the first digit, getting Arabic texts on arithmetic and keeping the computation the same while translating the explanation, and the Arabic texts had the ones digit on the right because that's the first digit you produce in addition, multiplication, or subtraction, and they put the first digit of a number where they put the first letter of a word.
Posted Aug 30, 2020 19:26 UTC (Sun)
by karkhaz (subscriber, #99844)
[Link] (3 responses)
No, this really isn't the case. Native Arabic readers don't start reading the lowest-magnitude digit first, they skip to the largest digit and read left-to-right. Both when reading, and when uttering the number (with the exception that units are uttered before tens).
As another example, consider the date range 1979-2020. In Arabic this is written ١٩٧٩-٢٠٢٠ and pronounced "one thousand and nine hundred and nine and seventy to two thousand and twenty".
Posted Aug 30, 2020 21:23 UTC (Sun)
by karkhaz (subscriber, #99844)
[Link]
[1] https://lwn.net/Articles/749992/
Posted Aug 30, 2020 22:47 UTC (Sun)
by marcH (subscriber, #57642)
[Link]
Very useful thanks, I suspected such a "full zig-zag" but wasn't sure.
I admit I didn't consider right-to-left languages at the time I wrote "human numbers are big endian" above. Thank you right-to-left languages for this making this zig-zag exception and keeping my statement correct, much appreciated :-)
More seriously, it's easy to imagine the rationale for this zig-zag:
Posted Aug 31, 2020 20:46 UTC (Mon)
by nybble41 (subscriber, #55106)
[Link]
So numbers are written in little-endian notation (given right-to-left addressing for "unstructured" data, i.e. plain text), and converted to big-endian when "serialized" (spoken aloud) without rearranging the rest of the text. That sounds exactly like a traditional little-endian network stack to me.
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
1234
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
In Arabic, for example, written numerals are little-endian.
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
Software and hardware obsolescence in the kernel
[2] https://en.wikipedia.org/wiki/Bidirectional_text#Unicode_...
Software and hardware obsolescence in the kernel
- Numbering "compatibility" with other languages of course, and
- All humans of all languages seem interested by the Most Significant digits first; e.g. "rounding".
Software and hardware obsolescence in the kernel