@leoncowle @confluency @kimvanwyk
Not sure why you think that this explanation is bad. So why do you take offense with it? One of the groundbreaking early computers used switches after all, image related.
To a lay audience I think the explanation is absolutely fine.
@julijane @confluency @kimvanwyk I'm going to politely (friendly!) disagree with you there. If someone asks me how an iPhone works, I'm not going to explain it in terms of vacuum tubes, irrespective of how important early vacuum tube computers were.
Also, it's a terrible explanation. It's not “one of the most important numbers in computing”. And they don't say why 8 "switches" are used. Why not 7? Or 9? 8 in their explanation *comes across* just as “oddly specific” as their original 256 claim.
@leoncowle @confluency @kimvanwyk And I have to disagree back. You are manufacturing offense with the explanation. They offer an explanation for the 8 switches, because they explain that this is then one byte.
But keep being offended if that floats your boat. Pay no attention to the fact that the article was not about bits and bytes at all and this is just an explanation added because of
even more complaints before.
I'm in nerd circles for almost 30 yrs and still get annoyed by nerd pedantry.
That was ... oddly specific.
@andthisismrspeacock @julijane @leoncowle @confluency @kimvanwyk
they could have used the pdp-8 model, 12 bit machine if I remember right, and gone 4096. which is 07777.
@leoncowle @julijane @confluency @kimvanwyk I know what happened; Some kind soul tried to explain bits to them.
They obviously failed, not thanks to their lack of effort, either. 😸
@julijane @leoncowle @kimvanwyk On a different note, I think people are getting overly fixated on your phrasing, and I can see that the conversation in this thread has taken a hostile turn which I think is uncalled for. I apologise for any part I had in sparking it off.
I don't want to scold anyone, but I'm politely asking that anyone replying considers that we may all be speaking "the same language", but we use different dialects and slang, and tone doesn't always translate. 3/3
@leoncowle @confluency @kimvanwyk
I like that they speak of variations.
Shouldn't WhatsApp have picked 255?
Doesn't the question why they picked 256 number make you even more worried if you you understand the significance 😳?
@waldi @realn2s Yes; if this is an actual hard size limit on the database field, it could be an index field rather than a size field.
But I doubt that it's anything like that, and think it's most likely that it's a soft limit, everything is stored in normal integer types which are *much* larger, and they picked 256 (and subsequently 512 and 1024) because they're nice round numbers!
I've picked powers of two all the time for this reason even though there was no underlying data type limit.
@confluency @realn2s Sorry, but they would not have chosen this limit, if it would not be the highest they can possible go without serious redesign.
If it would be a limit in their data store, they would have changed this limit.
So it must be somewhere else, aka in the client communication. And now you need to update all millions of millions of clients, keep it compatible and working. And if it is in the crypto, all user keys depend on it, so rekeying all users as well.
I assume it is not actually about the chat itself, but about the double ratchet group key management. It organizes keys in a binary tree, and adding or removing users involves rolling over a key on each level of the tree. 256 means the tree has 9 levels. So, the "oddly specific" number here is 9, and that in turn probably is "just one more than before".
@max @confluency
I'm pretty sure the 255 had no technical meaning but it's rather an "insider" (nerd) joke.
And possible technical meaning would really worry me.
To state it more clearly:
Do not use a byte to represent a number
(If you don't have a real good reason for it (like hw), and you should really know what you are doing!!!)
I suppose that makes sense if you can be in a whatsapp group with no participants 🤔
@sibrosan @confluency
I was surprised. But it seems possible
(Steps to reproduce: creat a WhatsApp group with another member, remove them and exit the group yourself)
@shroomie It seems you're really asking (and not trolling). 255 is the largest number you can hold in an unsigned 8-bit integer (“11111111” binary equals 255 decimal), also called a "byte”. So if the internal variable they're using as their member counter for this is an unsigned 8 bit integer, then it can't hold a number larger than 255. And 0-255 is 256 numbers.
(Note: they could be using a larger variable (i.e. with more bits), but only reserved 8 bits of it for this counter).
@AndyGER @leoncowle @Commander_KEEN
I hated those bouncing suckers! 👽 🖖
I'm actually more surprised the number isn't 255.
#Eloi are food.