Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. General Discussion
  3. This is from the JSON-LD spec.

This is from the JSON-LD spec.

Scheduled Pinned Locked Moved General Discussion
activitypubactivitystreamsjsonldrfc7159rfc8259
5 Posts 3 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • reiver@mastodon.socialR This user is from outside of this forum
    reiver@mastodon.socialR This user is from outside of this forum
    reiver@mastodon.social
    wrote last edited by
    #1

    This is from the JSON-LD spec.

    ActivityPub / ActivityStream are based on JSON-LD.

    I think it was a very bad idea for JSON-LD to define "number" this way!

    It makes it so numbers with fractional values are inexact & lossy.

    This include values that are common for money.

    For example, neither 0.10 and 0.20 can be represented exactly. So, 0.10 + 0.20 does NOT equal 0.30!

    It should have used FIXED-point numbers rather than FLOATING-point.

    #ActivityPub #ActivityStreams #JSONLD #RFC7159 #RFC8259

    jenniferplusplus@hachyderm.ioJ julian@activitypub.spaceJ 2 Replies Last reply
    1
    0
    • tag-activitypub@relay.fedi.buzzT tag-activitypub@relay.fedi.buzz shared this topic
    • reiver@mastodon.socialR reiver@mastodon.social

      This is from the JSON-LD spec.

      ActivityPub / ActivityStream are based on JSON-LD.

      I think it was a very bad idea for JSON-LD to define "number" this way!

      It makes it so numbers with fractional values are inexact & lossy.

      This include values that are common for money.

      For example, neither 0.10 and 0.20 can be represented exactly. So, 0.10 + 0.20 does NOT equal 0.30!

      It should have used FIXED-point numbers rather than FLOATING-point.

      #ActivityPub #ActivityStreams #JSONLD #RFC7159 #RFC8259

      jenniferplusplus@hachyderm.ioJ This user is from outside of this forum
      jenniferplusplus@hachyderm.ioJ This user is from outside of this forum
      jenniferplusplus@hachyderm.io
      wrote last edited by
      #2

      @reiver that's a json thing, which is itself a JavaScript thing. JS doesn't have an integer type, only number, which is a double precision floating point. Json is a serialization spec for JavaScript objects, and jsonld is spec for pretending that adding one property to a json document makes it a collection of rdf triples and then getting mad about it when the rest of the world just wants things to be parseable

      reiver@mastodon.socialR 1 Reply Last reply
      0
      • jenniferplusplus@hachyderm.ioJ jenniferplusplus@hachyderm.io

        @reiver that's a json thing, which is itself a JavaScript thing. JS doesn't have an integer type, only number, which is a double precision floating point. Json is a serialization spec for JavaScript objects, and jsonld is spec for pretending that adding one property to a json document makes it a collection of rdf triples and then getting mad about it when the rest of the world just wants things to be parseable

        reiver@mastodon.socialR This user is from outside of this forum
        reiver@mastodon.socialR This user is from outside of this forum
        reiver@mastodon.social
        wrote last edited by
        #3

        @jenniferplusplus

        AFAIK, it is an IETF JSON thing, and wasn't part of the original (pre-IETF) JSON.

        Here's the oldest version of the JSON spec I could find:

        https://web.archive.org/web/20030228034147/http://www.crockford.com/JSON/index.html

        It defines "number" as in the screen-shot, and doesn't say anything about floating-point numbers.

        ...

        I do agree with you that the reason IETF JSON talked about floating-point numbers is almost certainly because of JavaScript.

        1 Reply Last reply
        0
        • reiver@mastodon.socialR reiver@mastodon.social

          This is from the JSON-LD spec.

          ActivityPub / ActivityStream are based on JSON-LD.

          I think it was a very bad idea for JSON-LD to define "number" this way!

          It makes it so numbers with fractional values are inexact & lossy.

          This include values that are common for money.

          For example, neither 0.10 and 0.20 can be represented exactly. So, 0.10 + 0.20 does NOT equal 0.30!

          It should have used FIXED-point numbers rather than FLOATING-point.

          #ActivityPub #ActivityStreams #JSONLD #RFC7159 #RFC8259

          julian@activitypub.spaceJ This user is from outside of this forum
          julian@activitypub.spaceJ This user is from outside of this forum
          julian@activitypub.space
          wrote last edited by
          #4

          @reiver@mastodon.social pretty sure this kind of ambiguios why Stripe represents everything in cents, no? 😏

          1 Reply Last reply
          0
          • reiver@mastodon.socialR This user is from outside of this forum
            reiver@mastodon.socialR This user is from outside of this forum
            reiver@mastodon.social
            wrote last edited by
            #5

            @julian

            Yes, very likely.

            When I built the core software for a bank more than a decade ago, I did the same.

            1 Reply Last reply
            0

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better 💗

            Register Login
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Don't have an account? Register

            • Login or register to search.
            Powered by NodeBB Contributors
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • World
            • Users
            • Groups