To CURP or not to CURP

To CURP or not to CURP

CURP: Clave Única del Registro Poblacional, or Unique Population Registry Code. This is a (hopefully) unique, 18 character long, string identifying each Mexican - I won't get into the technicalities, but serve yourselves.

By following such a convoluted scheme, the authorities should have ensured a biunivocal relation between each person and their CURP number. Well, at some point, due to a bureaucratical mishap completely outside my hands (my patron registered me with the wrong birth date, as you can see in the page at the bottom), I got two CURPs - And the procedure to fix it was far from trivial.

Last Sunday, I entered the Consulta CURP system to print a copy of the official document. Much to my surprise... It answered that I was not registered!

A couple of minutes later, I tried again, and succeeded. But I could not refrain from printing my Certificate of non-registration.

I guess their system follows a strong-but-stupid scheme such as:

  1. begin {
  2. db = connect_to_database
  3. curp = find_curp_for_person(query)
  4. generate_document(curp)
  5. } rescue {
  6. generate_non_reg_certificate(query)
  7. }

So, right, if a user submits a query during the system maintenance window (after all, it was Sunday after 23:00), the system will fail to connect to the database (or whatever), raise an exception, trap it, and... Well, you no longer exist, thanks for playing!