Indeed! That kind of scale-sensitive value-based sort requires the data to be invariant in other ways, though. For example, “Episode Three” has 13 charachters, so it would come after “Episode Four” which only has 12 and therefore must be smaller.
Turns out that sorting things is way more complicated than it seems. The wikipedia page on sorting algorithms in computer science lists 37 different ways to sort numbers and it is far from an exhaustive list.
Most software errors are edge cases, like when a program receives an input from a user that the programmer didn’t account for.
The software tester is “fuzzing” the input function of the bar by throwing a bunch of weird inputs at it, like jumping through the door rather than walking or ordering absurd, negative, or non-numerical quantities of beer. This is a common way of testing software to make sure it won’t crash and burn if unexpected things happen.
Satisfied that the inputs for entering the bar and ordering beer are working properly, the bar opens, and the very first customer still manages to crash it by asking something entirely unrelated to ordering beer.
Yeah! In general, Normalization refers to adjusting values measured on different scales to a common scale.
Consider 1 and 10. The value of the first digit of both numbers is 1, so a scale-invariant numerical sort sees both numbers as coming before 2.
Normalizing both numbers to a two digit scale gives us 01 and 10, which sort as expected with 02.
Ahhh. So you have automated processes that will handle it as well. Just plug in the ranges and it does its thing.
Indeed! That kind of scale-sensitive value-based sort requires the data to be invariant in other ways, though. For example, “Episode Three” has 13 charachters, so it would come after “Episode Four” which only has 12 and therefore must be smaller.
Turns out that sorting things is way more complicated than it seems. The wikipedia page on sorting algorithms in computer science lists 37 different ways to sort numbers and it is far from an exhaustive list.
Seems like programming isn’t too dissimilar to giving a child instructions.
It definitely feels like that!
Have a classic joke on the subject:
I really wish I knew what the joke was. 🥺
Most software errors are edge cases, like when a program receives an input from a user that the programmer didn’t account for.
The software tester is “fuzzing” the input function of the bar by throwing a bunch of weird inputs at it, like jumping through the door rather than walking or ordering absurd, negative, or non-numerical quantities of beer. This is a common way of testing software to make sure it won’t crash and burn if unexpected things happen.
Satisfied that the inputs for entering the bar and ordering beer are working properly, the bar opens, and the very first customer still manages to crash it by asking something entirely unrelated to ordering beer.
Ahhh! I get it. Okay, yeah. That’s funny. 😄