How does this only have 200 views. It’s so high quality and actually taught me stuff. I’ve always kind of understood binary but it never really clicked until I watched this. Keep it up
0:15 -"Chicken noodle" -"they've stocked their shelves with soups" -"Chicken noodle" -"More than you'd find in some convenience stores" -"Chicken noodle"
Haha glad you found it useful. Even while I was doing my comp sci degree I didn't properly understand binary, it didn't really click for me how simple it is until much later 🙂
Y2K38 is what I'm concerned about. Halfway through January, the number of seconds since 2024-01-01T00:00:00Z will surpass 2^31. Due to the pervasiveness of 32-bit signed integers being the default integral type, this will *truly* cause an overflow for systems that store these seconds as such, meaning dates will turn back to December 1901.
Wouldn't the 64-bit processor effectively negate Y2K38 problem? Since they're able to store larger numbers while still keeping up with the EPOCH from 1970?
@@Token2-jw2nt That would work, and that is how modern time is treated. With 64-bits, we can store the current age of the universe 42 times over. However, though most systems are 64-bit nowadays, that doesn't mean software is the same. Most software is written in languages like C, C++, Java, and others. In those languages, `int` represents a 32-bit signed integer (on a majority of machines), regardless of native word size, and since it is the shortest and first type to be created, it has become the most common type, so I wouldn't be surprised if it were used to store time. Only one conversion of an epoch to 32-bits is enough to cause an overflow, so even if the storage is well-defined, if the logic is faulty or overlooked, the result will still have that overflow. Nowadays, unbiased, fixed-size types like `uint64_t` are way more common, and languages like Rust use this nomeclature for their types (u64), but "nowadays" is the antithesis to a surprising amount of infrastructure.
I love weird al. this is a huge compliment. I memorised all the lyrics to "living with a hernia" when I was 8 despite having no idea what a hernia was. good times
There's a little bit more to this. One being the 19 in 1999 was hard coded into a lot a hardware. Also, the comment "unfounded concerns" is not correct. There were issues because of Y2K that did occur but thanks to a lot of work, the biggest issues were sparred. Now train and plane accidents could have happened due to random scheduling conflicts, that part was still highly exaggerated.
okay i get the BCD mode and all ... but then again - where is the actual problem with 00? like you said, calculating with the data in BCD is complex, so its still not like 99 < 00 or what am i missing here? going from 1001 to 0000 should be perfectly normal transition and not something out of the ordinary?
If you're representing dates with regular binary, doing 99 + 1 will give you 100. Which might cause some weird display bugs, like 1999 -> 19100, but at least comparing binary 100 with binary 99 will still work correctly. In BCD mode, doing 99 + 1 will overflow in the hardware to 00, and as a result the computer will think those dates with year 00 (that should be 100) were actually before 1999, not after 🙂
Imagine a program that stores documents. Let’s say one of its features is telling you when a document was last updated. It displays it as “last updated X years ago”. Let’s say it does this by subtracting the year the document was updated from the current year. 2005 - 1999 = 6. “Last updated 6 years ago” Now what if the dates are stores in BCD to save space? 05 - 99 = -94 or maybe even just 94. So… “Last updated -94 years ago”? And that’s just one example. Imagine if the month and year of your loan were stored this way. Then whenever you calculate interest, the difference would underflow and give you either a negative number or a large positive number. Both wrong, resulting in ridiculous calculations.
Calling it a bug was kind of a misnomer. It was a design choice that worked for the time it was implemented. Almost nobody would have predicted those machines would have still been in service for so long for this concern to arise. It wasn't so much a buffer overflow precicely that was at issue but an uncertainty on what the machine would do when vague and imprecise data was suddenly produced. For some machines if a date that was before another, i.e. 00 following 99, suddenly appeared when it must be sequential than a problem would presumably arise. Supposedly, a person received a hefty late fee from Blockbuster because they rented a movie the week of, and when they went to return it, the system showed they had rented the movie for nearly a century. The whole thing is a great explanation for the fact that computers do only exactly what they are programmed to do. Nothing more, nothing less.
How does this only have 200 views. It’s so high quality and actually taught me stuff. I’ve always kind of understood binary but it never really clicked until I watched this. Keep it up
Thanks you! And who cares about the views, it's important to me that people actually learn something useful by watching it 🙂
0:15
-"Chicken noodle"
-"they've stocked their shelves with soups"
-"Chicken noodle"
-"More than you'd find in some convenience stores"
-"Chicken noodle"
Some say he's still eating chicken noodle to this day.
14:45
this is something that always confused me about Y2K, thanks for explaining!
You're welcome, glad you enjoyed it 🙂
how did a video with 267 views teach me what binary is and school didnt? I'm 25 why am I only learning this now?
Haha glad you found it useful. Even while I was doing my comp sci degree I didn't properly understand binary, it didn't really click for me how simple it is until much later 🙂
Incredibly well made video! Can't believe this is just 700 views!
Thank you, I had fun making it so I'm glad you enjoyed watching it!
Y2K38 is what I'm concerned about. Halfway through January, the number of seconds since 2024-01-01T00:00:00Z will surpass 2^31. Due to the pervasiveness of 32-bit signed integers being the default integral type, this will *truly* cause an overflow for systems that store these seconds as such, meaning dates will turn back to December 1901.
Oh yeah 2038 is wild. I figure I'll be living in a cave in the woods by then though so all good
Wouldn't the 64-bit processor effectively negate Y2K38 problem? Since they're able to store larger numbers while still keeping up with the EPOCH from 1970?
@@Token2-jw2nt That would work, and that is how modern time is treated. With 64-bits, we can store the current age of the universe 42 times over. However, though most systems are 64-bit nowadays, that doesn't mean software is the same. Most software is written in languages like C, C++, Java, and others. In those languages, `int` represents a 32-bit signed integer (on a majority of machines), regardless of native word size, and since it is the shortest and first type to be created, it has become the most common type, so I wouldn't be surprised if it were used to store time. Only one conversion of an epoch to 32-bits is enough to cause an overflow, so even if the storage is well-defined, if the logic is faulty or overlooked, the result will still have that overflow. Nowadays, unbiased, fixed-size types like `uint64_t` are way more common, and languages like Rust use this nomeclature for their types (u64), but "nowadays" is the antithesis to a surprising amount of infrastructure.
this was really good, you should do more stuff in this style
Thanks, I definitely plan to!
now imagine if they converted between base 16 and back :3
welcome to the year 7D0
Amazing video! I have been wondering about this for quite a long time so it's really nice to finally have an explanation of it!
Thanks! It's one of those "nerd sniping" types of things for sure, felt great when I finally found an explanation that made sense 😁
Brilliant content as always!
Thanks man!
Happy Brithday! Nice vid Nic ;)
Thanks man!
Great video
Cheers!
This is some quality content here. Thought you were a larger youtuber!
Also you looked like wierd al
I love weird al. this is a huge compliment. I memorised all the lyrics to "living with a hernia" when I was 8 despite having no idea what a hernia was. good times
There's a little bit more to this. One being the 19 in 1999 was hard coded into a lot a hardware. Also, the comment "unfounded concerns" is not correct. There were issues because of Y2K that did occur but thanks to a lot of work, the biggest issues were sparred. Now train and plane accidents could have happened due to random scheduling conflicts, that part was still highly exaggerated.
computer go boom
true
chicken noodle
chicken noodle
c̶͉̃̌h̷̳̺̭̙̳̿͑̍̈́͠į̴̯͕̓c̸̨̰͖̼̭̄̈́̏k̵̳̳̬̼̖͋̐e̸͖͂̎ǹ̸͔̦̖̤ͅ ̸̠̦͇͆̎n̵̡̢̹̤̿̄͑̈o̷̘̺͇̽̊̆͜͜ô̶̳̻̕d̵̼͓͘l̴̜̊̈́̉͌͝e̷̱͉̼̞̗͂̀̂̃̒
okay i get the BCD mode and all ... but then again - where is the actual problem with 00? like you said, calculating with the data in BCD is complex, so its still not like 99 < 00 or what am i missing here? going from 1001 to 0000 should be perfectly normal transition and not something out of the ordinary?
If you're representing dates with regular binary, doing 99 + 1 will give you 100. Which might cause some weird display bugs, like 1999 -> 19100, but at least comparing binary 100 with binary 99 will still work correctly. In BCD mode, doing 99 + 1 will overflow in the hardware to 00, and as a result the computer will think those dates with year 00 (that should be 100) were actually before 1999, not after 🙂
Imagine a program that stores documents.
Let’s say one of its features is telling you when a document was last updated.
It displays it as “last updated X years ago”.
Let’s say it does this by subtracting the year the document was updated from the current year.
2005 - 1999 = 6.
“Last updated 6 years ago”
Now what if the dates are stores in BCD to save space?
05 - 99 = -94 or maybe even just 94.
So… “Last updated -94 years ago”?
And that’s just one example.
Imagine if the month and year of your loan were stored this way. Then whenever you calculate interest, the difference would underflow and give you either a negative number or a large positive number. Both wrong, resulting in ridiculous calculations.
@nicbarkeragain & @@fullfungo ah okay, got it thanks :)
needs more views for a video like this
thank you, glad you enjoyed it!
great video
Thank you!
Calling it a bug was kind of a misnomer. It was a design choice that worked for the time it was implemented. Almost nobody would have predicted those machines would have still been in service for so long for this concern to arise. It wasn't so much a buffer overflow precicely that was at issue but an uncertainty on what the machine would do when vague and imprecise data was suddenly produced. For some machines if a date that was before another, i.e. 00 following 99, suddenly appeared when it must be sequential than a problem would presumably arise.
Supposedly, a person received a hefty late fee from Blockbuster because they rented a movie the week of, and when they went to return it, the system showed they had rented the movie for nearly a century.
The whole thing is a great explanation for the fact that computers do only exactly what they are programmed to do. Nothing more, nothing less.
I am blown away on how good this is. And thank you for explaining what all the fuss the adults were on about then.
So glad you enjoyed it! And you're welcome, I love sharing obscure information about this kind of thing 😁
8:36 is that the baldis basics old escape noise
I'll be honest I had never heard of this. But I looked it up and you're totally right 🏎️🏎️🏎️🏎️
Wrong, problem was suspected that buffer overflows could poasibly happen when converting numbers to text.
Me.
you monster
I know everyone else is saying this, but it's insane how little views and subscribers you have at this quality of content
Thank you! The quality is more important to me than the views, for sure 😁
288 subs... 288 SUBS?
You have the power to increase this number by 0.34% 😎
Chicken noodle
Chicken noodle