Live data from Hacker News

Chess.com stopped working on 32bit iPads because 2^31 games have been played

chess.com

171–180 of 338 posts

Re: Chess.com stopped working on 32bit iPads because 2^31 games have been played

#171
post #55

I recently experienced a nasty bug with BLOB in MySQL. The software vendor was storing a giant json which contained the entire config in a single cell. It ran fine for months, and then when it was restarted it totally broke. Reason was: the json had been truncated the entire time in the database, so it was gone forever. It was only working because it used the config stored in memory on the local system. Nasty!

For those, like my, that didn't recall off the top of their heads: BLOB in MySQL can usually only hold ~64KB. EDIT: Though I am curious why MySQL doesn't throw an error when you try to store more than 64KB in BLOB?

Huh, I thought BLOB was a backronym for Binary Large OBject, not Binary Medium Object.

Re: Chess.com stopped working on 32bit iPads because 2^31 games have been played

#172

This reminds me YouTube changed its view counter from 32-bit integers to 64-bit integers due to the popularity of 'Gangnam style' https://www.wired.com/2014/12/gangnam-style-youtube-math/

That was a joke; it was always a 64-bit integer.

Do you have a source for that?

Re: Chess.com stopped working on 32bit iPads because 2^31 games have been played

#173
post #46

Earlier quoted context omitted.

This is a whole class of problem - I wonder if there's a name for it. More examples include: talking about welfare being unnecessary because no one is starving. Or people on medications stopping because they feel better (while still on them).

This makes me think of a hypothetical scenario proposed in one of Nassim Nicolas Taleb's books where-in some senator gets a bill passed in the weeks before 9/11 requiring reinforced doors on all commercial airplane cockpits. No parade would be thrown for this senator for having prevented 9/11 and likely he'd be castigated for having given airlines an excuse to raise prices due to restrictive government regulations.

The silent wheel gets rode?

Re: Chess.com stopped working on 32bit iPads because 2^31 games have been played

#174
post #8

Self-confidence as a programmer is when starting a new project, storing the transaction ID as a long rather than an int...

You know what, you're right. I'm going to change some SERIALs to BIGSERIAL in the database of my side project. Someone has to start believing in it - it may as well be me.

Re: Chess.com stopped working on 32bit iPads because 2^31 games have been played

#175

Earlier quoted context omitted.

Also see: IPv4 vs IPv6. Remember, these fancy computing devices were built for the rich and the government, not for the average joe, noone thought computing would be this easily accessible.

Except that isn't a great example because with Nat, ip4 can get us oodles of devices still. Can't really use NAT on a primary key...

NAT is a colossal pain in the ass. I shudder to think of the number of man-years that have been spent on NAT traversal. NAT breaks one of the fundamental functions of an IP address - a unique identifier for a network device. It turns a simple identifier into a weird, amorphous abstraction.

IPv6 isn't perfect, but we could have avoided a lot of hassle if we'd started off with it.

Re: Chess.com stopped working on 32bit iPads because 2^31 games have been played

#176
post #154
post #127

Earlier quoted context omitted.

Even then, mix in people switching jobs, losing the knowledge of where or what all these landmines are, and add similar but unrelated issues across your entire codebase. This stuff adds up. I like to at least add stern log messages when we are at 10%-50% of the limitation. It's saved my ass before, especially when your base assumption can be faulty. In one of those scenarios, where we expected the growth of an intege…

I'm assuming this is C/C++ so I'm wondering if there isn't some compiler pragma to have it warn people still building the code in 2025 or so?

Ha! Rebuilding the code. The source will be lost and the binary will be irreplaceable in many circumstances.

Re: Chess.com stopped working on 32bit iPads because 2^31 games have been played

#177

Earlier quoted context omitted.

This makes me think of a hypothetical scenario proposed in one of Nassim Nicolas Taleb's books where-in some senator gets a bill passed in the weeks before 9/11 requiring reinforced doors on all commercial airplane cockpits. No parade would be thrown for this senator for having prevented 9/11 and likely he'd be castigated for having given airlines an excuse to raise prices due to restrictive government regulations.

The silent wheel gets rode?

Greased wheels don't squeak.

Re: Chess.com stopped working on 32bit iPads because 2^31 games have been played

#178

Earlier quoted context omitted.

Like when people say to IT: "Everything's working, what am I playing you for?!"

Followed by the inevitable "Nothing's working, what am I paying you for?!"

You have to spend money to make money, but I spent all mine trying to make more.

Re: Chess.com stopped working on 32bit iPads because 2^31 games have been played

#179
post #110

Earlier quoted context omitted.

In my experience the chat on chess.com harbors a similar demographic to that of most video games. You'd think that chess would attract a more mature player base, but nope.

The only time I've observed people in real life acting like people in video games is at a chess tournament. Constantly trash-talking until they lose, then accusations of cheating. You certainly don't see this type at all (or most) chess events; I think the lack of entry free drew them out into the open.

At my local library the loudest people aren't those on their phones or laptops, but the chess players. It really surprised me considering chess can be played completely non-verbally other than calling "check". Every time I'm there, they constantly argue (most of the time it's because someone wants to take back a move), trash talk to get on each others nerves, yell across the table to other players in games, and talk loudly as if they were in a park. On one hand I think it's great that the library provides a community space and lets people use their chess sets, but on the other hand as someone who goes there for quiet, it's very irritating. (I wish they had a game room or something where they could go wild) Once upon a time libraries had mythical status as a place of silence, to the point where people would shush each other for the smallest noises... I actually stopped going to that library because of noise issues and in general because of its size and limited seating.

Re: Chess.com stopped working on 32bit iPads because 2^31 games have been played

#180
post #53
post #8

Self-confidence as a programmer is when starting a new project, storing the transaction ID as a long rather than an int...

> Self-confidence as a programmer is when starting a new project, storing the transaction ID as a long rather than an int... uint64_t even Or a UUID as others have suggested. Technically C spec doesn't really say exactly how many bits int, long and long long should be. If you want specific sizes and your code to be somewhat portable use the specific bit sizes to make that clear. There are also types for size-like thi…

Your code is actually less portable if you use types like uint64_t -- if your system doesn't have exactly that type implemented the typedef won't exist. If all you need is a really big number 'unsigned long long' is required to exist and be able to store 0..2^64-1
Post reply on HN