• (cs) in reply to tony
    tony:
    In my experience, asking app devs to do something differently for the sake of the dB rarely gets anywhere fast. So he was working around a bad situation. Given the initial implication that not all the queries are SPs, I was expecting the story to end with "and after he removed the table, thinking he knew better, all the adhoc queries broke".

    DBAs aren't legally allowed to be pushovers like that.

  • (cs)

    Yes, internationalization really sucks.

    Just yesterday, I was diddling around with my environment variables, and added LC_ALL=C there. I thought nothing of it until I went to print using a nice program. Unfortunately the internal workings of Linux and glibc in particular seem to default paper sizes in the "C" locale to being A4 paper.

    Now I really don't want to print on skinny/long paper when the nice laser printer only has nice USA letter paper in its trays (all 4 of them), and so the printout was chopped off on the top and had a little extra room on the right margin. I finally figures out that the crazy people in POSIX land seem to like A4 paper, so I had to modify things to get it back.

    Of course, there was no place to change the "C" locale as it was wired into the programs, but maybe they would deal with it correctly. Somehow I believe that there IS a multitude of tables that translate nice numbers into words, and it is replicated in so many places that we will never know its true extent.

    Note to self: Nice USA letter paper is wonderful!!

  • lolatu (unregistered) in reply to henke37
    henke37:
    The issue wasn't so much the existence of the table, but the implied use of it.

    Such a pity that the article didn't actually tell us how it was being used.

    I know right. That table in, and of itself, is hardly a WTF.

  • faoileag (unregistered) in reply to Young Euro Guy
    Young Euro Guy:
    Sorry, what's a check (or checque)
    A cheque is an ancient form of payment involving a piece of paper with your bank acccount number on which you write a sum and then sign it.

    The use of a cheque as method of payment in a supermarket is a good way to make friends - especially with the people in the queue behind you. They will just love you for the time it takes to fiddle out your chequebook, enter the sum and sign it.

    For unknown reasons cheques are still in widespread use in the USA; most of Europe these days has moved on to pin secured payment by direct debit card.

  • faoileag (unregistered) in reply to JimM
    JimM:
    A naive SELECT statement took five minutes, returning the following.

    A SELECT statement on one table took five minutes? What were they running it on, an Atari 2600? Did someone have to fetch the right wax memory drum from the basement?

    I call BS ... without even getting on to the table itself...

    Oh, I wouldn't call BS just based on that number. It has probably been made up by the author to embellish the wtf into a story anyway.

  • (cs) in reply to Rick
    Rick:
    Rick:
    PS: If any developer on my team created a TEXT column where a VARCHAR would do, I would give them grief too. TEXT columns trade capacity for efficiency - you can store a couple of GB worth of text in there, but they can't be indexed, require custom code for searching, and require extra lookups when retrieving (due to the row just holding a pointer to the TEXT location rather than the actual value - like it does for all other columns.)

    That really depend on the database server you use. Most don't have any of the problems you mention and treat varchar and text the same.

    Well, MS SQL Server, Sybase, MySQL and Oracle (they call it CLOB) all work like I described. What database server are you thinking of? Or perhaps you're confusing varchar(max) with regular varchar?

    I was mostly thinking about Postgresql and Mysql(And sqllite, but I don't know if that count as anything).

    In postgresql varchar is the same as text, and varchar(n) is implemented as text with a length constraint.

    And mysql does almost the same thing, but I can't remember the details.

    Are you sure about MS not doing this? I newer really used it in production, but I seems to remember it doing the same. But I might be wrong.

  • (cs) in reply to faoileag
    faoileag:
    For unknown reasons cheques are still in widespread use in the USA;

    This is news to me.

  • Mason Wheeler (unregistered)

    I can actually see some value in having a table like that in the database. But running joins against it all the time is kind of silly. This is data that's not going to be updated frequently, if at all, which makes it a prime candidate for caching. The application, upon startup, should SELECT the entire table and hold its contents in memory, and do the lookups client-side.

  • (cs) in reply to locallunatic
    locallunatic:
    boh:
    ZoomST:
    Or localize to French language, where 83 is "quatre-vingt-trois", that means "4 times 20 and 3". And no, 62 is not "trois-vingt-deux" (3 times 20 and 2), is "soixante-deux" (sixty-two BTW).

    Or localize to the English language, where "four score and three" means 83. And 36 must be rendered as "3 dozen".

    Would that mean that 39 should be "3 baker's dozen"?
    That's three metric dozen, thank you very much.

  • Nitpicker (unregistered) in reply to Nutster
    Nutster:
    zelmak:
    I'll bet they were doing something like printing checks (checques(?) for you Euro's)

    $1344.56 => ONE-THOUSAND, THREE-HUNDRED, FORTY-FOUR and 56/100ths US Dollars

    I did something like this for a project I did for one of my Canadian clients (actually all my clients are Canadian), where both the numeric value and the value words in English words had to printed on a contract, so I made a function that took the calculated numeric value, read the "Number_Names" table and determined what the words were. When they started a branch in Quebec, where everything had to be en français, I just put in the number names and it worked great.

    Yes, I did have to give all the numbers from 0 to 20. After that it knew to just combine the digit places. 123 = 100 + 20 + 3 = One Hundred Twenty Three. I do not remember if I had to do anything different for 70's in French.

    You would have had to make special cases for both 70's and 90', considering the 70's are "sixty-something" with a something above 9 and the 90's are "four-twenty-something" with a something above 9.

    Of course, you could also consider Belgium's French numbers, which do not have this special rule but instead use their own word ("septante" and "nonante" for the 70's and 90's) and the Swiss, which use these and also replace the 80's with "huitante".

    So, yeah. Numbers in written French are an awful programming subject.

  • mjb2k (unregistered)
    Unlike Gandalf, Bill did not return in white...
    Oh great, thanks a lot for the spoiler!!!
  • Bananafish (unregistered) in reply to Rick
    Rick:
    I'm with the people betting on localization. Type would be language, SubType would be locale. In which case you would likely have mapping tables: either a Type and SubType table, or just a Language table. eg:
    Type SubType i18nCode Description
    ---- ------- -------- ---------------------------
    0    0       EN_US    American English
    0    1       EN_CA    Canadian English
    0    2       EN_GB    British English
    1    1       FR_CA    Canadian French
    1    3       FR_FR    French (France)
    
    etc...

    Could be, but I was thinking:

    Type SubType Value Text 0 0 1 one 1 0 1 first 1 1 1 1st 0 0 2 two 1 0 2 second 1 1 2 2nd ... 2 0 10 teen ... 0 0 40 forty 0 1 40 forty- 1 0 40 fortieth 1 1 40 40th

    The type might be cardinal/ordinal and the subtype might be somehow contextual.

    Even if I'm right about that, I cannot explain why it jumps from thirteen to twenty. My table could handle 14-19 except the number 15 cannot be constructed by adding "teen" to "five".

    <Sigh>

    "Who knows what evil lurks in the hearts of men?"

  • Bananafish (unregistered) in reply to Bananafish

    [quote user="Bananafish"]

    Type SubType Value  Text
    0    0       1      one
    1    0       1      first
    1    1       1      1st
    0    0       2      two
    1    0       2      second
    1    1       2      2nd
    ...
    0    1       10     teen
    1    1       10     teenth
    ...
    0    0       40     forty
    0    2       40     forty-
    1    0       40     fortieth
    1    1       40     40th
    

    oops!

  • ¯\(°_o)/¯ I DUNNO LOL (unregistered)

    So what would Bill's code think about "Twenty fourteen"?

    And as for writing chec[kq]es at a checkout aisle, that's mostly older women, usually with a deathly fear that someone will smell any cash they are carrying and try to rob them. The big problem is all the fiddly pen writing of ID numbers and stuff, though at least registers in larger supermarkets long ago got dot-matrix printers built in for no other purpose than putting on half of that fiddly writing.

    This is one reason why if you have a choice in checkout aisles between being behind a man in one and a woman in another, with about the same amount of merchandise, pick the man, because he is going to pay either cash or credit and then get the hell out of there.

    They're still quite reasonable for mailing in payment for monthly bills, but very inconsiderate in checkout lines due to all the manual processing needed at the time of the sale, while people in line are standing behind you waiting.

  • (cs)

    A naive SELECT on a table containing hundreds of millions of rows could take several minutes to display the result simply because of data transfer overhead.

  • Barf 4Eva (unregistered)

    "It took Alan the better part of the day to remove all references to the table before deleting it. Bill, despite his credentials, didn’t think to ask the front-end development team to convert cardinal words to numbers before inserting them into the database. The wizard hadn’t been all-knowing, after all."

    No.... you mean the developers who were inserting them in to the database. what, DBAs design tables in all corporations? newsflash: they don't always!

    I blame the devs. I blame Bill too if Bill didn't complain about this in addition to his other complaints...

    Can the OP add some details to the story?

    Example: "A naive SELECT statement took five minutes, returning the following."

    then... snip? Not sure what is being alluded to... That Bill made a table with millions of rows to link words to numbers and the result set returning in your management studio took a while to display the results...? or that developers are literally including words like twothousandandthirtyfive which then needs to be translated...

    yes, a wtf somewhere... but... where?

  • (cs) in reply to ¯\(°_o)/¯ I DUNNO LOL
    ¯\(°_o)/¯ I DUNNO LOL:
    And as for writing chec[kq]es at a checkout aisle
    It amuses me that neither one of those expansions produces a valid word. I'm easily amused.
  • anonymous (unregistered) in reply to ¯\(°_o)/¯ I DUNNO LOL
    ¯\(°_o)/¯ I DUNNO LOL:
    And as for writing chec[kq]es at a checkout aisle, that's mostly older women, usually with a deathly fear that someone will smell any cash they are carrying and try to rob them. The big problem is all the fiddly pen writing of ID numbers and stuff, though at least registers in larger supermarkets long ago got dot-matrix printers built in for no other purpose than putting on half of that fiddly writing.

    This is one reason why if you have a choice in checkout aisles between being behind a man in one and a woman in another, with about the same amount of merchandise, pick the man, because he is going to pay either cash or credit and then get the hell out of there.

    This. Also, given the choice:

    old vs. young: young. Even if the old person doesn't pay by check, they'll still be at least twice as slow.

    buying booze vs. no booze: no booze. Even if they're old enough, they might have forgotten their ID or have lost their drivers license. (No, you cannot buy booze with the paper they send you saying you're temporarily allowed to drive; that just permits you to legally drive yourself to the store. You CAN however buy booze with a nondrivers ID that will cost you about five bucks.)

  • S (unregistered) in reply to JimM
    JimM:
    A SELECT statement on one table took five minutes? What were they running it on, an Atari 2600? Did someone have to fetch the right wax memory drum from the basement?

    A couple of points. One, this is a table with a potentially infinite number of rows. Two, anyone who'd create such a table is unlikely to have any clue about sensible indexing strategies.

  • (cs) in reply to anonymous
    anonymous:
    ¯\(°_o)/¯ I DUNNO LOL:
    And as for writing chec[kq]es at a checkout aisle, that's mostly older women, usually with a deathly fear that someone will smell any cash they are carrying and try to rob them. The big problem is all the fiddly pen writing of ID numbers and stuff, though at least registers in larger supermarkets long ago got dot-matrix printers built in for no other purpose than putting on half of that fiddly writing.

    This is one reason why if you have a choice in checkout aisles between being behind a man in one and a woman in another, with about the same amount of merchandise, pick the man, because he is going to pay either cash or credit and then get the hell out of there.

    This. Also, given the choice:

    old vs. young: young. Even if the old person doesn't pay by check, they'll still be at least twice as slow.

    buying booze vs. no booze: no booze. Even if they're old enough, they might have forgotten their ID or have lost their drivers license. (No, you cannot buy booze with the paper they send you saying you're temporarily allowed to drive; that just permits you to legally drive yourself to the store. You CAN however buy booze with a nondrivers ID that will cost you about five bucks.)

    While we're at it:

    Given the choice between one shopper with a cart containing fifty items and ten shoppers with five items each, pick the single cart. There's a "per-transaction" overhead in getting the total, making the payment, collecting up the bags (five items will require six bags to take out), and the likelihood of something needing a price-check and shutting down the whole line doubles with each new customer.

    Women shopping with kids are okay if the kids are far enough apart in age. If they're too close, they're going to "interact" all over the place and no mother alive can control them, but a toddler and a pre-teen present no particular difficulty.

  • (cs) in reply to anonymous
    anonymous:
    buying booze vs. no booze: no booze. Even if they're old enough, they might have forgotten their ID or have lost their drivers license. (No, you cannot buy booze with the paper they send you saying you're temporarily allowed to drive; that just permits you to legally drive yourself to the store. You CAN however buy booze with a nondrivers ID that will cost you about five bucks.)

    I'm surprised at people that don't get a photo ID, since it's so cheap and it's great to have if you're < 40 and physically lose your driver's license.

  • anonymous (unregistered) in reply to da Doctah
    da Doctah:
    anonymous:
    ¯\(°_o)/¯ I DUNNO LOL:
    And as for writing chec[kq]es at a checkout aisle, that's mostly older women, usually with a deathly fear that someone will smell any cash they are carrying and try to rob them. The big problem is all the fiddly pen writing of ID numbers and stuff, though at least registers in larger supermarkets long ago got dot-matrix printers built in for no other purpose than putting on half of that fiddly writing.

    This is one reason why if you have a choice in checkout aisles between being behind a man in one and a woman in another, with about the same amount of merchandise, pick the man, because he is going to pay either cash or credit and then get the hell out of there.

    This. Also, given the choice:

    old vs. young: young. Even if the old person doesn't pay by check, they'll still be at least twice as slow.

    buying booze vs. no booze: no booze. Even if they're old enough, they might have forgotten their ID or have lost their drivers license. (No, you cannot buy booze with the paper they send you saying you're temporarily allowed to drive; that just permits you to legally drive yourself to the store. You CAN however buy booze with a nondrivers ID that will cost you about five bucks.)

    While we're at it:

    Given the choice between one shopper with a cart containing fifty items and ten shoppers with five items each, pick the single cart. There's a "per-transaction" overhead in getting the total, making the payment, collecting up the bags (five items will require six bags to take out), and the likelihood of something needing a price-check and shutting down the whole line doubles with each new customer.

    Women shopping with kids are okay if the kids are far enough apart in age. If they're too close, they're going to "interact" all over the place and no mother alive can control them, but a toddler and a pre-teen present no particular difficulty.

    As long as we're on the subject...

    If you know most of the checkers and this checker is new, expect it to take them twice as long because they'll still be learning the register, prices, and produce codes.

    ...and speaking of produce, keying in the codes takes longer and sometimes the wrong code gets keyed in, which may require a manager to void it. So avoid being behind people who have a lot of produce if you can help it.

  • Bobby Tables (unregistered)

    Presentation logic in the data storage layer is a WTF. As noted above, application devs often design the tables, and often make a fudge of it.

  • esd (unregistered) in reply to Rudolf
    Rudolf:
    faoileag:
    Also that multiples of 10 qualify for SubType doesn't hold since 10 has the SubType 0.

    I reckon subtype 1 are simply numbers which can have subtype 0 numbers after them. (You don't say 'ten three', thus 10 is a subtype 0).

    So, if your number is X:

    • look for a subtype 1 number A at least as big as X
    • use the text associated with A
    • look for a subtype 0 number B at least as big as (X-A)
    • append the text associated with B

    As hundreds/thousands/etc are regular (in languages like English, French, German etc), then you work those out using the above scheme, rather than having more types/subtypes.

    One problem is that 14-19 aren't in the table, so I presume those must be worked out algorithmically as well (thirteen is the exceptional 'teen' because the 'thir' is not the same as 'three', but fourteen to nineteen can use the X-10 number before the 'teen')

    I'll take fiveteen, thanks

  • dolla (unregistered) in reply to zelmak
    zelmak:
    PedanticCurmudgeon:
    henke37:
    Such a pity that the article didn't actually tell us how it was being used.
    That falls in the category of questions you don't bother asking because you know in advance that the answer will be a WTF.

    I'll bet they were doing something like printing checks (checques(?) for you Euro's)

    $1344.56 => ONE-THOUSAND, THREE-HUNDRED, FORTY-FOUR and 56/100ths US Dollars

    except you don't want to leave room for someone to squeeze anything in, so onethousandthreehundredfortyfourdollarsandfiftysixcentsonly.

  • Zhumn (unregistered) in reply to foo AKA fooo
    foo AKA fooo:
    locallunatic:
    boh:
    ZoomST:
    Or localize to French language, where 83 is "quatre-vingt-trois", that means "4 times 20 and 3". And no, 62 is not "trois-vingt-deux" (3 times 20 and 2), is "soixante-deux" (sixty-two BTW).

    Or localize to the English language, where "four score and three" means 83. And 36 must be rendered as "3 dozen".

    Would that mean that 39 should be "3 baker's dozen"?
    And 42 as 9 * 6.
    Nicely trolled!

  • (cs) in reply to Zhumn
    Zhumn:
    foo AKA fooo:
    locallunatic:
    boh:
    ZoomST:
    Or localize to French language, where 83 is "quatre-vingt-trois", that means "4 times 20 and 3". And no, 62 is not "trois-vingt-deux" (3 times 20 and 2), is "soixante-deux" (sixty-two BTW).

    Or localize to the English language, where "four score and three" means 83. And 36 must be rendered as "3 dozen".

    Would that mean that 39 should be "3 baker's dozen"?
    And 42 as 9 * 6.
    Nicely trolled!

    It must be Thursday. You never could get the hang of Thursdays.

  • How far is too far? (unregistered) in reply to anonymous
    anonymous:
    da Doctah:
    anonymous:
    ¯\(°_o)/¯ I DUNNO LOL:
    And as for writing chec[kq]es at a checkout aisle, that's mostly older women, usually with a deathly fear that someone will smell any cash they are carrying and try to rob them. The big problem is all the fiddly pen writing of ID numbers and stuff, though at least registers in larger supermarkets long ago got dot-matrix printers built in for no other purpose than putting on half of that fiddly writing.

    This is one reason why if you have a choice in checkout aisles between being behind a man in one and a woman in another, with about the same amount of merchandise, pick the man, because he is going to pay either cash or credit and then get the hell out of there.

    This. Also, given the choice:

    old vs. young: young. Even if the old person doesn't pay by check, they'll still be at least twice as slow.

    buying booze vs. no booze: no booze. Even if they're old enough, they might have forgotten their ID or have lost their drivers license. (No, you cannot buy booze with the paper they send you saying you're temporarily allowed to drive; that just permits you to legally drive yourself to the store. You CAN however buy booze with a nondrivers ID that will cost you about five bucks.)

    While we're at it:

    Given the choice between one shopper with a cart containing fifty items and ten shoppers with five items each, pick the single cart. There's a "per-transaction" overhead in getting the total, making the payment, collecting up the bags (five items will require six bags to take out), and the likelihood of something needing a price-check and shutting down the whole line doubles with each new customer.

    Women shopping with kids are okay if the kids are far enough apart in age. If they're too close, they're going to "interact" all over the place and no mother alive can control them, but a toddler and a pre-teen present no particular difficulty.

    As long as we're on the subject...

    If you know most of the checkers and this checker is new, expect it to take them twice as long because they'll still be learning the register, prices, and produce codes.

    ...and speaking of produce, keying in the codes takes longer and sometimes the wrong code gets keyed in, which may require a manager to void it. So avoid being behind people who have a lot of produce if you can help it.

    and look for people with prepacked stuff (ie stuff with a barcode) not stuff that needs weighing, or measuring or PLU lookups....

    In fact, it's easier just to send your spouse to the shop

  • QJo (unregistered) in reply to esd
    esd:
    Rudolf:
    faoileag:
    Also that multiples of 10 qualify for SubType doesn't hold since 10 has the SubType 0.

    I reckon subtype 1 are simply numbers which can have subtype 0 numbers after them. (You don't say 'ten three', thus 10 is a subtype 0).

    So, if your number is X:

    • look for a subtype 1 number A at least as big as X
    • use the text associated with A
    • look for a subtype 0 number B at least as big as (X-A)
    • append the text associated with B

    As hundreds/thousands/etc are regular (in languages like English, French, German etc), then you work those out using the above scheme, rather than having more types/subtypes.

    One problem is that 14-19 aren't in the table, so I presume those must be worked out algorithmically as well (thirteen is the exceptional 'teen' because the 'thir' is not the same as 'three', but fourteen to nineteen can use the X-10 number before the 'teen')

    I'll take fiveteen, thanks

    Eightteen for me ...

  • Decius (unregistered) in reply to DCRoss
    DCRoss:
    Young Euro Guy:
    Sorry, what's a check (or checque)?

    It's what the Americans call a cheque when they don't have any balances around.

    So it's a Freedom Cheque.

    Silly European. Zero and negative account balances are still balances.

  • Norman Diamond (unregistered) in reply to ZoomST
    ZoomST:
    Jens:
    So nine-hundred would be a type, forty a sub-type and seven a mere whatever. So that's three queries and some parsing of '-' and 'and' and afterwards some adding of queried values? It would be nice to localize this to Germany, where forty-two is 'zwei-und-vierzig' which makes sub-types somewhat impossible (even though types would work).
    Or localize to French language, where 83 is "quatre-vingt-trois", that means "4 times 20 and 3". And no, 62 is not "trois-vingt-deux" (3 times 20 and 2), is "soixante-deux" (sixty-two BTW). Don't blame me, I didn't invent French. But hey! this similar problem can be found in some other areas, like time and date to word string conversion.
    And in between, you forgot some real doozies.

    Also, four score and some years ago four great grandfathers imported four and twenty blackbirds from a middle endian country, had middle endian dates with four great grandmothers, and gave birth to four ingrates.

  • Norman Diamond (unregistered) in reply to Rudolf
    Rudolf:
    faoileag:
    Also that multiples of 10 qualify for SubType doesn't hold since 10 has the SubType 0.
    I reckon subtype 1 are simply numbers which can have subtype 0 numbers after them. (You don't say 'ten three', thus 10 is a subtype 0).
    Yeah, you say thirteen. More middle endianism! Japanese and Chinese get this right, ten three.
  • Norman Diamond (unregistered) in reply to chubertdev
    chubertdev:
    Zhumn:
    foo AKA fooo:
    locallunatic:
    boh:
    ZoomST:
    Or localize to French language, where 83 is "quatre-vingt-trois", that means "4 times 20 and 3". And no, 62 is not "trois-vingt-deux" (3 times 20 and 2), is "soixante-deux" (sixty-two BTW).
    Or localize to the English language, where "four score and three" means 83. And 36 must be rendered as "3 dozen".
    Would that mean that 39 should be "3 baker's dozen"?
    And 42 as 9 * 6.
    Nicely trolled!
    It must be Thursday. You never could get the hang of Thursdays.
    All your base are belong to thirteen.
  • Asif Youcare (unregistered)

    This is an Erik Gern story?

    Where is the pointless embellishment and the incorrect cultural references?

  • Andrew Au (unregistered)

    I am kind of surprised to know such table can become a bottleneck.

    First, such a table in likely less than 1K rows, and for any reasonable server that is going to stay in memory.

    Plus values in this table is likely never going to change (unless English changes?) so no contention will happen.

    I am not saying it is right to use database like that, but I am really interested in the reasoning - how can that table be a bottleneck?

  • Tasty Coffee (unregistered)

    TRWTF is the table not containing the same thing for UPPERCASE and miXeD-CasE. And misspelled versions thereof.

  • faoileag (unregistered) in reply to chubertdev
    chubertdev:
    faoileag:
    For unknown reasons cheques are still in widespread use in the USA;
    This is news to me.
    I may have taken some artistic licence there, based on T-Mobile's plan to offer cheque cashing services as part of their drive into the US banking market.
  • (cs) in reply to S
    S:
    Two, anyone who'd create such a table is unlikely to have any clue about sensible indexing strategies.
    Wait what?

    How do "sensible indexing strategies" affect the performance of (according to the article) "a naive SELECT statement" - which will be:

    SELECT * FROM Numbers

  • (cs) in reply to Asif Youcare
    Asif Youcare:
    This is an Erik Gern story?

    Where is the pointless embellishment and the incorrect cultural references?

    Pointless Embellishment: "A naive SELECT statement took five minutes (...)" incorrect cultural references: "Do not meddle in the affairs of wizards, for they are subtle and quick to anger" But i agree - for an erik Gern story this is tame - the WTF is allowed to shine on its own. Keep up the good work - of not embellishing the actual WTF!
  • anonymous (unregistered) in reply to How far is too far?
    How far is too far?:
    anonymous:
    If you know most of the checkers and this checker is new, expect it to take them twice as long because they'll still be learning the register, prices, and produce codes.

    ...and speaking of produce, keying in the codes takes longer and sometimes the wrong code gets keyed in, which may require a manager to void it. So avoid being behind people who have a lot of produce if you can help it.

    and look for people with prepacked stuff (ie stuff with a barcode) not stuff that needs weighing, or measuring or PLU lookups....
    Well, at the stores where I shop, the only items that aren't bar-coded are produce, and most of them aren't weighed. Most items which are priced by the pound are pre-weighed and bar-coded - all the checker has to do is scan them.

    But yeah, when I said to avoid produce, I meant anything that would require weighing or looking up a code.

  • (cs) in reply to Zecc
    Zecc:
    ZoomST:
    Or localize to French language, where 83 is "quatre-vingt-trois", that means "4 times 20 and 3".
    And 92 is "quatre vingt douze", or "four twenties and twelve".
    And 97 is "quatre vingt dix-sept"--"four twenties, ten, and seven"--and similarly for 98 and 99. We in Canada were very happy when Y2K arrived.

    Oh, and not to mention Roman numerals. How messy it was when movies were copyright MCMXCVII and such; how satisfying to see "MM" instead!

  • Octante (unregistered) in reply to ZoomST

    Belgium has more sensible numbers: trente [30], quarante [40], cinquante [50], soixante [60], septante [70] et nonante [90].

  • anonymous (unregistered) in reply to faoileag
    faoileag:
    Danish: 90 ("halvfems", basically "halv between 4 times 20 and 5 times twenty") French: 90 ("Quattre vingt dis", basically "4 times 20 and ten")
    Not sure about Danish, but did you mean "quatre vingt dix"?

    Captcha: similis... yes, quite similaris.

  • (cs) in reply to faoileag
    faoileag:
    chubertdev:
    faoileag:
    For unknown reasons cheques are still in widespread use in the USA;
    This is news to me.
    I may have taken some artistic licence there, based on T-Mobile's plan to offer cheque cashing services as part of their drive into the US banking market.

    I had assumed that we were discussing personal checks, not paychecks.

  • B (unregistered) in reply to chubertdev
    chubertdev:
    faoileag:
    chubertdev:
    faoileag:
    For unknown reasons cheques are still in widespread use in the USA;
    This is news to me.
    I may have taken some artistic licence there, based on T-Mobile's plan to offer cheque cashing services as part of their drive into the US banking market.

    I had assumed that we were discussing personal checks, not paychecks.

    No, it is mostly intended for paychecks. That's why those check cashing businesses exist. The people who use them know they're getting ripped off, but they can't use a bank.

    Checking accounts aren't free. Most banks require you to maintain a deposit in them. That deposit can be a $100 or more, and when you're literally living paycheck to paycheck you don't have enough money to leave it in deposit. Especially when the bank is also going to charge you $2-$5 to withdraw cash from an ATM. Oh, and if you go below your $100 minimum balance for even a second you can be sure the bank will levy a fee and then apply penalties (as often as daily) and quickly deplete your account.

    And all that ignores the fact that people who have had consistent bank problems, have extremely low credit scores, or have no credit scores (having never been in recorded debt) get blackballed by the banking system. You won't be allowed to open an account.

  • (cs) in reply to ZoomST

    Actually, in Europe now they're using septante (70), octante (80) and nonante (90).

    83 is "octante-trois".

    In Quebec we're still doing it the old-fashioned, medieval way.

  • (cs) in reply to B
    B:
    No, it is mostly intended for paychecks. That's why those check cashing businesses exist. The people who use them know they're getting ripped off, but they can't use a bank.

    Checking accounts aren't free. Most banks require you to maintain a deposit in them. That deposit can be a $100 or more, and when you're literally living paycheck to paycheck you don't have enough money to leave it in deposit. Especially when the bank is also going to charge you $2-$5 to withdraw cash from an ATM. Oh, and if you go below your $100 minimum balance for even a second you can be sure the bank will levy a fee and then apply penalties (as often as daily) and quickly deplete your account.

    And all that ignores the fact that people who have had consistent bank problems, have extremely low credit scores, or have no credit scores (having never been in recorded debt) get blackballed by the banking system. You won't be allowed to open an account.

    That's incredibly unrelated to the discussion at hand.

  • Worf (unregistered) in reply to anonymous
    anonymous:
    But yeah, when I said to avoid produce, I meant anything that would require weighing or looking up a code.

    Don't checkers just look at the sticker? I mean, that's why every piece of produce has those annoying stickers - the PLU code is right there. (And yes, they're standardized).

    Of course, you do run into the ones who don't seem to realize it when they do self-checkout and instead have to browse the produce menu than just typing the 4 digits on the sticker right in front of them.

  • (cs) in reply to Worf
    Worf:
    anonymous:
    But yeah, when I said to avoid produce, I meant anything that would require weighing or looking up a code.

    Don't checkers just look at the sticker? I mean, that's why every piece of produce has those annoying stickers - the PLU code is right there. (And yes, they're standardized).

    Of course, you do run into the ones who don't seem to realize it when they do self-checkout and instead have to browse the produce menu than just typing the 4 digits on the sticker right in front of them.

    The sticker isn't always there. At least where I live, the produce section of the grocery store will have a roll of bags that you can use for any type of produce that isn't already packaged, so you can't have a sticker for it. I've seen some stores that will print a sticker for you based on your input on a machine connected to the stand with the bags, but that's somewhat rarer.

  • Hasse de great (unregistered) in reply to chubertdev
    chubertdev:
    faoileag:
    For unknown reasons cheques are still in widespread use in the USA;

    This is news to me.

    As one sign stated in NYC in a shop: We have an agreement with the bank:

    • We don't cash checks.
    • They don't sell pastrami sandwiches

    Checks went away 25 years ago in Sweden and 20 years ago in the Netherlands

Leave a comment on “Thanks Bill!”

Log In or post as a guest

Replying to comment #:

« Return to Article