Hacker News new | comments | ask | show | jobs | submit login

I have four suggestions for improvements:

1. Remove L from your alphabet. As long as people use upper-case letters, it's fine; but someone is going to use lower-case letters and get confused between "l" and "1".

2. Remove T from your alphabet. With poor handwriting, "T" and "7" can be confused.

3. Remove U from your alphabet. It's easy to confuse "U" and "V".

(Note that 29^9 > 6.48 x 10^12, so the above changes don't affect the ability to pack the value into 9 symbols.)

4. Use a better checksum. Maybe there's some deep logic which I'm missing, but I can't see any way to prove that your checksum will detect all single-symbol errors or all two-symbol swaps (these are by far the two most common data-entry errors). I suggest using C = 1 x p_1 + 2 x p_2 + ... + 9 x p_9 mod 29, which will always detect both of these errors.

-- the other local Comlab DPhil.

Thanks for the feedback. I'll look into implementing those changes. I'm not sure why I chose that particular checksum... it's been a while since I wrote this.


Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact