1. 24

  2. 35

    TL;DR: They stopped sending reverse deltas for rollback and now generate them on-the-fly during installation.

    1. 16

      They gotta be kidding, right?

      We discovered that these transforms and patches can be “observed” by the delta apply step

      “DISCOVERED”. No shit Sherlock! Also, easy to miss icing on the cake at the end of the article:

      [1] The approach described above was filed on 03/12/2021 as U.S. Provisional Patent Application No. 63/160,284 “REVERSE UPDATE DATA GENERATION”

      1. 7

        You clearly haven’t worked at a BigCorp or you’d know they force you to patent anything no matter how trivial. I have several such patents to my name, which I would be embarrassed to link to (the patent plaques I got went straight into the trash). All the nontrivial ideas I’ve had (some of which have shown up in research papers) have never been patented, to the best of my knowledge.

        1. 3

          There is no pressure to patent things at Microsoft.

          1. 1

            I wasn’t pressured, I was just told “sign on the dotted line”. Ditto at Amazon. I’m sure things are no different at GOOG or FB. Big companies are forced to maintain an arsenal of defensive patents for strategic reasons, so I can’t blame them for responding to incentives.

          2. 2

            Can you just put references to the prior art in the patent application and save the examiner some time?

            1. 2

              Yep. An old colleague of mine has a patent for “generating a receipt after a transaction, but not showing the receipt to anyone at the time just storing it somewhere where it’ll get aggregated into a big receipt database” or something to that effect.

            2. 6

              That reminds me of those patch notes when after more than two decades, the Internet Explorer engineers discovered that the DOM can be stored in memory as a tree instead of a long string that contains all the elements [1]. Kind of a “car mechanic discovers the concept of a wheel” moment. The fact that this was a noteworthy thing a few years ago blew my mind. No wonder Internet Explorer was left in the dust by its competitors.

              [1] https://blogs.windows.com/msedgedev/2017/04/19/modernizing-dom-tree-microsoft-edge/

              1. 7

                Using a string data structure (a highly optimized one mind you) for the DOM wasn’t a stupid decision at all back when the DOM really was “just text” and programmatic DOM manipulation wasn’t really a thing.

                1. 1

                  Very true, though IE sucked at it even then. :-P

            3. 3

              That’s surprisingly sensible! You can probably generate the rollback delta as you apply the forward patch.

            4. 8

              BTW, is bsdiff still the state of the art?

              1. 7

                Pretty much, yes. https://github.com/divvun/bidiff is a variation on the theme, but only in that it uses zstd instead of bzip2 for the final compression pass and consumes less memory.

                1. 1

                  The memory consumption of bsdiff is something that I’ve long had trouble with. Well, now I have much more RAM but the usage is really high anyway. Do you have more detailled numbers for bidiff? The github page is light on details for memory usage.

                  1. 2

                    It uses 5 × old file size.