3 ms·
There's a ton of mindnumbing testing and grinding work that honestly no one really wants to do, involving bit-level accuracy in many cases. We (https://sheetjs
by sheetjs 8y ago
There's a ton of mindnumbing testing and grinding work that honestly no one really wants to do, involving bit-level accuracy in many cases. We (https://sheetjs.com/ https://sheetjs.com/) are attacking the file compatibility problem (our major open source project is https://github.com/sheetjs/js-xlsx https://github.com/sheetjs/js-xlsx, used in stencila's spreadsheet converters) and it is painfully obvious that OO/LO cuts corners at certain places. For example, the mathematics of Calc is intentionally bugged:
> ignore the last two bits for many stuff to improve the user experience.
https://bugs.documentfoundation.org/show_bug.cgi?id=83511 https://bugs.documentfoundation.org/show_bug.cgi?id=83511
A successful alternative to Microsoft Office has to start from a level of compatibility that no current developer in existing solutions has expressed interest in attaining.
- osrec 8y agoInteresting. In your experience, do you think heavy duty, in-browser office applications are now viable? I'm beginning to think they are, especially with the likes of web assembly becoming more ubiquitous.
- dorfsmay 8y ago> it is painfully obvious that OO/LO cuts corners at certain places. For example, the mathematics of Calc is intentionally bugged What about Gnumeric? My understanding is that the dev team (mainly Jody Goldberg really) have focused on accuracy. The gnumeric.org site has links to studies related to its accuracy.
- nokome 8y agoJust a quick word of thanks for SheetJs from a Stencila dev! All the "mindnumbing testing and grinding work that honestly no one really wants to do" is obvious and much appreciated. Your efforts are so important for the ensuring interoperability but are often not recognised because they are "in the backend".
- erAck 8y agoAs you referenced that bug and there also gave an example involving fractions and =0.1+0.2 you would certainly also agree that the binary floating point representation of =0.1+0.2-0.3 is not 0.0, still Excel displays 0 as result (and so does Calc) instead of 5.551115123125783E-17 because users expect that. Your bit-level accuracy approach isn't as simple when it comes to user experience and Excel compatibility.
- erAck 8y agoRegarding your fraction example there: =RAWSUBTRACT(0.1,-0.2,1/3) => -0.033333333333333 =RAWSUBTRACT(0.1,-0.2,2/7) => 0.014285714285714 So which one is closer to 0.3?