According to the thread, there was a size of something, and that size was used in two places. The size was specified as a literal number in both those places. The bug was caused by changing the literal in one place but not the other. One way that could have been avoided is to use a named constant for the size, so that when the literal number was changed, both uses of the name would see the new value.
The reverse is also dangerous: when you have the same numeric value doing different jobs in different parts of the code. If they're literals, you've got no clue whether they should both be changed or not.
The idea is not to replace your constant 2048 with A_2048_NUMBER. But eg. MAX_BLOCK_SIZE in one place, and STACK_SIZE in another, even if they are the same value today.
Of course, if you are repurposing the code to do something new, you need to be extra careful not to use the constant just because "it's the right number". And sure, it sometimes gets tricky, but using literals will not make it any less so.