De subordinadas y negaciones traicioneras

Ayer por la tarde, hacia la hora de comer, la cuenta de Twitter del Partido Popular reflejaba la siguiente cita:

Confieso que a mí me la pasaron, la leí y no vi nada raro. Así que me sorprendió la ristra de respuestas que en poco tiempo acumulaba señalando la falta de pericia del autor: mucha gente sostenía que el PP acababa de admitir, con ese comentario, que se han cometido irregularidades (no caerá esa breva…). Lo primero que pensé, por tanto, es que yo había cometido algún error al leer rápido, que tal vez esa acumulación de negaciones (tres, en concreto: el primer «no», la propia «duda» y el segundo «no») escondiese un significado no deseado —porque el deseado lo da el contexto que todos conocemos—. Y tras un análisis pormenorizado (varios en realidad, por si acaso), concluí que mi primera impresión era acertada: está perfectamente escrito y dice lo que quiere decir. Así lo expresé en Twitter, no falto de énfasis:

Además del despiporre generalizado, no faltó la gente que aprovechó para insultar directamente (que no digo que no se lo merezcan, pero cuidado con escupir hacia el cielo, que ya se sabe…):

Muchos han atribuido el supuesto error al esquema de doble negación típico del castellano. Pues bien: no existe tal doble negación. Podemos consultar en la RAE cuándo se da esta construcción, como en el uso de adverbios que expresan negación («nadie», «tampoco», etc.) cuando van pospuestos al verbo. Este caso no tiene nada que ver. Yo atribuyo la confusión a la acumulación de negaciones en forma de subordinación y a las ganas que les tiene la gente.

Como el mío, fueron apareciendo mensajes, poco a poco, que avisaban de la corrección de la cita. Entre las discusiones ajenas que he ojeado y las propias, he visto desde gente que afirma que es incorrecta hasta quien afirma que es correcta gramaticalmente pero resulta ambigua, luego incorrecta; también la evolución de una postura a otra. Por ello, quiero exponer aquí algunos procedimientos que he empleado yo para analizar dicha cita y llegar a la conclusión de que es correcta y no hay posible ambigüedad.

[Nota: mientras escribo estas líneas, veo que @chusop ya ha publicado una explicación sobre la que tengo poco que añadir, la verdad].

La primera aproximación es la obvia: empezar de atrás hacia adelante, dado que tenemos una cadena de subordinadas.

  • El PP sostiene que no ha habido prácticas irregulares.
  • La gente duda de lo anterior.
  • El PP no tolera esa duda.

Aprovecho para hacer notar que no hay otra forma de entender las subordinadas ni queriendo y con esfuerzo: está claro que «dudar que» va dentro de «tolerar que». Segunda aproximación: si las negaciones nos molestan, expresemos las mismas proposiciones de forma afirmativa (y si nos salen otras negaciones, les damos la vuelta también; la negación sobre «tolerar» la dejo porque resulta trivial).

  • El PP sostiene que no ha habido prácticas irregulares, ergo el PP afirma su integridad.
  • La gente duda de la integridad del PP, ergo la gente cree en la falta de integridad del PP, ergo la gente cree que son unos mangantes.
  • El PP no tolera que se dude de su integridad, ergo el PP no tolera que la gente crea que no tienen integridad, ergo el PP no tolera que la gente crea que son unos mangantes.

Cristalino. Ante la claridad de este último paso, puedo admitir que la acumulación de negaciones enmaraña el significado, pero en ningún caso se comete incorrección o ambigüedad. De hecho, ¿hasta qué punto da lugar a confusión? Estoy convencido de que si se hubiese tratado de otro tema y otro autor, nadie le habría buscado la vuelta (o «no le habría buscado la vuelta nadie», esta vez sí, con doble negación): se habría entendido perfectamente y a la primera —aunque esto nunca lo sabremos—.

Llegados a este punto, he de confesar que todo lo anterior no es más que una excusa para lo que viene ahora. En mi discusión particular de ayer tarde, un twittero me dijo lo siguiente:

A lo que yo contesté: CHALLENGE ACCEPTED. ¿De qué nos serviría el lenguaje si no fuese formalmente lógico? Por supuesto que hay matemáticas ahí detrás: podemos analizar la cita mediante lógica de predicados [¡peligro, matemáticas!]. Empezamos.

Sean los siguientes predicados:

\begin{array}{rcl} I(x) & : & x \text{ tiene irregularidades} \\ D(x) & : & x \text{ se pone en duda} \\ T(x, y) & : & x \text{ tolera } y \end{array}

Nuestra cita queda formalizada en la siguiente expresión: \neg{T(x, D(\neg{ I(x)}))}, donde x = \text{"el PP"}. Ahora bien, la Ley de la doble negación nos dice que dos negaciones equivalen a una afirmación. Asimismo, las Leyes de Morgan nos dicen, básicamente, que podemos mover una negación a través de los predicados sin modificar la proposición. Así que, en primer lugar, vamos a obtener todas las proposiciones equivalentes que se obtienen aplicando dos negaciones en distinto predicado (la primera es la original):

\neg{T(x, D(\neg{I(x)}))} \Leftrightarrow \neg{T(x, \neg{D(I(x))})} \Leftrightarrow T(x, \neg{D(\neg{I(x)})}) \Leftrightarrow T(x, D(I(x)))

Esto quiere decir que deberían ser equivalentes las siguientes proposiciones:

  • [Original] El PP no tolera que se ponga en duda que el PP no tiene irregularidades.
  • El PP no tolera que no se ponga en duda que el PP tiene irregularidades.
  • El PP tolera que no se ponga en duda que el PP no tiene irregularidades.
  • El PP tolera que se ponga en duda que el PP tiene irregularidades.

Queda como ejercicio para el lector comprobar que, efectivamente, es así. De la misma forma, la negación de la proposición generará otras tres equivalentes (o, lo que es lo mismo, aplicamos a la original un número impar de negaciones):

T(x, D(\neg{ I(x)})) \Leftrightarrow \neg{T(x, D(I(x)))} \Leftrightarrow \neg{T(x, \neg{D(\neg{I(x)})})} \Leftrightarrow T(x, \neg{D(I(x))})

Esto quiere decir que deberían ser equivalentes las siguientes proposiciones:

  • [Original negada] El PP tolera que se ponga en duda que el PP no tiene irregularidades.
  • El PP no tolera que se ponga en duda que el PP tiene irregularidades.
  • El PP no tolera que no se ponga en duda que el PP no tiene irregularidades.
  • El PP tolera que no se ponga en duda que el PP tiene irregularidades.

Más tarea para el lector. Ahora definamos el siguiente predicado:

A(x, y) : x \text{ cree verdadero } y

Estaremos de acuerdo en que si x cree verdadero y, es más que razonable decir que x no tolerará que se dude de y, y lo mismo se sigue en sentido inverso:

A(x, y) \Leftrightarrow \neg{T(x, D(y))}

Entonces, ¿qué cree verdadero el PP? Basta con sustituir y por «el PP tiene irregularidades» o «el PP no tiene irregularidades».

\begin{array}{rcl} A(x, I(x)) & \Leftrightarrow & \neg{T(x, D(I(x)))} \\ A(x, \neg{I(x)}) & \Leftrightarrow & \neg{T(x, D(\neg{I(x)}))} \end{array}

De esta manera, si el PP afirma que no tiene irregularidades, obtenemos justamente la cita original, mientras que, si el PP afirma que tiene irregularidades, obtenemos una proposición equivalente a la negación de la cita original. QED.

Problemas de usabilidad

El comando tar es un archivador, una herramienta GNU/Linux que sirve para empaquetar archivos y carpetas y, opcionalmente, comprimirlos. Una especie de WinZip o WinRaR, para que nos entendamos, pero por línea de comandos. El inconveniente es que tiene serios problemas de usabilidad. Y alguien se preguntará, ¿cómo demonios se mide la usabilidad de un programa por línea de comandos? Fácil: depende de lo que se parezca su sintaxis al resto de programas, a ciertas convenciones existentes. El comando tar, en ese sentido, es bastante diferente; en parte porque es viejo, lo que no es excusa para que no se haya actualizado.

¿tar –help?

Y el autor de xkcd añade:

I don’t know what’s worse–the fact that after 15 years of using tar I still can’t keep the flags straight, or that after 15 years of technological advancement I’m still mucking with tar flags that were 15 years old when I started.

[Traducción muy libre] No sé qué es peor: el hecho de que, tras 15 años utilizando tar, sigo sin saber poner sus opciones en orden o que, tras 15 años de avance tecnológico, sigo lidiando con unas opciones que ya tenían 15 años cuando yo empecé.

Yo me siento exactamente igual. Lo he utilizado docenas de veces para comprimir y descomprimir, pero siempre necesito mirar el manual o buscar algún ejemplo. Invariablemente. Dada la enorme cantidad de gente que ha compartido el cómic, debe ser algo generalizado. Me quedo más tranquilo.

BONUS: la bomba del cómic probablemente haga referencia a tarbomb, el nombre que se le pone a aquellos archivos que no están comprimidos dentro de una carpeta y, por tanto, si no te fijas y descomprimes sin más, pueden sobreescribir ficheros preexistentes con el mismo nombre. Pero eso pasa igual con todos los archivadores y compresores del mundo: la culpa es del usuario. Yo siempre tengo por costumbre mirar qué hay dentro antes de descomprimir nada.

¡Hackeada la web del PP!

O no. Como parece que tienen el tinglado bastante protegido contra ataques Cross-Site Scripting, aquí tenéis un apaño en local, más cutre pero más personalizable [AVISO: el siguiente enlace solo funciona en navegadores modernos con soporte para HTML5]:

VISITA LA WEB DEL PP

Os animo a que modifiquéis el enlace para crear vuestras propias versiones (iba a crear un formulario y tal para modificarlo, pero he pensado que no es tan difícil buscar una cadena de texto y cambiarla; vagos). Si me mandáis nuevos «diseños», los iré recopilando aquí. Los únicos límites son vuestra imaginación y los dos mil y pico caracteres que suelen imponer como máximo los navegadores en las URL.

Protocolo de Traducciones Nefastas para Scammers

INTERNET DRAFT Iñaki Úcar
12 de diciembre, 2012 Enchufa2

Disastrous Translation Protocol (DTP) for Scammers

Resumen

Este documento especifica el protocolo Disastrous Translation Protocol (DTP), una propuesta para traducciones desastrosas a partir de textos bien formados en cualquier idioma.

Contenidos

1. Introducción
2. Terminología
3. Descripción del protocolo
3.1. Número de pasos
3.2. Selección de idiomas
3.3. Verificación
Apéndice A. Ejemplo
Referencias

1. Introducción

Los servicios de traducción online como Google Translator [GOO-DEVIL-TRANS] se han convertido en el demonio para los estafadores profesionales vía email debido a sus sorprendentemente fieles traducciones. Este documento propone un nuevo protocolo para, a partir de textos perfectamente formados en un idioma cualquiera, conseguir traducciones nefastas a la altura de timos como el del nigeriano [EST-NIG].

2. Terminología

idioma origen idioma del que se parte, en el que está escrito el texto original de la estafa.
texto bien formado texto sintácticamente, semánticamente y morfológicamente correcto en su idioma origen.
idioma destino idioma al que se pretende traducir el texto escrito en el idioma origen de manera desastrosa.

3. Descripción del protocolo

Se utilizarán las mismas herramientas que han motivado la creación de este documento: los traductores online del tipo Google Translator [GOO-DEVIL-TRANS]. A pesar de sus odiosas y perfectas traducciones, se observa que cometen pequeños errores sistemáticos que se ven amplificados tras varios procesamientos, especialmente si se encadenan diversas traducciones a distintos idiomas.

Por ello, el procedimiento que se recomienda es la concatenación de una serie de N traducciones a diversos idiomas, desde el idioma origen al idioma destino, tal y como se observa en la figura.

idioma origen —> idioma 1 —> —> idioma N – 1 —> idioma destino
texto origen —> traducción 1 —> —> traducción N – 1 —> texto destino

3.1. Número de pasos

El número de pasos o traducciones intermedias, N – 1, puede ser variable, aunque estrictamente mayor que 1. Debe haber un compromiso entre la penosa calidad del resultado final y lo tedioso del procedimiento. En general, se considera adecuado N – 1 = 3 con una buena selección de idiomas.

3.2. Selección de idiomas

Se considera una buena selección de idiomas intermedios si y solo si los idiomas adyacentes están apropiadamente alejados (etimológicamente hablando). Es decir, el idioma 1 está alejado del idioma origen y del idioma 2, y así sucesivamente para cada idioma i.

3.3. Verificación

Para la verificación y validación del resultado final, puede añadirse opcionalmente un paso N + 1 que revierta la traducción al idioma origen. Se considera, por aproximación, que la calidad del texto será tan mala como en el paso N, es decir, el idioma destino.

Apéndice A. Ejemplo

Idioma origen: español
Idioma destino: inglés
Idiomas intermedios: persa, danés, hebreo

Texto origen: «Tres tristes tigres comían trigo en un trigal».

Traducción final: «Sad tigers ate wheat field wheat Tuesday».

Verificación: «Tristes tigres comían trigo campo de trigo Martes».

Referencias

[GOO-DEVIL-TRANS] Google Translator.
[EST-NIG] Wikipedia, Estafa nigeriana.

Apuñalador Automático de Estúpidos™

En estos tiempos que corren, muchos son los que se quejan de que los blogs, foros y, sobre todo, las redes sociales se están convirtiendo en grandes repositorios de estupideces y sandeces variadas. Y no les falta razón. Pero de lo que no se dan cuenta es que esto nos proporciona a su vez una gran oportunidad para hacer de este mundo un mundo mejor. Para ello, he diseñado un completo sistema que revolucionará la sociedad tal y como la conocemos. Se trata del AAE™, o Apuñalador Automático de Estúpidos™, un completo sistema integrado en el ordenador (extensible para tablets, smartphones, etc., conforme se consiga un mayor grado de miniaturización) que cuenta con elementos específicos hardware y software, además de una red distribuida de servidores que permitan el funcionamiento a nivel global.

Red de servidores

Contará con un Sistema Distribuido de Detección de Gilipolleces (SDDG) en forma de servidores repartidos por todo el mundo (con direccionamiento anycast, al estilo de los DNS). Dicho sistema será capaz de gestionar una gran base de datos con todos los usuarios de Internet y será el encargado de recibir los mensajes que dichos usuarios dejan en redes sociales, blogs, foros, etc., para su análisis y clasificación (sin guardar ningún tipo de información personal, por supuesto).

Hardware

Los ordenadores personales deberán incorporar por defecto un chip integrado con Brazo Hidráulico Asesino (BHA); no obstante, se habilitarán interfaces USB y PCMCIA para viejas computadoras. El BHA también requiere la instalación de una cámara web para la detección del gilipollas, aunque se asume que la mayoría de ordenadores ya la traen incorporada.

Software

Se propone un nuevo nivel de la pila de protocolos de Internet que deberán implementar todos los sistemas operativos. Se trata del nivel de Control del Tontolhaba, situado entre los niveles de Presentación y Sesión de la pila OSI y entre los de Aplicación y Transporte de TCP/IP (véase la figura adjunta).

Dicho nivel, que además cuenta con un servicio asociado llamado Stupid Management (SM), o stmd en Linux, analiza las conexiones de forma transparente justo antes de que se envíen al nivel de Transporte. Aquí, la información se divide en dos: por un lado, la comunicación del usuario se realiza con normalidad (p. ej.: se envía un tweet) y, por otro lado, se establece una conexión con el SDDG para analizar el contenido del mensaje.

La conexión con el SDDG se realiza mediante un protocolo dedicado que he tenido a bien llamar Early Stupid Detection Protocol (ESDP), que genera peticiones del usuario al SDDG y recibe respuestas. El formato de las peticiones consta de tres campos: ID único de usuario, aplicación que ha utilizado el usuario para generar el mensaje y el mensaje en sí. Por su parte, el SDDG analiza dicho mensaje y devuelve una respuesta que consta de otros tres campos: ID único de usuario, orden y nivel.

PDU petición: ID Aplicación Mensaje
PDU respuesta: ID Orden Nivel

Las posibles respuestas y sus significados se comentan en la siguiente tabla:

Orden Nivel Significado
OK No se han detectado gilipolleces.
WARNING 1 Aviso: primera gilipollez detectada.
WARNING 2 Aviso: segunda gilipollez detectada.
WARNING 3 Aviso: tercera gilipollez detectada. No quedan más avisos.
KILLUSER 1 Muerte rápida del usuario y sin sufrimiento.
KILLUSER 2 Muerte con moderada ración de sufrimiento.
KILLUSER 3 Muerte larga y agónica.

Así, el usuario contará con un máximo de tres gilipolleces que generarán un aviso por pantalla —WARNING de nivel 1, 2, y 3, respectivamente— sin mayores consecuencias a través del servicio SM. En el momento que se produzca una cuarta gilipollez, el SDDG enviará un mensaje KILLUSER con un nivel de sufrimiento asociado. Es entonces cuando el demonio SM habilitará el BHA en el momento en el que se detecte a través de la cámara web que el usuario está situado a la distancia apropiada.