Scroll to the second paragraph, get a subscribe popover. So annoying. I haven’t even read any reasonable amount of content yet.
Link a free copy or none at all please
The medium (lol) is annoying, but it didn’t ask me to pay. Is the article not free for you?
I become suspicious when I see a Medium user posting well-written deep articles as frequently as this user appears to be doing. How can we tell whether this is AI slop or not?
Their articles aren’t that deep and they mostly focus on similar topics.
I think it’s perfectly possible for someone to have a backlog of work/experience that they are just now writing about.
If it were AI spam, I would expect many disparate topics at a depth slightly more than a typical blog post but clearly not expert. The user page shows the latter, but not the former.
However, the Rubik’s cube article does seem abnormal. The phrasing and superficiality makes it seem computer-generated, a real Rubik’s afficionado would have spent some time on how they cube.
Of course I say this as someone much more into mathematics than “normal” software engineering. So maybe their writing on those topics is abnormal.
I stopped using floats 30 years ago when I learned what rounding errors can do if you only deal with big enough numbers of items to tally. My employer turned around 25M a year, and it had to add up to the cent for the audits.
And KSP (rocket exploding game) had ten years worth of floating point errors.
Like Minecraft has, too. Just go on a long, long walk in one direction.
What happens?
The physics starts to glitch out, or at least used to, until it got upgraded to doubles. I also use doubles for my game engine, as well as (optionally) limiting pixel-precise things within
int.max
andint.min
.Does the world repeat after a set point?
Technically yes, and with tile layers, you can even set them repeating on a shorter area.
All kinds of weird things. There is a video explaining the details, and you’ve got to be far, far out.
Used to*, it was fixed in some version or another, where the procgen no longer evaluated how far you were from the origin
The game, including worldgen, will still bug out at longer distances - the issues were reduced and a world limit was added to prevent you going too far, and IIRC past a certain point the world turns into non-stop ocean, but I’m pretty sure if you bypass those limits you’ll encounter chunks that outright fail to generate.
OK, I have not played it for AGES. Nice to see something like that fixed, as it was a bit system-inherent.
I’ll have to look it up after work. Sounds interesting.
There’s a good documentary about this.
Fun fact: This is actually called the Salami Shaving Scam. Basically, shave off tiny pieces of a bunch of large chunks, and eventually you’ll have a massive amount. Like taking a single slice of salami from every sausage that is sold.
I got hung up on this line:
This requires deterministic math with explicit rounding modes and precision, not the platform-dependent behavior you get with floats.
Aren’t floats mostly standardized these days? The article even mentions that standard. Has anyone here seen platform-dependent float behaviour?
Not that this affects the article’s main point, which is perfectly reasonable.
Mostly standardized? Maybe. What I know is that float summation is not associative, which means that things that are supposed to be equal (x + y + z = y + z + x) are not necessarily that for floats.
The real standard is whatever Katherine in accounting got out of the Excel nightmare sheets they reconcile against.
If you count the programming language you use as ‘platform’, then yes. Python rounds both 11.5 and 12.5 to 12.
This is a common rounding strategy because it doesn’t consistently overestimate like the grade school rounding strategy of always rounding up does.
That is default IEEE behaviour: https://en.wikipedia.org/wiki/Rounding#Rounding_half_to_even
This is the default rounding mode used in IEEE 754 operations for results in binary floating-point formats.
Though it’s definitely a bad default because it’s so surprising. Javascript and Rust do not do this.
Not really anything to do with determinism though.
I think using millicents is pretty standard in fin-tech.
deleted by creator