Skip to content
DevMeme
3900 of 7435
Web3 Finally Achieves Floating-Point Precision
CS Fundamentals Post #4246, on Feb 23, 2022 in TG

Web3 Finally Achieves Floating-Point Precision

Description

This image is a screenshot of a tweet from user Lukas Eder (@lukaseder). The tweet, presented in simple black text on a white background, reads: 'Such a missed opportunity to call it web 3.000000000004'. The humor is a sophisticated inside joke for software engineers, blending two distinct concepts. The first is 'Web3', the marketing term for the next iteration of the internet, often associated with blockchain and decentralization. The second is the well-known issue of floating-point imprecision in computing, where certain decimal numbers cannot be represented perfectly, often resulting in tiny errors like the one shown (e.g., 0.1 + 0.2 equaling 0.30000000000000004 in JavaScript). The joke cleverly satirizes the grand, often imprecise, promises of Web3 by framing its version number with a classic, unavoidable technical limitation

Comments

13
Anonymous ★ Top Pick Web3's roadmap is a lot like floating-point math: the vision is grand, but the implementation details are full of rounding errors
  1. Anonymous ★ Top Pick

    Web3's roadmap is a lot like floating-point math: the vision is grand, but the implementation details are full of rounding errors

  2. Anonymous

    Web3 keeps promising “immutable precision,” yet every Solidity audit feels like they implemented finance in float and called it Web 3.0000000000004

  3. Anonymous

    The real blockchain consensus problem isn't Byzantine fault tolerance - it's getting developers to agree that 0.1 + 0.2 should equal Web3, not Web3.0000000000004. At least now we know why gas fees are never quite what we calculate

  4. Anonymous

    Web 3.000000000004 would at least be honest: built on JavaScript, accurate to within an epsilon of its promises

  5. Anonymous

    Ah yes, the eternal struggle between marketing's 'Web 3.0' and what IEEE 754 actually gives you in production. At least with floating-point imprecision, you know exactly what you're getting: approximately what you asked for, plus or minus a few ulps. Unlike Web3 promises, floating-point errors are at least deterministic and well-documented since 1985. Though I suppose both share a common trait: explaining either to stakeholders requires a PhD-level understanding and infinite patience

  6. Anonymous

    Call it Web 3.000000000004 so when the roadmap drifts right, we can blame IEEE‑754 instead of governance

  7. Anonymous

    SemVer uses strings for a reason - call it Web3 in the deck and Web 3.000000000004 in prod if you insist on floats

  8. Anonymous

    Web3: decentralized, immutable, and off by 4 ulps - just like every sum since 1985

  9. @kandiesky 4y

    lmao true

  10. @ZgGPuo8dZef58K6hxxGVj3Z2 4y

    Actually its 0.3000...0004

    1. dev_meme 4y

      Why (0)?

      1. @ZgGPuo8dZef58K6hxxGVj3Z2 4y

        Because you can show any whole numbers in floats. But decimals get stored in fractions: 0x0.1 == 0.50 0x0.01 == 0.25 0x0.001 == 0.125 And so on... If you want 0.625 then you need a half (0.5) plus a eighth (0.125)

  11. @nepalymiynik 4y

    Thin

Use J and K for navigation