Categorias

A estranha história do homem invisível para bancos de dados

Nome é um negócio que a gente nunca escolhe. Quando a gente nasce, já está ali. Em alguns casos, é alvo de piadas no colégio (e praticamente todos os nomes são alvo de piadas no colégio), em outros casos causam embaraços até mesmo na vida adulta, outros pedem claramente para que a pessoa dê entrada no cartório porque seus pais não deviam mesmo estar em seu juízo perfeito.

Mas o que fazer quando é o seu sobrenome de família, aquele que seu pai tinha, que herdou de seu avô, que veio do seu bisavô e por aí vai, é a causa do problema? O que fazer quando seu nome é incompatível com o mundo tecnológico em que vivemos, porque ele se transformou em uma palavra reservada de diversas linguagens de programação?

Esse é o dilema de Christopher Null.

O jornalista americano cobre a área de tecnologia de informação e já ouviu todo tipo de piada sobre seu sobrenome. Na verdade, mais de uma pessoa já o acusou de ter inventado esse sobrenome para parecer descolado no meio.

Mas ele não inventou. E não, não é nada engraçado se chamar Null nos dias de hoje.

Ele contou para a revista Wired as agruras que é obrigado a passar por causa da sua árvore genealógica. Null é uma palavra reservada e, em muitos casos, é um valor especificado para que o campo de uma coluna de dados não fique vazio. Ou seja, quer dizer vazio, mas não é vazio de verdade. Dependendo da forma como a validação de um formulário é feita, Christopher Null não consegue preencher seu sobrenome, porque o código-fonte acredita que ele está tentando deixar o campo vazio…

homem-invisivel-03

Os resultados podem variar de acordo com o que programador deixou. Muitos aceitam “Null” como sobrenome sem reclamar. Mas muitos também devolvem para o campo de formulário e avisam a ele que ele precisa escrever alguma coisa e que o campo não pode ficar vazio… Os mais herméticos chegam ao ponto de avisar ao usuário que “Null” é um termo reservado e não pode ser utilizado, como se todos os Nulls do mundo fossem obrigados a entender de programação e seus meandros como o pobre Christopher. Outros formulários simplesmente param de funcionar.

Para não ficar invisível, o jornalista aprendeu a esconder ou camuflar seu sobrenome. Às vezes ele junta seu nome do meio com seu sobrenome e escreve os dois no mesmo campo. E às vezes o formulário não permite essa combinação. O truque mais usado é adicionar um simples ponto final ao sobrenome: “Null.”. Segundo ele, “isso não apenas contorna muitos erros de null como também adiciona um senso de finalidade ao meu direito de nascença”. Quando seu sobrenome está amaldiçoado no mundo de bytes e bits, você acaba se tornando um poeta.

Problemas como o de Christopher Null já foram satirizados pela excelente webcomic XKCD:

bobby-tables
originalmente publicado em https://xkcd.com/327/

Escola: Oi, aqui é da escola do seu filho. Nós estamos tendo alguns problemas no computador.

Mãe: Ai, caramba — Ele quebrou alguma coisa?

Escola: De certa forma. A senhora realmente colocou no seu filho o nome de Robert’); DROP TABLE Students;–?

Mãe: Oh. Sim. Pequeno Bobby Tables é como o chamamos.

Escola: Bem, nós perdemos os registros dos estudantes deste ano. Eu espero que a senhora esteja feliz.

Mãe: E eu espero que vocês tenham aprendido a limpar a entrada de dados do seu banco.

Brincadeiras à parte, programadores de banco de dados precisam se prevenir dos dados que os usuários podem colocar. É a porta aberta para Bobby Tables, para um ataque de SQL Injection ou uma fonte de dor de cabeça para determinados usuários.

Christopher Null não está rindo. Mas reconhece que sua situação é, no mínimo curiosa. E, talvez, um pouco engraçada para quem está de fora. É comum ele receber malas diretas em sua correspondência de toda sorte de empresa endereçadas para um certo “Senhor” nada, “Senhor” espaço vazio, “Senhor” vácuo onde deveria estar escrito seu sobrenome. Na dúvida, aplicações simplesmente não imprimem “Senhor Null”.

Seu último pesadelo envolveu um banco americano. Um pesadelo que se prolongou por anos envolvendo seu endereço de e-mail. Parece uma óbvia combinação de sobrenome, arroba, mais nome de domínio, entretanto o endereço [email protected] não era aceito pelo sistema do banco de jeito nenhum. Ele telefonou, reclamou com o gerente, insistiu, mas não teve jeito. O jornalista teve que criar um alias [email protected] e redirecionar as mensagens para a conta verdadeira.

Mas o banco não se deu por vencido. Em dado momento, as mensagens eletrônicas pararam de chegar. Christopher Null chegou a perder uma fatura do cartão e teve que arcar com as consequências do equívoco do banco. Investigando o problema, descobriu-se que o banco havia migrado de sistema. E o problema do Senhor Null apenas se agravou: o novo sistema do banco não aceitava a string “null” nem mesmo como parte do domínio do e-mail. Não haveria conta ou alias do nullmedia.com que fosse aceito pelos novos filtros do banco. Depois de muita insistência e até da boa vontade da equipe de tecnologia do banco, o jornalista se conformou com a ideia de que não haveria uma mudança no backend do programa do banco por sua causa.

Ele adotou uma conta no Gmail. Com “null” no meio, mas não no início do endereço. O sistema aceitou.

homem-invisivel

Até quando irá funcionar? Ninguém sabe.

Qual será o próximo serviço ou sistema a fechar as portas para o “homem invisível”? Ninguém sabe.