News for hackers. Stuff that matters.
Re:Spotify Codes – Part 2 by superjan on Sunday November 14, 2021 @04:59AM (#29216320)
The code has a CRC code embedded. Why is it that every article mentioning CRC codes brings up that you can write them as polynomials? AFAICT it never makes a difference in implementation. What am I missing?
Re:Spotify Codes – Part 2 by mananaysiempre on Sunday November 14, 2021 @11:23AM (#29218126)
That bitwise XOR is polynomial addition (and subtraction) in F_2[x] (polynomials with coefficients mod 2)?

More immediately, it’s about the only way to unambiguously write which polynomial you mean, independent of endianness and similar notational issues. (The error correction properties don’t care about the way you arranged the bitstream into bytes or words.)

But I find the knowledge that I am just implementing long division helpful, too. I did transcribe the beast mindlessly from a reference book a couple of times before I got it, but debugging it that way is pure hell.

Re:Spotify Codes – Part 2 by lifthrasiir on Sunday November 14, 2021 @07:58AM (#29216940)
I think it is easier to extend a polynomial multiplication (known concept) with a finite field than to directly introduce a carryless multiplication. Also there are multiple different bitwise representations for the same polynomial, so separating them might avoid some confusion.
Re:Spotify Codes – Part 2 by superjan on Sunday November 14, 2021 @08:25AM (#29217028)
Thanks. I suppose that there is value in expressing the operations in a form that all agree is well defined.