Hexspeak, el idioma friqui (uno más) de los programadores informáticos

0xDEADBEEF

0xDEADBEEF

Alguien, alguna vez, me dijo que yo era un tipo raro por el simple hecho de ser programador informático cuando, desarrollando un software de comunicación sobre redes TCP/IP, me dio por asignar el valor -1 al número ilimitado de licencias de uso. Fue algo espontáneo, instintivo, mecánico: si 0 significaba que no tenías licencia para utilizar el programa, 1 que disponías de una sola y 2 que tenías dos, -1 fue mi elección para el número infinito de permisos de utilización; algo así como una puerta trasera para depurar la aplicación con cientos de instancias al tiempo o, también, una gracia o prebenda para con aquellos clientes que compraban mucho y pagaban bien.

Cualquiera que haya conocido a un programador informático podrá asegurar con total rotundidad que, efectivamente, estos tipos son muy raros. Hablan de códigos ininteligibles, de instrucciones, de sentencias, de bucles, de saltos y de condiciones. Es tal la inmersión léxica en la forma de dirigirse a un ordenador, que sus cerebros no son cúmulos de neuronas en sinapsis, sino millones de líneas de código ofuscado relacionadas entre sí por gigantescos diagramas de clase.

De esta especie de individuos nació aquello que se dio en llamar hexspeak, una suerte de lenguaje informático cachondo para designar identificadores únicos de memoria a la hora de depurar el código de diversas aplicaciones, sistemas operativos o, incluso, procesadores. El hexspeak es muy parecido al leet (1337 en leet), un idioma originado en las antiguas BBS que fue durante muchos años medio de conversación cotidiano de hackers y gurús de la Red, y que hoy, por extremadamente difundido, en considerado más propio de lamers y de newbies o noobs.

La particularidad de hexspeak es que, mientras que leet utiliza números, letras y símbolos para sustituir los caracteres de las distintas palabras, hexspeak se ciñe exclusivamente a la notación hexadecimal, la cual incluye los números del 0 al 9 y las letras mayúsculas de la A a la F, dieciséis dígitos en total (0123456789ABCDEF). Esto restringe bastante las palabras que pueden ser formadas, por lo que el guiño satírico o el giro burlesco se hace necesario para crear términos inteligentes.

Con el 0 representando a la letra O, el 1 a la L, el 5 a la S o el 6 a la G, entre otros, las palabras que se inventan los informáticos vienen a ser valores mágicos de depuración, es decir, igual que los números mágicos que, de manera codificada, identifican a un tipo de archivo en su cabecera (como GIF89a a los ficheros GIF, FF D8 a los JPEG o %PDF a los PDF). En este caso, estos identificadores únicos son valores específicos que se escriben en memoria durante la asignación o la cancelación de asignación, de modo que, posteriormente, se pueda decidir si los datos alojados se han corrompido en el proceso o no.

Numéricamente los programadores prefieren los valores impares, por aquello de que los procesadores que no implementan direccionamiento de byte casquen cuando intenten utilizarlos como punteros. Además, estos valores deben ser elegidos lo más lejos posible de las direcciones de memoria de probable aparición, como las que pueden ocupar el propio código del programa, los datos estáticos, los datos de montículo (heap) o la pila. Por lo tanto, puesto que es muy poco probable (aunque no imposible) que un entero de 32 bits tenga un valor hexspeak bien formado, la aparición de un número así en un depurador o en un volcado de memoria indica, de manera casi segura, un error como un desbordamiento de búfer o una variable no inicializada.

Pero es que además, y como decíamos antes, el hexspeak lleva aparejado un jolgorio y una guasa inherentes propios del cachondeo más ingenioso de los desarrolladores informáticos. Y para muestra varios botones. Reproducimos, a continuación, algunos de los términos más famosos difundidos por los programadores de las más importantes compañías del mundo de la computación. Nótese que el prefijo 0x es utilizado comúnmente en el mundo de la programación para designar que lo que sigue es un número en notación hexadecimal.

● 0x8BADF00D (fonéticamente ate bad food), algo así como “comió mala comida” o “se alimentó mal”. Utilizado por Apple en los informes de fallos de su sistema operativo iOS cuando una aplicación tarda demasiado en correr, terminar o responder a los eventos del sistema.

● 0xABADBABE (a bad babe), traducido como “una chica mala”. Lo utiliza también Apple como número mágico para el sector cero o área de arranque de un disco (Boot Zero Block).

● 0xBADDCAFE (bad cafe), “mal café” o “café malo”. Usado por OpenSolaris para designar la situación de memoria asignada pero no inicializada.

● 0xDEADBEEF (dead beef), “carne muerta”. Normalmente utilizado para indicar un fallo de software en sistemas embebidos. Originalmente se le dio el uso de marcar áreas de memoria recientemente asignadas pero todavía sin inicializar. Fue un término típico en sistemas IBM RS/6000, PowerPC 32-bit y Commodore Amiga.

● 0xDEADDEAD (dead dead), literalmente “muerto muerto”. Es el código de comprobación de errores que se muestra al ser invocada una Pantalla Azul de la Muerte (Blue Screen of Death) utilizado para obtener un volcado de memoria en sistemas basados en Windows NT.

● 0xDEFEC8ED (defecated), “defecado”. Es el número mágico para los volcados de memoria en OpenSolaris.

● 0xB16B00B5 (big boobs, ahí es nada), “tetas grandes”. Requerido por el software de virtualización Hyper-V de Microsoft para ser utilizado por los clientes Linux como firma invitada. Menuda guasa tienen algunos.

● 0xFEE1DEAD (feel dead), así como “me siento muerto”. Usado como número mágico en las llamadas de reinicio de sistema de Linux.

● face:b00c (facebook), pues eso. Se utiliza en la dirección de protocolo IPv6 para www.v6.facebook.com.

Estos términos, entre otros muchos, representan el habla hexspeak de los programadores, esos locos cuyas mentes forman un conjunto de bases de datos distribuidas, de modelo eventualmente consistente, que ríete tú de Cassandra.

2 comentarios a “Hexspeak, el idioma friqui (uno más) de los programadores informáticos”

Escribe tu comentario

eBook ‘retroPLOF!’

retroPLOF!

Especifica tu dirección de correo electrónico y pulsa 'Comprar ahora'. Puedes pagar con tu cuenta de PayPal o con cualquier tarjeta bancaria.

E-mail envío eBook:

Sigue teknoPLOF! vía…
 
RSS
Twitter
Facebook
Google
 
Ready Set Click!

Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación. Más información.

ACEPTAR
Aviso de cookies