Note that FP is a suboptimal choice for things where you have predominantly absolute inaccuracy (e.g. time-since-epoch). It shines when your inaccuracy is predominantly relative. That is a usually a good assumption if your measurements are done using a measure appropriate for the scale you're measuring.
I don't see any alternative. When I do computations on paper that involve values measured with some uncertainty, I essentially use base 10 floating point.
_If you're in the right situation_ those eccentricities do not matter. It doesn't matter to me that I can't represent exactly 2/3 in decimal floating point -- the value I'm going to e.g. multiply that 2/3 with in a few moments anyway comes from a measurement with some relative error, so I can just choose appropriately accurate representation of 2/3.
I disagree that this is the only case.
If (a) you actually care about relative precision of results (b) you can structure the whole computation in the middle so that it's well behaved (i.e. derivative of the logresult wrt logvalue for any intermediate value is bounded by a reasonably small constant) then floating point is actually doing precisely what you want. Fixed point would _not_ be doing what you want then, because it would have fixed absolute precision (so would have worse precision when the output values are small).
This is not as contrived a setup as it sounds like. Many physical processes can be described as such computations (because all intermediate values are noisy, so the process becomes chaotic if it's not well-behaved as described above). This is also how people do computations by hand (e.g. compute everything to some number of significant digits), so it's a model that's very familiar to many.
@danluu What do you mean by disabilities that match the standard masculine ideal? I thought the standard masculine ideal explicitly included lack of disabilities.
I find it amusing that small hands are a thing that is considered negative, because it's very useful if you do any mechanical work at all (well, maybe having thin hands with long fingers is better, but still, thick hands are the least convenient when you need to fish out a nut or a bolt you've dropped out of the thing you were bolting together).
@b0rk Maybe it's useful to mention what that problem is? The way I phrase it is that FP is intended for computations where you care about relative accuracy.
Nit:
> if you add very big values to very small values, you can get inaccurate results (the small numbers get lost!)
This is either not true or misleading. The result is the closest value to the actual result of the computation that is representable. The exact result is not representable, but as soon as you consider multiplication that will be the case for fixed point values too.
I'm not sure if you intentionally mentioned only some of the solutions for the odometer (an atypical one that's missing is to introduce randomness: if the addend is smaller than minimum representable difference, increment by min_repr_diff with change of addend/min_repr_diff; apart from there there are standard approaches for summing long sequences of fp values).
> example 4: different languages sometimes do the same floating point calculation differently
GPUs will often have some FP functions implemented so that they provide slightly different results. I vaguely recall that libm's trig functions can give different results depending on which exact cpu libm is compiled for (because it will or won't use particular intrinsics for trig functions depending on that).
> example 5: the deep space kraken
Similar cool looking issue from Outer Wilds: https://www.youtube.com/watch?v=ewSgPdBjNBA (very minor spoilers for OW).
> I think the lesson here is to never calculate the same thing in 2 different ways with floats.
If you squint this looks like the lesson from, I think, most of the examples (all but the odometer ones?).
I extrapolated from ChatGPT regularly hallucinating bibliographical references.
True, not much, unless that swamps real ones. Dunno if that would happen.
I would expect that to result in some amount of totally fake URLs.
@kjhealy If someone wishes to read more: https://www.courtlistener.com/docket/66678711/jpmorgan-chase-bank-na-v-javice/
@eta But how does the train motion detection work? Usually you wouldn't care whether it overtriggers _out_ of unoccupied segments, because the designators there are empty.
@maddiefuzz Do I UC that these were taken at different distances?
@eta I don't entirely know what logic is used to move train designators forward: don't they run a risk of that engaging for whatever odd reason and these moving someplace else?
The appropriate part of the spec for this particular thing is https://www.w3.org/TR/activitystreams-core/#collections, in case it's helpful (it describes all the weird quirks where field can be a string with the url of the object, a Link object that describes the same, or the object inlined which then might or might not have a canonical URL of its own...).
@b0rk It's not a Mastodon, but an ActivityPub API.
There's no fixed URL. The URL can be read from the `replies` field of the post itself: https://paste.sr.ht/~robryk/40f933d4009d3ee0ade413ae7c0163da5db74dc8
I'm surprised by this. Each post has a replies collection that you can fetch. Fetching collections is slightly annoying (because they're usually paginated and paginated collections in ActivityPub work by each page providing the link to the next page), but is not too bad.
Is this more annoying than I realize or does that simply not work?
I enjoy things around information theory (and data compression), complexity theory (and cryptography), read hard scifi, currently work on weird ML (we'll see how it goes), am somewhat literal minded and have approximate knowledge of random things. I like when statements have truth values, and when things can be described simply (which is not exactly the same as shortly) and yet have interesting properties.
I live in the largest city of Switzerland (and yet have cow and sheep pastures and a swimmable lake within a few hundred meters of my place :)). I speak Polish, English, German, and can understand simple Swiss German and French.
If in doubt, please err on the side of being direct with me. I very much appreciate when people tell me that I'm being inaccurate. I think that satisfying people's curiosity is the most important thing I could be doing (and usually enjoy doing it). I am normally terse in my writing and would appreciate requests to verbosify.
I appreciate it if my grammar or style is corrected (in any of the languages I use here).