Threads for francesco

  1. 6

    Thanks, this is great. I was actually idly wondering how Reed-Solomon works for a past few weeks, your explanation is perfect.

    Rant: whyyyyyyyy Wikipedia is so useless for anything related to mathematics? https://en.m.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction contains a lot of data, but, for me at least, it’s very difficult to actually uncover any useful information there. “We sample a polynomial at k data points, and than add an extra t parity points, fundamental theorem of algebra is cool” is really all that’s needed here, and it’s nigh impossible to see that in the Wikipedia article.

    Is there some better generic reference for math stuff?

    1. 6

      When it comes to mathy stuff, I follow this procedure:

      1. Look on wiki. As you say, wiki won’t really give an intuitive explanation, so you just need to go through the article, block by block, making sure to understand each bit and forming your own intuitive explanation as you go along.
      2. If step 1 fails, search for the best textbook on the topic, and read enough to understand the topic at hand.
      3. If you found step 1 and 2 frustrating, write a blog post with the intutive explanation that formed in your head. This step is optional but recommended :).
      1. 4

        My take: The problem with explaining math is that it’s a vast connect subject.

        For any subject there are many, many, connections. Wikipedia lists these connections and facts. For a first read you’re better off with a handwavy blogpost, or a textbook.

        It’s a bit like manpages, not the best to get a first idea because it’s just too much information. Once you know most things, you can use it to look things up or discover options you didn’t know about.

        1. 3

          there is also a problem (if I may call it that) – with math notation. Extremely terse, mixture of logic symbols, subject-area specific symbols, and contextual symbolism.

          Imagine writing software requirements specifications, with no words, just industry/business vertical specific acronyms, with contextual references and connections that are only understood by folks who spent 30 years, in one department, concentrating in one area.

          Now, take the above, and multiply it over last 800 years, add historical and linguistic patterns that are difficult to understand, add overloaded symbols that come from other subject area. And all of those, are still needed layers of understanding…

          And yes, there are 100s levels deep of connections within these layers, across statements, observations, conclusions, and patterns.

          And that’s the math.

          Then there are 1000s of earnest attempts to “unwind” pieces of that knowledge and project it into the sphere of ‘analogies’, hopefully understood by the intended audience (in our times, these are pictures/videos, etc. 300 years from now, it will be ‘visual holograms’ and ‘mind-hints’ of sorts).

          Reality of this, I think, is that our human lifespan is not increasing, but the complexity of knowledge is increasing. So we end-up with ‘narrow specialists’. Not just in math, but in surgery, in STEM sciences, anywhere were you must be exact…

          The ‘narrow specialists’ cannot function without other specialists, and without specific economic support. So we get these conglomerates and near-monopolies (whether privately or publicly owned) that house those ‘narrow but deep’ specialists.

          We hope that AI will help to deal with knowledge complexity.

          1. 1

            here is also a problem (if I may call it that) – with math notation. Extremely terse, mixture of logic symbols, subject-area specific symbols, and contextual symbolism

            Our calculus professor would sometimes make us give proofs entirely in words without any notation. He also used absurd symbols such as happy and sad smileys for ring/field operations to make a point that the notation is arbitrary and makes no sense without a shared understanding of what it means.

            Many hated his notationless proof exercises, but I thought it was a fun game to play. Now I think it was also a valuable lesson.

        2. 3

          Because it’s written by and for mathematicians, not by teachers for students.

          Don’t know of any better sources though, unfortunately.

          1. 1

            Completely agree about Wikipedia. I’ve found https://math.stackexchange.com/ to be a good alternative, assuming you are able and willing to submit a question.

            1. 1

              For me, this is the general difference between inductive vs deductive explanation.

              I’m used to examples and ramifications and then deducing the rules from that. Many education systems, and math as a discipline, is super inductive.

              I think that’s why I have a tough time with math on Wikipedia.

            1. 8

              Paul Khuong provided a way to reliably allocate 2MiB aligned pages with mmap, without having do mess around too much to get the alignment: https://twitter.com/pkhuong/status/1462988088070791173.

              mmap is a bit safer than aligned_alloc because you don’t need to madvise first, which is not guarantee to work, since aligned_alloc is not guarantee to allocate the page before you get to madvise. See https://twitter.com/trav_downs/status/1462929358155223043, from the same thread.

              1. 1

                On iOS you can simply make an encrypted backup on your computer, decrypt it with iOSbackup and get the sqlite database and other data WhatsApp uses on the phone. It is fast, complete and convenient.

                I haven‘t checked if this approach is also possible on Android.

                1. 2

                  Sadly as far as I know that isn’t possible on Android. I actually used the method you mentioned, plus https://www.wazzapmigrator.com/ , to get my messages from iOS to Android.

                1. 2

                  Author here – you can also browse the single-file source code to dump the messages, which contains the poorest protobuf and tar implementations: https://github.com/bitonic/wadump/blob/master/dump-messages.js :)

                  1. 2

                    @francesco: Nice artlcle! I’ve noticed a typo: you once quote the branches per element number as 0.3 instead of 0.13.

                    1. 1

                      Indeed, thanks, I’ve fixed it.