Joe Tsai
Joe Tsai
My analysis of thousands upon thousands of usages of text and JSON at Google indicates that approximately 90% of usages do not care about stability at all, 9.9% are golden...
> internally, `detrand.Disable` is frequently called in testing It is appropriate for the module itself to disable instability because this module fully controls every aspect of how the output is...
> I'm really curious: what were the subtle differences between the implementations? Between the old and new text implementation for Go the largest difference was the switch from "" delimiters...
> That was my argument 10 years ago. I now think I was arrogant -- I was trying to force them to do things my way "for their own good",...
> Anyway, there's a lot of reasons other than golden tests that stable output is valuable. Caching, signatures, ... Building on what [Damien said](https://github.com/golang/protobuf/issues/1121#issuecomment-628728293). This is not a hypothetical, but...
> if users are writing golden tests, fixing them for a given pin is a one-time operation. @bufdev, in [CL/223278](https://go-review.googlesource.com/c/protobuf/+/223278), I proposed changing the deterministic randomness to be seeded by...
> on golden tests much more heavily than we do, and they won't update either ... I don't have time to go update my tests and convert them to the...
> you could use the old jsonpb.Marshal for sure, but saying this is the only option (outside of working around this with json.Compact) doesn't seem right. Why? Users want a...
> This would be a fantastic outcome - is there anything we can do to help get this started? Let me know. A canonical formatting for floats is probably the...
Thanks @bufdev! These look like great leads. There does seem to be a lot of promise in using ECMA 7.1.12.1's definition (which happens to be implemented by V8). I'll take...