Тёмный

How commas broke the Pokémon calculator but fixed an exchange rate. 

Matt_Parker_2
Подписаться 145 тыс.
Просмотров 200 тыс.
50% 1

Comma, comma, comma, comma, comma calculation.
Check out Tom’s video over on ‪@TomRocksMaths‬ • The Pokédex is WEIRD (...
Let me know if you find a better currency pair which swaps 1:1000 and ,:.
And do send in your Pokémon calculator theories.
PS This is my second channel. Main channel videos are over here: / standupmaths
Various filming and editing done by Nico Turner, Alex Genn-Bash and Matt Parker; none of whom finished the job to their usual high professional standards.

Опубликовано:

 

22 ноя 2022

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 844   
@Naftoreiclag
@Naftoreiclag Год назад
Commas can dramatically change the meaning of a sentence: "I like to eat fruit." becomes "I like to eat commas." Very different meaning.
@Stephen-Fox
@Stephen-Fox Год назад
Indeed. I once trapped a character in a giant punctuation mark because I misspelt coma. Fortunately, it was a surrealist comedy so it worked.
@nebulisnoobis102
@nebulisnoobis102 Год назад
“I devour children” becomes “comma”. Truly dangerous
@cynodont7391
@cynodont7391 Год назад
I do not see your comma!
@malcolmmclean6394
@malcolmmclean6394 Год назад
Everyone is entitled to their own comma!
@thomasreese2816
@thomasreese2816 Год назад
Semicolons change it even more drastically...
@NabeelFarooqui
@NabeelFarooqui Год назад
This is the closest we've been to another episode of calculator unboxing/review
@andykillsu
@andykillsu Год назад
WE NEED MORE OF THEM 🥲
@BrunsterCoelho
@BrunsterCoelho Год назад
I miss these sooooo much
@notmyname327
@notmyname327 Год назад
You just reminded me of those amazing videos. I'll have to give them another watch
@goatmeal5241
@goatmeal5241 Год назад
Buying a nintendo switch and a specific game just to use and review the in-game calculator isn't actually that far off-brand for one of those...
@green929392
@green929392 Год назад
Another one would be great
@lydianlights
@lydianlights Год назад
Dont worry Matt, we all know this video just now came out because it took a year for your Python code to finish running 🤣
@Matt.Parker2.
@Matt.Parker2. Год назад
Thanks for your support and feedback ᴛᴇxᴛ ᴍᴇ ᴏɴ ᴛᴇʟᴇɢʀᴀᴍ ᴀᴛ ᴍᴀᴛᴛᴘᴀʀᴋᴇʀ2 You won a Mystery Box...🎁 Message me right away.. Merry Christmas and a happy new year.💌
@tharsis
@tharsis Год назад
Here's a little fact. Braille gets around the dot/comma issue for decimal separators by simply using a third symbol that's (usually) different from the others (same for the thousands separator if it's used). There's also the fact that strings of numbers in braille are first marked by a special universal symbol (Unless you're from France, which uses a different symbol and characters for numbers. French Canadian braille *does* use the universal numbering system which is extra fun to deal with.) This symbol essentially 'switches modes', meaning that after it, each symbol you read should be interpreted as a number until you're told to return back to text (This can be implicitly indicated by a space). This means that while our Western Arabic numerals are pretty standard across the planet, braille has even greater universality. Unless you're from France. Or Luxembourg.
@imatwink
@imatwink Год назад
neato
@mytech6779
@mytech6779 Год назад
yeah but the french still count in groups of 20
@cheaterman49
@cheaterman49 Год назад
@@mytech6779 lol you mean because eighty is quatre-vingts? I'd call it pretty unimaginative for sure but I can assure you we don't count in groups of 20 - and we're not particularly good with dozens either, which our Imperial-measurement-using friends are :-)
@mytech6779
@mytech6779 Год назад
@@cheaterman49 Oh, so 78 isn't Soixante-dix-huit ?(sixty eighteen) And base twelve is amazing for fractions. and fractions are good for algebra.
@MushookieMan
@MushookieMan Год назад
The fact that it can be "implicitly indicated by a space" is how you know it's a bad system. What about lists of numbers separated by spaces? Braille is overloaded, every symbol has roughly three meanings and as you just said, they are context dependent so they don't have unambiguous meanings.
@apfel1appelmann
@apfel1appelmann Год назад
A similar thing happened to me when I went to Kyrgyzstan. The exchange rate between the Euro and the kyrgyz Som happened to be 1 to 100. The kyrgyz Som’s abbreviation is a capital S. But, because Cyrillic is used in Kyrgyzstan the S is written as a C, that’s also the abbreviation of the Euro cent, sometimes. So for me, every price tag in Kyrgyzstan was written in Euro cents and no conversion was needed.
@Peter_1986
@Peter_1986 Год назад
In Sweden it is convention to use the comma as a decimal, and this is extremely annoying whenever we do online tests of any kind, because we always have to keep in mind that those online tests read commas as decimals, which is completely different from how our university course books - which tend to mostly be in English - do it.
@scott5146
@scott5146 Год назад
It's also fun with CSV files when you have a comma as decimal separator :-)
@DavidSavinainen
@DavidSavinainen Год назад
In addition, we don't have a dedicated symbol for thousands separator; we most commonly use spaces.
@RQLexi
@RQLexi Год назад
I once got a B on a programming exam that should have been an easy A just because I spent half the exam time hunting down a bug only to find it was a decimal separator confusion 😅
@srwapo
@srwapo Год назад
My mom's keyboard is set to type Polish characters, which makes the dot in the number pad a comma and that messes me up all the time.
@theHalken
@theHalken Год назад
@@scott5146 And that is "solved" by using semi-colon instead of comma as the separator in comma separated values. AND still calling them comma separated values. Even in translation. When they are semi-colon separated values. Always a "fun" exercise to load CSVs into and out of Excel...
@KarolOfGutovo
@KarolOfGutovo Год назад
The humble,
@justyourfriendlyneighborho903
@justyourfriendlyneighborho903 11 месяцев назад
The humble,.
@jh-ec7si
@jh-ec7si 11 месяцев назад
It's great
@TheNotSoChibiRobo
@TheNotSoChibiRobo 10 месяцев назад
The arrogant;
@IcyMidnight
@IcyMidnight Год назад
When I was in Japan it was pretty close to 100 JPY to 1 USD, so I just treated the yen as US cents. It was very convenient and illustrated to me that you don't really gain anything by having two tiers of currency.
@WackoMcGoose
@WackoMcGoose Год назад
That's usually how I like to think of it in games in general. Pokedollars, Bells, Zenny... the in-game prices make a lot more sense if you think of them as JPY, then knock two zeroes off to get USD. That froggy chair isn't 4,500 Bells, it's $45.
@paishocajun
@paishocajun Год назад
@@WackoMcGoose exactly. pokeballs aren't $200, they're $2.00
@bobon123
@bobon123 Год назад
That's also why it is so nice the International System of Units, you have a lot of these nice events that makes you happy.
@nickfifteen
@nickfifteen Год назад
I've also been able to think the same with Korean Won, but it's 1000 KRW to 1 USD. So when something in Korea is, like, "₩4,500", I see "$4.50(0)". Like with Japanese Yen, it's super convenient.
@steindororngunnarsson3846
@steindororngunnarsson3846 Год назад
As an icelander yen are super convenient to use since it's mostly 1:1 with isk so if something is 5000¥ it's 5000kr so using yen online is super convenient
@Yossus
@Yossus Год назад
As a maths and physics teacher, the decimal dot/comma thing is a source of great befuddlement to my students. In Germany, we use the comma as the decimal separator, but the GeoGebra app we use as a calculator these days has the English decimal dot. Not only that, but there's a comma right there in the interface to separate coordinates! Only you end up with imaginary numbers if you use it for maths.
@codyswanner6064
@codyswanner6064 Год назад
The last scenario, where the number jumps around when typing in a comma -- they attempted to type 2.3654 and the numbers as displayed were 2, 3.3, 6.36, 5.365, 4.3654. You'll notice that for each of these, the whole number matches the last decimal entered. It's assigning the user input as a new decimal value, AND as the whole number value. It would make sense that this could somehow be again related to the comma separator, maybe the way the program reads the user input searches for a decimal specifically and when there is no period (because it's a comma) there's some kind of overlap in the function for assigning new decimal digits as well as the leading whole number digit. Conjecture town, population plus one.
@johnchessant3012
@johnchessant3012 Год назад
I think why this and the Casio rational pi one you did a while back are so compelling is that it hurts to see a friend who is broken and throwing up question marks. We need to figure out what is wrong.
@ForestFire369
@ForestFire369 Год назад
Homie's going through hard times
@TrimutiusToo
@TrimutiusToo Год назад
Oooh... I was born in Russia where comma is used as decimal separator and then moved to Canada where dot is used... it was confusing at first indeed... The most annoying thing about it is Excel really, as depending on which language I choose it swaps about separators too...
@jomialsipi
@jomialsipi Год назад
Excel is always the worst.
@lars3509
@lars3509 Год назад
Not only that... I find it annoying that Excel actually translates function names to the different languages. So for example it is IF(...) in english, but WENN(...) in german... Really annoying if you're switching. Also it the comma conversion can lead to errors when importing foreign Excel-Sheets or CSV-files
@lunasophia9002
@lunasophia9002 Год назад
You're telling me that a company that has been infamously jingoistic for decades writes software with internationalization bugs? No way!
@TrimutiusToo
@TrimutiusToo Год назад
@@lunasophia9002 it is not even bugs, it is features...
@aquatazer
@aquatazer Год назад
In one of my university classes this semester, I had to learn some Excel functions. I’m American, and I was so confused why the function continued to not work. I Google it, and it turns out that Excel uses commas as decimal separators instead of periods. I was so frustrated for such a simple reason.
@wobaguk
@wobaguk Год назад
Im faintly disappointed that we got through an entire video about commas casuing computer errors and there wasnt a single mention of a CSV file.
@minigolfkid
@minigolfkid Год назад
I think that’s pretty much out of current generation purview. those of us who dealt with those damn files have pretty much retired - and made someone else just re-type everything.
@emilyk5003
@emilyk5003 Год назад
@@minigolfkid do you truly believe CSVs haven’t been used in 40 years??? I used one last week.
@davidmartensson273
@davidmartensson273 Год назад
@@emilyk5003 Its used all over the place, at least in any larger company or if you have connections to any government organization.
@xizar0rg
@xizar0rg Год назад
Back when I was stationed in Japan, the exchange rate was pretty close to 1 penny to 1 yen, which made price conversions fairly trivial.
@columbus8myhw
@columbus8myhw Год назад
This was the case until basically just a few months ago!
@max_pin
@max_pin Год назад
After WWII, the Americans set the exchange rate to ¥360=$1, partly because yen means circle but mostly so that Japanese goods would be exceptionally cheap, which would stimulate economic growth through export.
@jaykebird2go
@jaykebird2go Год назад
Recently the yen and dollar have started to drift from this easy conversion, but as a quick rough estimate, I've seen a number of people do that for years, yeah!
@wolfetteplays8894
@wolfetteplays8894 Год назад
@@jaykebird2go it’s not necessarily recent. It was drifting apart even when I was in high school in 2014-2018
@jaykebird2go
@jaykebird2go Год назад
@@wolfetteplays8894 yes, you're correct. I was in college during that time, and it was still a good enough rough estimate for when I was buying things from Japan (I discovered anime in college lol). I still recently see people using such a rough conversion.
@alexeyzabashta
@alexeyzabashta Год назад
A few years ago, 1 GBP cost 100 RUB. I was in a store that used price tags in pence. Therefore, I did not need to convert not only numbers, but also units of measurement. Since 1p = 1р, where the first 'p' is a Latin letter, and the second 'р' is a Cyrillic letter.
@mondoke
@mondoke Год назад
Fun fact: The Latin American localized version of Excel separates decimals using commas and thousands using points. Now, it does one more change. It separates CSV files using semicolons.
@FirstLast-gw5mg
@FirstLast-gw5mg Год назад
Same if the regional settings are German.
@thebiblioholic
@thebiblioholic Год назад
Does it still call it CSV? Or is it a SCSV?
@mytech6779
@mytech6779 Год назад
@@thebiblioholic ssv semicolon is one word
@fritz46
@fritz46 Год назад
We usually call it CSV in Germany, and the German versions of Excel and Access also use "CSV" in the import or export options. I've never seen anyone use "SSV".
@mytech6779
@mytech6779 Год назад
@@fritz46 I was mocking Microsoft and their long record of not complying with standards; either out of laziness or to purposefully break compatibility with competing software. (I'm a Unix/linux user, where the filename is a string of bytes and the only special bytes are the null terminator and '/' . Though most linux software will consider a dot at the start of the filename to indicate a hidden file for listing purposes. So I could export to ".ssv.csv.wh@t\Is;my_File name?" Which windows would not enjoy. )
@TomRocksMaths
@TomRocksMaths Год назад
Thanks for letting everyone know I was playing Pokémon in my 30's Matt...
@woutervanr
@woutervanr Год назад
I'm watching episodes again 🤫
@transneptunianmarcy
@transneptunianmarcy Год назад
I'm from Peru and it was so funny hearing Matt pronounce "huevo sol" which would mean sun eggs hahaha it's actually "nuevo sol" which is new sun, I like the name of our currency :) like I'm buying things in exchange for stars.
@orsonzedd
@orsonzedd Год назад
you guys could use Moldbreaker and have egg-shaped coins
@ronalddhs3726
@ronalddhs3726 Год назад
Not Peruvian, but speak spanish: That was sooo... funny 🤣
@twistedtachyon5877
@twistedtachyon5877 Год назад
Buying things with stars sounds downright elvish.
@SylviaRustyFae
@SylviaRustyFae Год назад
I was wonderin why on earth your currency was named after eggs xD
@johndododoe1411
@johndododoe1411 Год назад
Must be an Aztec leftover, worshipping the Sun (not the alien stars).
@lexer_
@lexer_ Год назад
The difference between the questionmark vs predator vision is super interesting. The questionmarks make total sense. It's most likely a try-catch that returns a questionmark string in case of an exception. But the no change at all indicates that an uncaught exception happened that just terminated the processing of the calculation. This is very common behavior in many game engines because you don't want your game to crash from some random exception you can not immediately do anything about in the released product anyway and which might not be important. So the code simply never reached the part that updates the text label of the calculator. So I would conclude the exception is happening in different places in the two cases or there are simply different versions of that code, one with a try catch and one without. Post-release update cycles of games sometimes happen in diverging forks of the core product for each region so it might depend on the distribution server region you downloaded the game/latest game update from.
@HonestAuntyElle
@HonestAuntyElle Год назад
Yeah. ??? Is going to be NaN, or +-Infinity or an exception / infinite loop
@cericat
@cericat Год назад
Yep I'm almost certain the ? is from reading data from outside the intended range so getting garbage as a result. Not a new experience for Pokémon players, ie Missingno.
@MikeCnolan
@MikeCnolan Год назад
If you follow the logic, the number would have (whatever) number of digits, it would step back that far from the comma, and be in the memory before the string, which is either garbage or a memory protection violation.
@patsen29
@patsen29 Год назад
In the old Roller Coaster Tycoon games, you could select your currency of choice in the game in the preferences, and it mostly worked without really changing the prices. The trick? Every exchange rate was a power of 10. Which means any currency on the order of magnitude to the dollar/pound/euro will convert to the South Korean Won at a rate of exactly 1000 to 1.
@rosiefay7283
@rosiefay7283 Год назад
Bizarre, seeing as it's no harder to divide or multiply by any other factor than by a power of 10.
@benjaminmiller3620
@benjaminmiller3620 Год назад
@@rosiefay7283 It is, however, significantly easier to multiply and divide numbers by powers of two, than by other numbers. (On computers.) You just bitshift for integers, or add to the exponent for floats.
@pi_xi
@pi_xi Год назад
@@benjaminmiller3620 Some CPUs support BCD where dividing by ten is also a single shift operation. This also includes the x86 architecture. Old games sometimes use BCD, because it makes it also easier to display the number as text, as each nibble from 0-9 is also a character in the tileset, starting with the offset of character 0.
@craftyawesome6830
@craftyawesome6830 Год назад
@@rosiefay7283 Probably to prevent the prices from being strangely specific. Powers of 10 will give nice numbers for the people reading it.
@CorwinPearson
@CorwinPearson Год назад
​@@rosiefay7283 By making all the currency a factor of ten, it can still do everything in integers behind the scenes and then just insert a decimal when it's being displayed. The developer tried to avoid any usage of floating point numbers or division because it was computationally intensive for most hardware at the time.
@damymetzke514
@damymetzke514 Год назад
My guess is that the original code would take a float and directly draw it to the calculator. Then localization was added which converted the float into a string, localized the string, and then converted the result back into a float. The conversion may have originally introduced a bug, which was later resolved without checking other regions. Or they may have been using a programming language which does this automatically so no one noticed. But I'm betting that localization being added after the calculator was programmed is what broke it.
@AliceErishech
@AliceErishech Год назад
If I recall correctly, BDSP are a bit unique for Pokemon games in that they're on Unity for some reason which means they should be programmed in C#.
@mytech6779
@mytech6779 Год назад
Numeric types are never directly drawn, they must be converted to characters for display. Often this is hidden by the language with implied type casting but the convertion still happens.
@damymetzke514
@damymetzke514 Год назад
@@mytech6779 Yes exactly my point. My guess is that the original function they wrote took a float. Obviously it must have been stringified again somehow.
@JdeBP
@JdeBP Год назад
It turns out that what is happening is nowhere near that sane. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-fB2C8q42X64.html
@HenryLoenwind
@HenryLoenwind Год назад
@@mytech6779 No, numbers don't need to be converted to characters; you can also convert them into a list of images directly. Which is what they should have done here, but it seems they were lazy and just used their programming language's sprintf/format/whateverItsCalled function to convert the number to a string and then tried to parse that string. Badly.
@jmage322
@jmage322 Год назад
When you multiply/add a number on the pokémon calculator and it reaches more digits than the calculator has normally it shows those question marks. Like you said it may fetch the amount of characters that needs first and if that amount exceeds the maximum limit displays question marks, which would then make sense for the repeating decimals since it would fetch more leading zeros than the maximum amount in the same way it would for multiplication/addition.
@ColMcWillis
@ColMcWillis Год назад
Matt: "The humble comma, full stop" Me: those are two different things
@cosmicjenny4508
@cosmicjenny4508 Год назад
I didn’t know about the BDSP calculator bug, but this is very fitting considering how blisteringly hot the conversation about how janky and broken Pokémon Scarlet and Violet are on release. Fun fact about BDSP, one of the people who got it early managed to flip between the two versions via their hacked Nintendo Switch. They are literally the EXACT same game, just with a little flag in the software which forces it to be the version you bought.
@quintessences
@quintessences Год назад
Scarlet and violet is no different. The version is just a flag in the game and in fact if u play the game and switch the flag, the ride Pokémon keeps the name but the Pokémon itself is correct
@cosmicjenny4508
@cosmicjenny4508 Год назад
@@quintessences I know lots of people have always bought both Pokémon games, but I wonder how they feel knowing that nowadays Game Freak are literally selling them the *exact same game*, the exact same ROM just with a few bytes flipped.
@quintessences
@quintessences Год назад
@@cosmicjenny4508 it’s always been a part of the IP branding but honestly I would rather them move away from it. But it makes them lots of money tho statistically one version usually sells more than the other and usually it’s the bluer
@orsonzedd
@orsonzedd Год назад
BDSP was spectacularly broken because the team that made it never made a real game before and they basically built it in unity rather than doing it from the ground up so it did a lot of fun unity shit that they didn't get.
@basssings
@basssings Год назад
@@cosmicjenny4508 I think that's partially why Legends Arceus was much better received; not only did it break away from a lot of the old formulas the mainline series games stick to, you don't need to buy two versions to 100% the game - everything can be done in just a singular copy of the game (aside from mythicals which do require save files of other games, but those aren't counted towards game progression) because there is no "other version". Legends is standalone.
@justinhansen9175
@justinhansen9175 Год назад
Combining this video with Tom's on crazy Pokédex facts, maybe we can come to the conclusion that some of the Pokédex's crazy numbers (like Magcargo's temperature or Wailord's weight) are a result of Professor Oak using the BDSP calculator to come up with them?
@devincetee5335
@devincetee5335 10 месяцев назад
Who knows? maybe magcargo is the result of poor conversation between temperature
@Zero_Chaos
@Zero_Chaos Год назад
I'm from the USA and when I was traveling to South Korea, $1 was pretty much 1000 Won. And for a long time $1 was about the same as ¥100 in Japan so it was easy to think about ¥1 being a penny.
@gx8fif
@gx8fif Год назад
The Pokemon conversion bug happened to me, but in a very different situation. I bought a brand new Vauxhall (Opel) Astra in 2004 - it was the then-new shape. I'm British so it was right-hand drive. It had heated front seats but I quickly found that the left switch operated the right seat and vice versa. The best answer the garage, along with investigations by Vauxhall UK, could come up with was that the CAN bus messages were getting translated so that in some places they were positional: "turn on the left seat" but in others that had become logical "turn on the driver's seat" (which was the passenger seat as my car was RH drive). The only way it could be fixed was for the entire seat wiring to be pulled out and refitted. It turned out that too many modules needed to be changed / reprogrammed to make it economical compared to the 2 days it took the car to be rewired. I presume they fixed the bug(s) eventually!
@davidmartensson273
@davidmartensson273 Год назад
The problem of using a boolean for something that is not really true or false, but just two options.
@IPP133
@IPP133 Год назад
I love the way Matt humanizes the computer when it doesn't update the screen. I will always picture Matt's face when my program doesn't update the screen because it doesn't know the answer.
@Matt.Parker2.
@Matt.Parker2. Год назад
Thanks for your support and feedback ᴛᴇxᴛ ᴍᴇ ᴏɴ ᴛᴇʟᴇɢʀᴀᴍ ᴀᴛ ᴍᴀᴛᴛᴘᴀʀᴋᴇʀ2 You won a Mystery Box...🎁 Message me right away.. Merry Christmas and a happy new year.💌
@lars3509
@lars3509 Год назад
Just checked my original diamond version (for the Nintendo DS, which despite the fact that it wasn't turned on for years, worked perfectly fine without charging...) The problem does not occur, neither when I set the language to germany, nor english. The game is in german and uses the dot as a decimal separate (despite the fact that germany uses commas).
@Miju001
@Miju001 Год назад
Yeah, it is (was?) specifically a BDSP bug
@Bootleg_Jones
@Bootleg_Jones Год назад
The main difference is probably that the Switch has a proper operating system that's always running alongside any games, and that OS's code is likely where the comma/period swap is happening when the language is changed. There may also be less code shared between regions in the DS version compared to the Switch version since the former was region locked and the latter is not.
@461weavile
@461weavile Год назад
Another commenter said there's also the region-locking on the DS to prevent this kind of issue.
@zamf
@zamf Год назад
Fun fact: In a localized version of Excel where comma is used as the decimal separator the argument separator for formulas changes from comma to semicolon. So you get formulas like this: =if(A1=3,14; "Something"; "Something else")
@davidmartensson273
@davidmartensson273 Год назад
Like in Sweden
@IllidanS4
@IllidanS4 Год назад
@@davidmartensson273 Like in every part of the world that uses commas this way. Excel uses the computer's locale settings, which govern what character is used for decimal separation and general separations. US OS uses "." and ",", while the rest of the world uses "," and ";".
@jh-ec7si
@jh-ec7si 11 месяцев назад
What do they use as an array separator?
@zamf
@zamf 11 месяцев назад
​@@jh-ec7si I just checked and horizontal separator for arrays is ";" (same as the formula argument separator). Vertical array separator is "\". After a quick google search this seems to be the case for many non-English locales.
@panibo
@panibo Год назад
What a coincidence. Started playing Shining Pearl just today and now Matt Parker is making a video about it 😳 checked the calculator and I'm from Finland where the decimal "point" is a comma and it seems to have been fixed.
@theniborris
@theniborris Год назад
I ran into something similar to this when comparing gasoline prices, where the exchange rate was very close to the ratio of gallons:liters, so prices on the sign in each country were very comparable - US$/gallon vs local currency/liter.
@Matt.Parker2.
@Matt.Parker2. Год назад
Thanks for your support and feedback ᴛᴇxᴛ ᴍᴇ ᴏɴ ᴛᴇʟᴇɢʀᴀᴍ ᴀᴛ ᴍᴀᴛᴛᴘᴀʀᴋᴇʀ2 You won a Mystery Box...🎁 Message me right away.. Merry Christmas and a happy new year💌.
@EmissaryOfSmeagol
@EmissaryOfSmeagol Год назад
Brilliant Diamond and Shining Pearl are not _re-releases_ (as stated 7:56), they are _remakes_ of the games from the Nintendo DS, meaning they are entirely new products.
@YOM2_UB
@YOM2_UB Год назад
Debatable
@461weavile
@461weavile Год назад
@@YOM2_UB LOL, agreed. I don't care what you call it, just don't give your money to BDSP. We can't encourage that behavior.
@SylviaRustyFae
@SylviaRustyFae Год назад
I feel this is probs just a case of layfolk not knowin the spec terms used for games. To layfolk, rerelease and remake may sound like the same thing
@EmissaryOfSmeagol
@EmissaryOfSmeagol Год назад
@@SylviaRustyFae that's why I wrote my comment, it could confuse people further when you call it something it's not.
@tonberrytoby
@tonberrytoby Год назад
I remember this being a massive problem for the freeware game Aurora and getting well documented there. It was a spreadsheet heavy game written in visualbasic and exel. It couldn't run if your windows language was set to a comma language.
@ancientswordrage
@ancientswordrage Год назад
They may have not made the best calculator, but at least it finishes it's calculations in mess than a month
@Trashley652
@Trashley652 Год назад
13:57 "Don't play the game" Best advice Matt has ever given
@MrCheeze
@MrCheeze Год назад
Probably could have remained a main channel video, despite being uploaded later than intended. In any case, I'm pretty sure you're basically right about what the calculator is doing - it's probably implemented a bit differently but ultimately equivalent to what you described.
@nomig6866
@nomig6866 Год назад
I have a theory about the two first weird cases. I agree that there's a stage for getting the length of the number it needs to show and a separate stage for it to actually display the number. In the first case, e.g. the 10/4=002 it gets correctly that the length is 3 and so fills the screen with 3 zeros. Next stage is getting the number, where it gets just the 2 (probably throwing an error because it expects a comma and got a point or something like that). Nevertheless it only gets the 2, so it writes that over the last 0. We get 002. The problem with the repeating numbers might be explained in that it throws an error in the first of the two stages: finding the length of the number. The method for finding the length is not as simple as just as that, we need to show all the digits of the whole part of the number, and as many of the decimal as possible. The problem may arise in that it can't separate the decimal from the whole, so it looks like an incredibly long whole number and it just refuses to print that out on the console (which is probably the intended behaviour for when the answer is in fact a very long whole number). Probably the approach for finding the length of the number (which is the obvious approach and would produce these results is): -Split the number based on where the "." falls. -Count the length of the first part (the whole part). -If that part is longer than 10 throw an error (an error at this stage shows ???????) -If there is not part after the "." return the number of characters -If there is a second part return either: "whole number digit count" + 1 (for ".") + "decimal part digit count" or 10, whichever is smallest. This would work correctly for when the decimal separator is "." but if it is a comma we'd get an error on the second step.
@samuelthecamel
@samuelthecamel Год назад
Using this logic, a number that is larger than the screen would also trigger an error during normal gameplay, which makes sense. That one version that doesn't show question marks and just doesn't update the screen is strange though, as that probably isn't supposed to happen.
@c4ashley
@c4ashley Год назад
I like this explanation; the split makes a lot of sense. For the question marks, I was landing on a buffer overflow, same as Matt, and maybe the memory allocation is word-aligned so 4 digits won't throw an error. The only thing I can think of to explain the question marks versus the no-update, is a different revision of the codebase has different exception-handling code. 😅
@JohnDlugosz
@JohnDlugosz Год назад
But why oh why would it need the length as a separate step, first? I believe the original DS game was written in C, and there is a C Standard Library function gcvt() which would work perfectly well without these weird passes over the resulting string.
@OMGclueless
@OMGclueless Год назад
@@JohnDlugosz To use gcvt() you would first have to do the mathematical operation in terms of an IEEE 764 floating point number which is what gcvt() knows how to output. But there are a lot of problems with using floating point as the representation of numbers in a calculator application. It accumulates errors even for operations which can be represented exactly, e.g. 0.1 + 0.2 = 0.30000000000000004, so they probably don't use floating point at all and do something themselves with fixed point math, but in a way that fails for unrepresentable numbers like 0.333... repeating.
@HonestAuntyElle
@HonestAuntyElle Год назад
As a programmer I assume ??? Is just a NaN result. The trick is working out what's making the answer NaN
@cykkm
@cykkm Год назад
There's more than the “swap comma and point” arrangement. I don't know if comma is competitive to the point as the decimal separator, but another common “thousands separator” is the space. And it's not always regular _thousands_ all the way through as the base. To establish an equivalence with the common notion of the integer base notation here, think of the integer part's “thousand separation” as a recurrent application of rem 1000 and div 1000. Every triplet is essentially a base-1000 digit, written as its decimal value (up to rules w.r.t leading zeroes in the leftmost vs. other digits). In the UK, the radix is pure, always 10³. But there are mixed radix notations, and in quite no obscure places! While India uses the comma for decimals and the point for grouping of the whole part, the same way the UK does, open any Indian newspaper, find an article mentioning a large number, commonly a sum of money, and you're up to a surprise. No, it's no a typo. :) It's equivalent, in the above sense, to a {10², 10³} mixed-base integer notation.
@YohWolf
@YohWolf Год назад
As a fan from Santiago, I'm really glad that you got a nice story from here.
@Giftedbryan
@Giftedbryan Год назад
I love how you posted this a few days ago, saying 'a new pokemon game had released' which is true, because Scarlet and Violet had released just last weekend, but you were talking about a game that is now a year old instead and I had to double-take it :p
@GanerRL
@GanerRL Год назад
a steam game of mine was broken for everyone in europe and such because I did a janky number-string-number conversion for truncation lol
@Palontras
@Palontras Год назад
Commas can save your family. "We're going to eat, Grandpa." or "We're going to eat Grandpa."
@donaldasayers
@donaldasayers Год назад
A little like the Douglas adams calculator in Dirk Gently, that rendered any number greater than 4 as a 'Suffusion of yellow'.
@GeoffreyGore
@GeoffreyGore Год назад
This video appeared on my home screen, so congrats on the algorithm. It was rambly as you said towards the end, but your video is well-thought-out regardless, and plenty entertaining. I'm now going to, for the very first time, check out the rest of your content and likely subscribe. Great stuff!
@IanBLacy
@IanBLacy Год назад
You should’ve named this channel Matt Parker 3 and made everyone try really hard to find Matt Parker 2
@RobinBawss
@RobinBawss Год назад
Based on assumption: It's string size allocation. Say you want to display a string from a number: You create a string of the size of the number of digits (dot included), and then you run it through a hex converter against valid hex codes for each number to character values. the number 2 and the character 2 in the character sheet table don't share the same value at all. In order to prevent weird characters in the display, only a few are allowed, namely number 0 to 9, the dot and the question mark for errors. So if I want to turn 2.5 into a string, I first create a string of 3 characters, best shot is to set all of them to 0, so we get "000". Then I take my number and go through where I convert each part of it into the proper character code in my list of valid characters. The number 2 is valid, so append that to the end of the string, it becomes "002", then it's time for the next character, the dot. and that's where the problems happen. Dot is valid, but not comma. Since the number in English is 2.5, but in German it's 2,5, in English it spots the dot and pushes it at the end of the string: "02.", and then does the same for the 5: "2.5" that's the result, we're good. But in the case of the comma, it's not a valid character, so it'll stop the cycle there and send "002" as the result. In the case of the question marks for recurring characters, it's the truncation that's the problem. Before being able to push numbers into the string we need to check which decimal places we're going to stop the value at. I check "is there a decimal place?" or in code it's "is there a dot?", and in 3.333333333 it's easy to tell, so we keep whatever's before the dot as is, then remove the places of what's after the dot. So imagine I only want 10 characters: 3.3333333333333 gets trucated to 3.33333333, which fits in the max allowed string size of 10. But if there are no dots, we have a number far bigger than the allowed size, it can't really be trucated or the values is wrong. So the ???????? is a safety measure to make sure bigger numbers are prevented. It should happen the same if you try multiply 2 numbers that result in breaking the max allowed size, you should see the question marks as well. Sorry for the long comment, might not even be clear, but that's what I got. Now I'm curious to check what the actual answer is.
@foogod4237
@foogod4237 Год назад
My theory for the first two issues, based on the behaviors, the requirements of the system, and my own experience with various ways to do binary-to-decimal number conversion routines: When displaying a number, the calculator code probably does something like the following: 1. Figure out how many digits are needed for the non-fractional portion of the number 2. Take the integer value and convert it to decimal using that number of digits 3. Subtract the non-fractional portion from the number so all you have is fractional digits remaining 4. If the number is not zero (there are fractional digits), then add a decimal point 5. Convert as many digits of the fractional portion as there are remaining spaces on the display, or until the remainder is zero The problem enters in steps 1 and 3, which are done using localized conversion routines. Step 1 is done by converting the number to a string (using built-in library routines) and counting the number of characters which come before the period. So if it gets "2.5", it finds the ".", and then it knows that there's one character ("2") in the non-fractional portion. However, if it gets "2,5" it counts three characters instead, so it does the integer conversion using three places, and gets "002" for the non-fractional portion of the number. Step 3 is then apparently done by converting the "portion before the period" from step 1 back to a number and subtracting it from the original value. In the case of period-based-decimal systems, this means it converts the string "2" back to a number, subtracts 2 from 2.5, and gets a remainder of 0.5 (great!). However, with comma-based-decimal conversions, it still thinks the non-fractional portion is "2,5", so it converts that back to a number, subtracts 2.5 from 2.5 (or subtracts 2,5 from 2,5, depending on your point of view) and gets a remainder of 0, so it then decides there are no fractional digits to display, and stops there (with final a result of "002"). In the case of repeating digits, at step 1, it counts the whole thing as the length of the non-fractional part, which is too many digits for the display, so it displays the "number too big" indicator and gives up (or just crashes). I'm not sure why when typing a non-integral number the digit before the decimal point keeps getting replaced by the most recently pressed number. I'm gonna have to think on that one for a while. It would have been helpful if they'd shown what happens with numbers with more than one non-fractional digit (e.g. "12.3456" or "123.456" etc).. (I don't actually personally own the game to try it for myself)
@Zymi1
@Zymi1 Год назад
Another easy conversion is Polish złoty (PLN) to Romanian leu (RON) which is almost 1:1. And both numeral systems also use comma as decimal separator
@kane2742
@kane2742 Год назад
Yeah, I think Matt was just focused on conversions that were close to 1000:1, rather than 1:1. I've seen in the news lately that Euro is pretty close to 1 US dollar. (Google says the current conversion rate is €1 = $1.04, or $1 = €0.96.) Swiss francs are even closer to Euros right now: €1 = 0.98 francs.
@diamdante
@diamdante Год назад
the singapore dollar and bruneian dollar are exactly 1:1, in the sense that they are intentionally kept that way. because of this it's actually possible to use either currency in either country (although in practice a lot of shops get confused and don't accept the foreign currency)
@Trilobita98
@Trilobita98 Год назад
This video feels like a pipe dream lmao Matt and Pokemon in 1 video
@rjginsburg
@rjginsburg Год назад
The real key is to go to a country that has its currency pegged to yours (eg, US to Barbados)
@HunterJE
@HunterJE 5 месяцев назад
My favorite "mixing up strings and values" problem, I worked at a company that had a handful of connected systems to keep track of customer info, came across an account for a customer with the surname "Null" but when I pulled it up in one of the other systems it just showed their forename and no surname. As far as I could tell somewhere in the data connection between the two systems was passing over the string "Null" for that field but it was being interpreted as a null value...
@TakuroSpirit
@TakuroSpirit Год назад
This is like what happened when I saw the Minecraft speedrunning video. "Oh? A video about my favorite franchise of little monster dudes. My recommendations are full of those, but this one looks interesting- MATT PARKER? MY FAVORITE MATH PERSON TALKING ABOUT MY FAVORITE VIDEO GAME FRANCHISE?" You never stop surprising and delighting, Matt.
@NickFegley
@NickFegley Год назад
I lived in Cambodia for a few months, and in every situation I came across, they used Arabic numerals. I only ever saw the Khmer numerals (that you showed on the screen) written on the Reil bills themselves, where they were always accompanied by an Arabic numeral. It's similar to how prices are done in most parts of the world. I'm from the US, and while our dollar bills have "ONE DOLLAR" written on them, they also have the numeral "1" on the corners prices in stores are always written with Arabic numerals (e.g. on a sign you might see "$6", but you'll never see "SIX DOLLARS").
@max_208
@max_208 Год назад
Also note that some countries use spaces instead of dots or commas to separate thousands (thinking of france here)
@kikivoorburg
@kikivoorburg Год назад
19:53 it makes complete sense to back up if it doesn’t find a full stop, since integers wouldn’t have one. If the calculator just has “1” or “256” or some other integer it should back up right from the end and return the right number of digits!
@TheKjoeller
@TheKjoeller Год назад
In danish high school maths we use comma as a decimal separator but maths programs that use the decimal point. So we have to teach the student to write 100,12 in texts, but 100.12 to do calculations in the given software.
@georgehampton4389
@georgehampton4389 Год назад
The typed decimal will start reading the whole number from the back of the string as it's common for searches to return '-1' as the not found case. Thus it starts indexing from the back again
@Matt.Parker2.
@Matt.Parker2. Год назад
Thanks for your support and feedback ᴛᴇxᴛ ᴍᴇ ᴏɴ ᴛᴇʟᴇɢʀᴀᴍ ᴀᴛ ᴍᴀᴛᴛᴘᴀʀᴋᴇʀ2 You won a Mystery Box...🎁 Message me right away.. Merry Christmas and a happy new year💌.
@TheBlueArcher
@TheBlueArcher Год назад
Finally you've re-enabled closed captioning on your videos. I can watch them again.
@versacebroccoli7238
@versacebroccoli7238 Год назад
This was amazing. I'm so glad I found it.
@stronggreenflame
@stronggreenflame Год назад
I love the idea of trying to figure out the math of bugged things. So in the first games of pokemon something weird happens where you use a move that changes your stat. It applies the bonus you get from having badges again. Im wondering what kind of formula is the game using that makes it check badge boost over and over again.
@ZeroSleap
@ZeroSleap Год назад
This dot and ESPECIALLY comma swapping ,presented a nightmare when my teacher gave us csv files while the system language used the comma as the decimal point.
@Huntracony
@Huntracony Год назад
Most of the time you know what order of magnitude to expect of a number, so these differing conventions don't matter, but I've found them confusing often enough that I've switched to using a space as the thousands separator, which I believe is how the French do it.
@AmauryCarrade
@AmauryCarrade Год назад
Yes, I can confirm, being French, that’s how we do in France, space for thousands separator (and comma for decimal sep)
@ForestFire369
@ForestFire369 Год назад
Canadians have a really hard time with this. We use a space for the thousands separator and a period for decimals, but most of what we read is American or British using a comma for thousands, and sometimes they throw in the French style just to mess us up. You really have to stay on your toes when reading numbers over here
@SwordQuake2
@SwordQuake2 Год назад
In Bulgaria we use the French way.
@aevus
@aevus Год назад
is there anything against ' as a thousands seperator? i'm pretty sure that one isn't ambigous eg: 1'234'567.89 then it doesn't mater if you pick . or , as the seperator
@Kalbintion
@Kalbintion Год назад
@@aevus When it comes to the longitude/latitude numerical values, the ' means the minutes, so without context it could be read as 1 minute, 234 minutes, 567.89 which doesn't inherently mean much at all but if nothing else, it just goes to show how confusing numbers can be using alternative or suggested separator glyphs.
@Waniou137
@Waniou137 Год назад
I feel like a good test that you should have done, would be undoing the calculation and see what you get back. Do 7/3, then multiply by 3. Also, I could be wrong on this but, using an actually working calculator version of BDSP, back in the original Diamond/Pearl on the DS, it would fail at the 1/7 then multiply by 7 test, but BDSP correctly returned 1 afterwards. I would have to double check that but my Switch is over there and I can't be bothered swapping the cartridge over.
@draspie8939
@draspie8939 Год назад
I love how, during editing, rather than look it up and put the answer in the video, he simply annotated *I didn't
@LoZander
@LoZander Год назад
Assuming the issue is indeed because of the comma/dot thing, i feel like it could have been avoided had game freak represented the decimal and thousand separator internally with a structure that was not specific to any single way of writing it. They could have had a separator enumerated type with a dec_sep and thou_sep and then they could have, when printing the values, replaced the separators with whatever symbol was appropriate for the region of the console.
@Liggliluff
@Liggliluff Год назад
This is how you do it. Internally the program calculates in whatever format it wants, but when you output it, you format it for the user. The calculator is different in that it takes inputs. But it has inputs in two modes: integer inputs (value × 10 + input) and decimal input (value + input × position).
@wyldride
@wyldride Год назад
I''m fairly sure 7/3=A suffusion of yellow. I may be rounding off wrong.
@Exilum
@Exilum Год назад
What most likely happened on the code side is that they did the localization too early. Just as you said, they got raw results, and stringified it. The localization step then came just a step too early. My theory is slightly different from yours, and does cover all cases: -Step 1: they initialize the way they display digits. I think that they have one sprite per digit. I doubt it's just text with a font, or the 0s would be unicode nulls, as it would be the default character. It could be that the specific formatting requirements of the way they display numbers requires them to fetch images for each digit (it would make sense), or there could be other reasons. -Step 2: they loop over each character, adding the image for each character one by one. -Step 3: they run into a character they can't handle, their call returns null, it's unhandled, it throws an error, the error is caught at a higher level (probably at the loop or function level) -Step 4: when displaying the text, the default character is 0, probably because it's the default image in their engine representation of the object. With the image not being set, it just stays on its default value. For the whole question marks thing, I think it could be a similar issue, just displayed differently: The dev that handled it could have used question marks for debugging at some point, it would be pretty standard of a way to do things. There could even be a few swear words in the logs, if it was enabled. Then, when an error occurs, either one of two things can happen: -It is caught, and displays question marks -It isn't caught, and stays in whatever state it was before, just like in the above issue There could be a bit of code especially meant to deal with long digits that is failing at 2 different places, one that was more expected than the other (thus why one is caught and not the other). EDIT: I went back and corrected a few things right after pressing post...
@HenryLoenwind
@HenryLoenwind Год назад
I wouldn't say too early, more along the line of "they used a locale-dependent library function intended for formatting for the user directly and parsed the result instead of printing it out without forcing the locale to a specific value". Quite a common error, there are countless programs that fail when used in Turkey...where the uppercase version of i (with a dot) isn't I (without a dot) but İ (with a dot) and the lowercase of I is ı.
@JohnDlugosz
@JohnDlugosz Год назад
I really like your idea on the display list. But what about the length? That might still work: they look at the length of the string, and allocate the length first. But it's still filled from the right, shifting everything along as each digit is added. So, they are not "parsing" the string per-se. It is displaying a glyph for each digit, the way we expect when sending a string to any kind of output device. The issue is that it doesn't know how to display a comma. It's not set up for full ascii, just digits and dot. Add that to pre-allocating the length, and I think that's the explanation.
@Exilum
@Exilum Год назад
​@@JohnDlugoszI've slept in-between, so my memory isn't exactly clear, but I think that's what I meant.
@notmyname327
@notmyname327 Год назад
I loved this video! Second channel rocks
@klafbang
@klafbang Год назад
Try importing/exporting a CSV file in Excel when your locale defines comma as the decimal separator
@MeriaDuck
@MeriaDuck Год назад
Escape hell to try and prevent comma separated being confused with decimal comma separators... If not present in your language, try to get an open source library that isature enough to handle csv.
@klafbang
@klafbang Год назад
@@MeriaDuck it's worse than that; CSV files have different separators depending on your locale. If you use decimal point, it uses comma, if you use decimal comma, it separates using semicolon. Also on import. I can make a CSV and open it in Excel using a double click when configured with US settings, failing if I use most European settings (it is possible to import using the import function, but that's no fun explaining to an end-user).
@mytech6779
@mytech6779 Год назад
Just bad programming, there should never be comma-decimal exported to a csv, and any imported csv should assume point-decimal. The stored numeric data is independent of the displayed character format in any case so there isn't even a need to convert.
@IanKjos
@IanKjos Год назад
@@mytech6779 Have you played with MS-Excel? You know it got genes renamed for less?
@mytech6779
@mytech6779 Год назад
@@IanKjos ??
@NLGeebee
@NLGeebee Год назад
I love ISO-conventions. The space as the 1000 separator and the comma for the decimal separator and no points in numbers whatsoever. I am so glad that we all use that. Oh… wait…
@Liggliluff
@Liggliluff Год назад
Just like we all use the ISO date format, oh wait At least the ISO time format is used a lot in the world
@NLGeebee
@NLGeebee Год назад
@@Liggliluff we don't, but we should ;)
@coolpeepsunite
@coolpeepsunite Год назад
Correction: "The humble comma." is not a full sentence, as it is only the subject of a potential sentence, and therefore not a complete sentence, regardless of your addition of a full stop. I have now made myself sick with my own pedantry, but this seems like a place where that might be appreciated! Thank you so much for the amazing videos!
@zoepentaleri
@zoepentaleri Год назад
Your pedantry is wrong. "The [article] humble [nominalized adjective] comma [denominal verb]" is a complete sentence, with an approximate meaning of, "Those who are humble employ commas."
@c4ashley
@c4ashley Год назад
@@zoepentaleri 🤯👏🏻
@coolpeepsunite
@coolpeepsunite Год назад
@@zoepentaleri I fully accept the use of humble as a noun, and that you can technically verb any noun, is verbing a noun part of correct grammar? Is comma-ing an established verb? This is straying into linguistic prescriptivism, but that is already the core of pedantry. Regardless, I would argue that even if that is technically a possible valid interpretation of the written words as a complete sentence, it is clear from both the context and intonation that it was a phrase describing commas, not a statement that humble people use commas. I contend that the correction still stands. Thank you so much for responding! This is very interesting. As an aside, I would like to note that phrases employed as a writing tool for emphasis are great and should not be discouraged, but since Matt had the audacity to declare it a complete sentence immediately afterward, it was worth mentioning.
@hughcaldwell1034
@hughcaldwell1034 Год назад
@@zoepentaleri "The old man the boat."
@coolpeepsunite
@coolpeepsunite Год назад
@@JaykTheJackal ...could you elaborate? Just saying I am wrong isn't very helpful. How else is a sentence defined? Not saying you are wrong, this was all a silly exercise in pedantry anyway, but I would love to know more!
@alexd7589
@alexd7589 Год назад
Now that you have done a pokemon video, you should look at the statistical manipulation and optimization used to find shiny pokemon. It's a really interesting system to increase extraordinary low percentages
@tohothewriter8002
@tohothewriter8002 Год назад
I vaguely remember a comma breaking the Xenomorph AI in the game Aliens Colonial Marines. It wasn't until years later that someone going through the code saw it, fixed the typo and ran the game without much hope, but was surprised that the Xenomorphs were behaving as intended now.
@Matt.Parker2.
@Matt.Parker2. Год назад
Thanks for your support and feedback ᴛᴇxᴛ ᴍᴇ ᴏɴ ᴛᴇʟᴇɢʀᴀᴍ ᴀᴛ ᴍᴀᴛᴛᴘᴀʀᴋᴇʀ2 You won a Mystery Box...🎁 Message me right away.. Merry Christmas and a happy new year.💌
@twistedsteel6290
@twistedsteel6290 Год назад
I’m an iOS developer and I’ve had to diagnose and fix several bugs that were caused by differences in decimal separators like this. Big headache but good to know about.
@Liggliluff
@Liggliluff Год назад
And this is why it's important to not use numbers rendered to the user. Keep all values stored in variables, and values rendered as strings should be considered "contaminated", and can no longer be changed in any form at all, only displayed in full. For user inputs of numbers; you clear the string of thousand markers as given by the system, and convert the decimal mark to what your software needs. You'll also have to convert the numerals too. Then it'll work.
@jeanlou3
@jeanlou3 Год назад
Talking about trex vision based on movement, with a very fitting background prop…
@rocksnshit
@rocksnshit Год назад
We recently installed a piece of analytical equipment that was made in Italy. It came with a laptop to run the software, and the training engineer made us promise not to change the decimal comma to a point, because it would break everything.
@Ca7iburn
@Ca7iburn Год назад
From what I can tell, Pokemon Brilliant Diamond and Shining Pearl what created using Unity, so the game engine would be in C++ but,C# would be the most likely language used for scripting the game.
@explosify5035
@explosify5035 Год назад
the calculator thing is lore accurate, math simply does not work in the pokemon universe. that's what you get when every child at the age of 10 drops out of school in order to go on a journey with their sentient animal friend.
@Matt.Parker2.
@Matt.Parker2. Год назад
Thanks for your support and feedback ᴛᴇxᴛ ᴍᴇ ᴏɴ ᴛᴇʟᴇɢʀᴀᴍ ᴀᴛ ᴍᴀᴛᴛᴘᴀʀᴋᴇʀ2 You won a Mystery Box...🎁 Message me right away.. Merry Christmas and a happy new year.💌
@YOM2_UB
@YOM2_UB Год назад
"PokéWatch" is actually pretty darn close to the exact name. The real name shortens both "Pokémon" and "Watch" to "Pokétch."
@Magnasium038
@Magnasium038 Год назад
I love these conjecture vids about the maths going behind weird incidents in the world
@sleblanc
@sleblanc 2 месяца назад
I've had various issues with software that was localized "naively", that is with only the text being translated, but still using the operating system's locale. For instance, a calculator program using a French locale might properly display commas as the decimal separator, but it will not convert a numpad period input as a comma. Sometimes, a number input - the ones with the little increment and decrement pointers - will also show a comma, but when you hit submit or whatever, the app or page will tell you that it's an invalid number format. Sometimes they might even show a period but only accept a comma!
@H4MR0CK5
@H4MR0CK5 Год назад
In the last Pokemon calculator example the first digit that's jumping around isn't random, it's reporting the button that was just pressed. It updates in the same "2-3-6-5-4" sequence that the user inputs. The Pokecalculator has 10 digits that it can show at any time with 3 possible states - it needs to know if it should be blank, a number, or a decimal point at any given time. Since this seems to be happening during input and not during calculation, maybe it's different logic in some other part the code. Maybe that logic requires knowing what keys were input by the user and in what order, and region specific comma notation is causing the first digit (i.e. the logic to turn a blank space into a number) to access the wrong part of memory where the value that was just pressed is stored, and not the first digit of the user's number? Blatant speculation on a Sunday evening is good for the soul
@whoeveriam0iam14222
@whoeveriam0iam14222 Год назад
that swapping the comma and period around is so annoying because you never know what a site will accept until you type it incorrect. like the numpad has a dot between the 0 and enter but it might not be the key you need to enter for the number depending on where you enter it it's just as bad as the american date system popping up all over the internet and if the day is lower than 12 you just have to guess which date they mean
@cmilkau
@cmilkau Год назад
It's common for scanning code to assume it always finds something. In fact I just fixed a bug where this assumption was false today. Now when it doesn't find something, it's common to just take the last thing it has seen, because the code works like: walk through the sequence and stop when you find the thing. Now it ALSO stops when it just reaches the end of the sequence without finding anything, and there you have it.
@Liggliluff
@Liggliluff Год назад
(15:35) Until you get ISO 80000-1 formatting with 12 500,00
@vinzo0913
@vinzo0913 Год назад
Punctuation is important. You forget it and it changes a vibe completely. "I'm going to eat, you?" Becomes very different.
@mattbox87
@mattbox87 Год назад
Ooh! We've nearly got a full-blown programmer here! A bit of data structures, assembly and just maybe (arguably) some Chomsky Hierarchy and theory, and he's home! ... assuming he hasn't already explored those topics. And yes, do have a go at computing, even if you are interested just a little, and Python is a great place to start. My first guess is also Matt's first guess: string parsing. But it kinda seems even more likely (and forgivable) when you consider that one often has to program these tiny little things in assembler.
@zoeherriot
@zoeherriot Год назад
The Pokemon games are usually written in C/C++. However - the re-releases of Shining Pearl and Brilliant Diamond were made using Unity, so C# (obviously the engine itself is still C/C++).
@JohnDlugosz
@JohnDlugosz Год назад
Remember, Commas save lives. That's the caption of the poster. In the illustration, a cartoon kid is yelling out the door, "Let's eat, Grandma!"
@deliciousrose
@deliciousrose Год назад
Can't wait for the video behind that Christmas card!
@vytah
@vytah Год назад
There are many other pieces of notation that differ between countries. Non-sharp inequalities can be either ≤ or ⩽. Tangent function can be either tan or tg. Division can be either ÷ or :.
@xelaxander
@xelaxander Год назад
Thank god Matt Parker is a science educator and not a programmer. Automatic googling of currency exchange rates is probably the most insane way of obtaining those.
@AgentM124
@AgentM124 Год назад
The separation of digits in India is even crazier. They first have 3 digits and every next set is a set of 2 digits. They don't do millions and billions, they use their own system. Pretty interesting to see 1,00,00,000 for example
@wbfaulk
@wbfaulk Год назад
For those interested, search for "crore" and "lakh".
@philippak7726
@philippak7726 Год назад
it is bizarre to me that there's even a discussion. a comma is a small pause while a full stop is a complete stop. it makes sense to have a comma for seperations of the 100's and the dot being the decimal, different fractal points
@norran42
@norran42 Год назад
A channel called pimanrules has done a full deep dive into the code for the calculator and uncovered all the mysteries
@stormRed
@stormRed Год назад
The funny thing is I switched from a language that uses the decimal comma to one that uses the decimal point and I never once realized there was even a difference 😂
@nicholas_scott
@nicholas_scott Год назад
I worked for a list processing company and we always had to have special procedures for any data sets coming from Canada. Decimal points used commas instead of periods and periods were users to differentiate sets, not commas.
@cmyk8964
@cmyk8964 Год назад
The peso story reminds me that Rollercoaster Tycoon’s exchange rates are all in powers of 10.
@cmilkau
@cmilkau Год назад
commas are also sometimes used to separate multiple values, is why it may have stopped there.
Далее
What it's like to record an audio book
21:11
Просмотров 14 тыс.
My response to being reverse-Dereked
8:36
Просмотров 610 тыс.
🎙СПОЮ для ТЕБЯ ВЖИВУЮ!
3:03:01
Просмотров 1,3 млн
Why does Vegas have its own value of pi?
23:29
Просмотров 818 тыс.
These 27 tickets guarantee a win on the Lottery
15:32
Просмотров 283 тыс.
How Roman numerals broke the official dog database.
15:29
Can you solve the banana puzzle?
12:26
Просмотров 329 тыс.
Vegas Sphere UPDATE: we fixed it!
9:05
Просмотров 263 тыс.
Mathematically Proving which Pokémon Should Learn Fly
27:21
What is wrong with this sine memorisation pattern?
12:26