"This ad will end in NaN"

« previous post | next post »

All too true. Seen on thehill.com:

As Wikipedia explains,

In computing, NaN, standing for Not a Number, is a member of a numeric data type that can be interpreted as a value that is undefined or unrepresentable, especially in floating-point arithmetic. Systematic use of NaNs was introduced by the IEEE 754 floating-point standard in 1985, along with the representation of other non-finite quantities such as infinities.


  1. KeithB said,

    October 8, 2020 @ 7:58 am

    Not only that, but there are "quiet" NaN's that a allow a computation to continue, and "signalling" NaN's that cause an immediate halt with an error.

    [(myl) Similarly, there are "quiet" annoying ads that just distract your visual attention or get in the way, and "signalling" autoplay ads that blare loud nonsense until you act to shut them up…]

  2. Ross Presser said,

    October 8, 2020 @ 9:23 am

    This would qualify for "ERROR'D" section of thedailywtf.com

  3. Jerry Kindall said,

    October 8, 2020 @ 9:49 am

    Fun facts about NaN:

    If NaN is involved in any calculation, the result is always NaN regardless of the other values involved

    NaN is never equal to any other value, including itself

  4. Brett said,

    October 8, 2020 @ 3:52 pm

    This is not directly about NaN, but rather about how the length of the ads that are inserted into streaming videos are calculated. Since the ads are a generally streamed from different sources than the actual video content, they may be subject to unpredictable lag. As streaming video with ads was becoming a big thing, I noticed that there were two ways of accounting for the lengths of the ads. Most sites would tell you how long it would be until an ad would end: "This ad will end in #." However, if the ad lagged, that counter was suspended. Most probably, the time remaining was calculated directly from the position in the ad, so if the ad wasn't moving, the time wasn't decrementing.

    However, there were a few sites that did things differently. They would start by posting the nominal length of each advertisement and then just counting down. If the ad's video content had lagged appreciably, so that the ad did not have time to finish, the advertiser was out of luck. The video stream would cut back to the main content, regardless of how much of the ad had actually played. I really liked this approach, for two reasons: It gave an accurate statement about how long each ad break would last, and it placed the onus on the advertisers to make sure that their content was being served efficiently. Unfortunately however, I haven't seen this second way of doing things for a couple years; presumably, advertisers were unhappy with this way of accounting and proved unwilling to pay for ads that might not actually finish playing.

  5. 번하드 said,

    October 8, 2020 @ 5:37 pm

    This reminds me of a story told to me by a friend whose work area is in bioinformatics.
    They had persistent problems when trying to import a set of fruit fly genes into some piece of software.
    In the end they found out why:
    The official symbolic name happens to be 'nan'!

    The full name is Nanchung. Fruit flies without this gene intact won't be able to "hear" with the vibration sensors at the base of their antennae.
    My friend, a Korean, was very amused by this, because that name seems to have been given by another researcher from Korea, obviously with a meaning in mind.
    Nanchung == 난청 == 難聽 == difficulty in hearing/hearing loss
    Maybe it will end up like those human genes that had to be renamed because Excel would interpret them as dates and mangle them. https://www.theverge.com/2020/8/6/21355674/human-genes-rename-microsoft-excel-misreading-dates

    @Jerry Kindall: That sounds a lot like the behaviour of NULL in SQL. Try to avoid that as
    a surname or a vanity plate, or be prepared to suffer.

    So, at least in science, there is a pressure to bend language in order to work around deficiencies in software. Interesting times.

  6. Kaleberg said,

    October 8, 2020 @ 11:16 pm

    Nan was a big breakthrough. Before then, arguments about what to do when someone divided by zero ran late into the night and resumed the next day totally destroying productivity. It was bad enough when the software team got stuck in this tar pit, but with single chip floating point becoming practical, the fear was that hardware people would get stuck as well. It was only when the IEEE stepped in and produced an acceptable standard that the computer revolution could continue.

    As for gene names, the driver is Excel: https://www.theverge.com/2020/8/6/21355674/human-genes-rename-microsoft-excel-misreading-dates

RSS feed for comments on this post