roxgib 2 days ago

> Unfortunately — and Shel was well aware of this very quickly, but of course by that time, it was too late — ISBNs are terribly abused in the United States. The company that issues ISBNs, Bowker, charges a lot of money for ISBNs (from the perspective of small publishers, anyway), and publishers don’t necessarily read all the rules. Small publishers were re-using ISBNs, and they also took their range of ISBNs and numbered through the entire range, rather than respecting the rule that the final character is actually a checksum, and you can only iterate through some of the digits. (It’s actually worse than just not using the last digit, but I’m not getting into that here.)

If there's a single company issuing them how are there companies using ones with invalid checksums?

  • tharkun__ 2 days ago

    Because you get issued a range and you actually do whatever you want within that range. Like IP addresses.

    What you do within that range is up to up, you don't actually have to ask the authority for every single number within the range. As a simplification: If you get the number from 100 to 200 to assign to your books but the last digit is a check digit, you didn't get 100 numbers to choose from. You got to choose from: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 and the third number is the check digit, which is computed from the other numbers. Just with ISBNs (and other numbering schemes) the numbers are larger of course.

    Going back to the IP address analogy: if you are issued 11.0.0.0/8, you can use anything from 11.0.0.1 to 11.255.255.255 but you don't have to start with 11.0.0.1 and you don't have to treat it as one big /8 either. You can subdivide it into multiple /28s for example.

    The only difference here is that with ISBNs (or anything else that has a check digit) is that the last digit is not freely usable. It's just a check digit. It's not really part of the range so to speak. It's like you subdividing your /8 into lots of /28s but ignoring the fact that the network address on the /28s is actually the network address and having one of the computers in your network use it as their actual IP address. That's obviously gonna wreak some havoc because some of your network thinks it's a network address for one of the /28s and some others think it's an individual computer.

    • bambax 2 days ago

      To elaborate on your example, if the last digit cast out nines from the previous two digits, valid numbers are 101 (1+0=1), 112, 123, 134, 145, 156, 167, 178, 189, 191 (1+9=10, 1+0=1), 202. So for example 102 is NOT a valid number — it doesn't exist! And if it is used, and someone somewhere tries to validate it, it will throw an error.

      Hence the article says:

      > Shel very quickly removed all ‘checksum software checks’ (which would have made sure it was a legal ISBN)

      I find it incredibly fascinating (and a little bit depressing) that publishers would twist the system in that way, but maybe it has to be expected if something is sold for a large amount of money.

      In France ISBN are free; there is a central agency (Electre) that issues them but they don't charge for it (at least not to small publishers).

      But EAN/UPC codes are issued by a different agency, GS1, that does charge a recurring fee, and it is expensive and "infinite" (you're supposed to keep paying for as long as you're using the codes). But even them don't charge for the range size; the fee is based on the turnover of the company buying the codes.

  • emodendroket 2 days ago

    It sounds like you buy a range of numbers and publishers use invalid ones in that range rather than pony up for more of them.

  • crabmusket 2 days ago

    For some reason, ISBNs having check digits seems really strange to me. I wonder why. I am sure that Australia's smart meter numbering scheme also uses a check digit, but on learning that it that didn't strike me as odd. Maybe the association with books and "old stuff" makes it seem incongruous to me.

    In general, are check digits common in schemes like these? Is it something you'd do if you expect lots of manual copying, or scanning or other potentially-error-producing conversions?

    • tuxlifan 2 days ago

      I always assumed the check digit was included as safeguard for barcode scanning.

      Upon a quick reading of the Wikipedia article on EAN-13 it appears that there is some parity to determine the direction of the scan (i.e. upside-down or upright) but the numbers are encoded as-is without any further error correction contrary to e.g. QR codes.

      Alas, for a definitive answer on the reasoning one might have to buy the relevant ISO standard, if it is even described there.

      Given that human adults are said to be able to keep 5-9 items in working memory, I would think it prudent to include a check digit for the ISBN when one might be required to manually enter them into search masks, forms, etc. and if only hearing it (e.g. over the phone) might not benefit from the grouping they visually gain from the interspersed dashes.

      On the topic of correctly copying (manually):

      whenever I have to be certain to correctly transcribe a long important number or string I would at the end cover up both the source and the transcription, then reveal one character from the end, then the second to last on e.g. the source, verify that the last and the second to last on the transcription matches (in that order!), then uncover the next 2 on the transcription, verify against the source, continue with the source and so on. This helps immensely to discover transposed digits (especially since my mother tongue is German where we swap the tens and ones while speaking (or thinking with the inner voice) a 2-digit number) and not glance over well known digit groups such as zip code or special dates, etc.

    • jcynix 2 days ago

      Before everything "online" a bookstore would order books from a wholesaler. often via paper. Giving the wrong number would either result in order forms being sent back and force or wrong books being delivered which had to be returned (if possible at all). So having check digits seems like a cleve idea to reduce possible errors resulting in unneeded transactions.

      And International Bank Account Numbers (IBANs) have two check digits, but at the front, not at the back. And having check digits is important, because it might not be easy to get your money back, if transferred to some unintended account.

      The IBAN consists of up to 34 alphanumeric characters comprising a country code; two check digits; and a number that includes the domestic bank account number, branch identifier, and potential routing information. The check digits enable a check of the bank account number to confirm its integrity before submitting a transaction. https://en.wikipedia.org/wiki/International_Bank_Account_Num...

    • dx034 2 days ago

      I get it for a smart meter, you don't want to mix up numbers and provide wrong readings. And they could be read manually and entered into a system, even if they're "smart".

      But for books, the worst that can happen is that you get the wrong book. Maybe back in the days when people ordered books via phone it was good to have a checksum, but even then the seller would probably read back the name of the book. So I don't really see how it's necessary here.

      • bombcar 2 days ago

        Lots of things have check digits that may no longer need them. Credit cards have a formula, etc. was important when hand doing things was common and barcode readers were weak perhaps

philwelch 2 days ago

Here’s some ASIN trivia from my time at Amazon in the early 10’s. At least at that time, there was exactly one inventory item at Amazon that could change ASINs during its lifetime: Amazon Fresh used different ASINs for green bananas and yellow bananas.

  • ComputerGuru 2 days ago

    That sounds like an inventory keeping nightmare! You buy 4000 units of green bananas and end the month having 0 units left, having sold none... while you somehow managed to sell 2200 yellow bananas you didn't even have and on top of that lost another 1800 (that never even existed!) to spoilage.

    • nraynaud 2 days ago

      And then you introduce double entry accounting in your stock management and hell breaks loose.

      • HyperSane 2 days ago

        That seems like it would require tensor calculus.

        • nraynaud 2 days ago

          and a crazy training of all your new hires.

  • jahewson 2 days ago

    If a banana ripens in a forest and nobody is around to see it, does its ASIN change?

    • tuxlifan 2 days ago

      And weirdly, if there were no trees around [it], it wouldn't even be [called] a forest.

      I would love to hear from a botanist/banana-related person what a bunch of banana plants are called. Are there similar differing names as for groups of various animals?

  • hef19898 2 days ago

    I never worked with Fresh. Among the more fun things so was getting X-ASINs to work at 3PL sites...

    Seriously so, Amazon's ASINs are among the best part number systems I encountered in my life so far. And it is incredibly scaleable as well!

  • eyelidlessness 2 days ago

    I don’t know if I’m more surprised that Amazon Fresh existed in the early 10s or that Amazon Fresh sold green bananas in that timeframe.

    • philwelch 2 days ago

      Fresh dates back to 07, actually, though it was delivery-based and almost entirely in Seattle originally. They have gone through a few pivots since then.

      • eyelidlessness 2 days ago

        I knew it started here, now I just feel very old haha.

  • ignite 2 days ago

    Really? Amazon (now) sells thousand of things that have an expiration date. I hope they track this.

    • ignite 2 days ago

      Ah, I read the rest of the article: "They are using a new ASIN for each new expiration date on a given product."

      • ehnto 2 days ago

        I wonder if they have a different ASIN per batch on products where batches matter. Something like fabrics are not created identically each run, so getting all your fabric for one project from the same batch is important, otherwise the colour difference can be noticeable. Same goes for things like wallpaper, flooring, car wrap etc.

  • seniorsassycat 2 days ago

    Is it actually a mutate or do you write off greens and add new yellows?

    • hef19898 2 days ago

      No idea hoe Amazon did it, but I suspect a inventory transfer from green to yellow. That is properly tracked and accounted. You never use inventory adjustments to move inventory, as tose are literally shooting inventory into the aether (negative adjustments) and creating inventory out of thin air (positive ones), resulting in zero inventory tranparency or traceability.

    • dylan604 2 days ago

      If you're Enron, you count both as being in the inventory

    • philwelch 2 days ago

      I heard this second hand; I don’t actually know how the inventory for Fresh worked at the time.

oaththrowaway 2 days ago

Years ago I spent a lot of time trying to figure out how to get a Kindle to "Whispersync" sideloaded books. Eventually I figured out it was as simple as having an ASIN included in the books metadata (Calibre does this automatically now, but it was fun figuring it out manually with Python scripts).

Originally I thought the ASIN had to be valid, but eventually realized it didn't even matter, just had to match the pattern.

  • RockRobotRock 2 days ago

    Wow, TIL. So you're saying you can get the audiobook legit through Audible and use a downloaded EPUB and it will still work if the ASIN is in the metadata? This is definitely worth a blog post or something at least.

    • innocenat 2 days ago

      No. A USB side-loaded book in AZW3 or KFX format with embedded ASIN, and tagged EBOK, is treated as Amazon books. Everything sent via Send to Kindle is tagged PDOC so they behave differently.

      Normally, books sent via USB can't use Whispersync to sync reading position between different devices. OP is saying that if you embed ASIN into the book (can just be a random ASIN) and sideload the same books to multiple device, they will sync, too.

      • RockRobotRock 2 days ago

        Is there any way to do this with the Kindle app instead of a physical Kindle?

aftbit 3 days ago

Some products come from AFN/FBA with an ASIN-formatted number on a barcode on the product bag, but which starts with "X" instead of "B". I believe this to be some kind of inventory tracking code that relates the product to the vendor who shipped it into the Amazon fulfillment network. At the rate of 100B ASINs allocated per year, Rebecca may be disappointed to know that in only 967 years, Amazon will begin to collide between ASINs and whatever these numbers are.

Honestly I expect they'll hit some big problems when they first allocate ASINs beyond Bxxxxxxxx as I'm sure a lot of software has begun to expect all ASINs to either be an ISBN or start with "B".

  • TMWNN 2 days ago

    >Some products come from AFN/FBA with an ASIN-formatted number on a barcode on the product bag, but which starts with "X" instead of "B". I believe this to be some kind of inventory tracking code that relates the product to the vendor who shipped it into the Amazon fulfillment network.

    Correct. It is an FNSKU (Fulfillment Network SKU), which is both product- and seller-specific.

    Amazon listing for item with ASIN B1234567:

    * Seller 1 sells on the listing. His inventory of B1234567 is assigned FNSKU X8675409. When he sends inventory to Amazon, each unit must have a sticker with X8675409 covering the UPC code, or the seller can pay a fee for Amazon to affix the sticker.

    * Seller 2 sells on the listing. His inventory of B1234567 is assigned FNSKU X4894608. When he sends inventory to Amazon, each unit must have a sticker with X4894608 covering the UPC code, or the seller can pay a fee for Amazon to affix the sticker.

    For most listings, the seller can choose to use the UPC code instead of Amazon assigning an FNSKU. Called "commingling", this is unwise because there is no way for Amazon to distinguish between its own inventory, your genuine inventory, and another seller's counterfeits. Amazon says that its inventory procedures still differentiate between sellers, but a) no one believes this and b) all the stated procedures would do in a case of, say, Seller 2's counterfeit item being shipped when Seller 1 makes a sale would be to potentially identify that Seller 2 is the source of the counterfeit, as opposed to avoiding shipping it in the first place.

  • emodendroket 2 days ago

    That may well be, but the beauty of a distributed system where each service has a discrete owner is that that’s their problem.

layer8 2 days ago

> It’s actually worse than just not using the last digit, but I’m not getting into that here.

Clearly, using only nine characters would have been asinine.

WorldMaker 3 days ago

I bet there are some interesting stories from the groups that tried to use the A-prefixed ASINs.

neilv 2 days ago

In addition to the other associations of the name "ASIN", there was also the Pet Shop Boys hit pop song "It's A Sin", several years earlier:

https://www.youtube.com/watch?v=dRHetRTOD1Q&t=1m

  • neilv 2 days ago

        For everything I want to sell
        No matter book or bathtub gel
        There's one key thing in S-Q-L
        I need, I need, I need, its ASIN
password11 2 days ago

> I objected to subdividing and having different parts of the string mean different things because it would substantially reduce the addressable space, and limit the number of items that could be moved through Amazon before having to go back and do this re-keying exercise again, with an even bigger code base. The people who wanted “special” ASINs were pretty persistent, though, so I threw them a bone: they could have all the ASINs that started with the letter A, and I would start the counter for ASINs at B000000000. Finally, this proposal had to get past...

kwanbix 2 days ago

The problem with ASINs is that they are not unique within amazon marketplaces. So B0000001 could be a toy in USA and a Book in Germany.

  • warp 2 days ago

    In general they seem to match (I just checked a random product from amazon.com, B08VD5JZJD), and get the same product when opening /dp/B08VD5JZJD on german amazon, france, japan, spain and UK.

    Has this perhaps changed over time, are there older ASINs which are different between regions, but new ones refer to the same product everywhere?

    • tuxlifan 2 days ago

      Anecdotal, about 15 years ago I had good success with using USA site ASINs on a European site but about 5 years ago I only got "not found" results so I stopped trying and do the "try typing in the name and hope for the best"-dance if I don't skip amazon directly and search on meta-portals instead (in particular for IT devices geizhals.eu has a very extensive filter system so it's easier to also search for alternatives in one go). I don't remember which categories the items belonged to though or if there might have been some "market region" restrictions/scarcities placed by the sellers.

dark-star 2 days ago

I always wondered why ASINs start with B.....

Anyone know what the A.... ASINs that were mentioned in the article are/were used for?

  • hakanensari 2 days ago

    They appear to have never been used!

layer8 2 days ago

(2021)

  • dang 2 days ago

    Added. Thanks!

greenie_beans 2 days ago

wow this blog might be a gold mine for me rn? (also i feel like an idiot for trying to make another bookstore ecommerce platform (wip))