The original code was written by Andy Bloch and described on his site here.
Lost your password?
How should we abbreviate Abigail's name?