Today I learned the mathy definition of idempotent (used above) which is different than the one more commonly used when talking about code: https://en.m.wikipedia.org/wiki/Idempotence
> the property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application
Perhaps my maths background is influencing me here, but isn't that the commonly used definition when talking about code?
For this URL shortener, if http://www.5z8.info/super-nsfw_g0v1ba_hot-older-goats.mov (from above) points to http://shadyurl.com/, then shortening http://www.5z8.info/super-nsfw_g0v1ba_hot-older-goats.mov should also return http://www.5z8.info/super-nsfw_g0v1ba_hot-older-goats.mov. It's not enough for it to always return the same URL for the same input (which it also doesn't appear to do).
It's about repeated calls e.g.
a.f(x).f(x)
results in the same state as a.f(x)
Not about repeated application. E.g. f(f(x)) = f(x)