10 divertidas anécdotas sobre programación
Por lo general, suelo compartir en redes sociales (sobre todo en mi cuenta de Twitter, @Manz) curiosidades relacionadas con el mundo de la tecnología, la informática y la programación, siempre divertidas o con un toque de humor.
En esta ocasión, no quería dejarlo pasar y he creado un breve artículo con las mejores anécdotas que he encontrado últimamente, explicándolas un poco para que incluso aquellos que son ajenos a la programación, puedan también comprender ese curioso y extraño sentido del humor que nos caracteriza.
1. ¿Cómo aprender a programar en una noche?
En la red social Quora (una red social bastante conocida de preguntas y respuestas) un usuario (probablemente, con prisas debido a un eminente trabajo o examen) lanzaba la siguiente pregunta: «¿Cómo puedo aprender a programar en una sola noche?».
Entre otras, un usuario le dejaba la siguiente respuesta:
«Mete un portátil en tu mochila y viaja al polo norte al comienzo del invierno. Tendrás 6 meses de noche para aprender a programar. Una vez allí, leéte Google de cabo a rabo. Hay montón de libros electrónicos y tutoriales en Internet.»
Programar es una tarea muy compleja que conlleva comprender una larga serie de términos y conceptos que hay que dominar y combinar con lógica, abstracción y metodología. Personalmente, considero que en una noche se pueden aprender unas bases muy concretas y reproducir códigos ajenos, pero todo ello dista bastante de aprender realmente a programar.
Como decía Descartes, «Daría el doble de lo que sé, por la mitad de lo que ignoro».
2. Detener un servidor religiosamente
Reconozco que esta me sorprendió, no pensé que pasara de las típicas tonterías que escribo a veces. Hace algunos meses, me encontré con una imagen que me llamó bastante la atención. Desconozco la historia que hay detrás de ella (¿alguien la conoce?), pero en la fotografía se veía un supuesto miembro religioso bendiciendo con un hisopo lo que parecen varios armarios de servidores, probablemente algún acto inaugural.
Al margen de que realmente sea eso lo que sucedió, se me ocurrió aprovechar la polisemia (juego de palabras) de «daemon» (demonio, palabra con la que se conoce a los servicios en GNU/Linux) con un supuesto exorcismo. En GNU/Linux se puede detener un servidor (realmente, un servicio) escribiendo /etc/init.d/daemon stop, por lo que la broma quedaba redonda.
Rápidamente se popularizó y la broma empezó a replicarse en Twitter con otros autores, desmotivadores y webs estilo Taringa. Incluso me criticaron duramente por no haber utilizado systemd en el chiste. Esas cosas que pasan en Internet.
3. Un empleado poco común
Otra anécdota bastante cómica nace a partir de una pregunta en StackOverflow (red social de cuestiones de programación), en la que un usuario comenta que en su empresa han contratado a un empleado que se apellida Null. Para los que no lo sepan, Null es un valor especial en programación que representa la ausencia de un valor, por lo que la aplicación web de esta empresa dejaba de funcionar al introducir el nombre del empleado.
La situación no es especialmente cómica, pero para los programadores es desternillante debido a lo inusual que es y a la escasa probabilidad de que ocurriese algo similar.
En los comentarios, algunos usuarios proponen como solución despedir al usuario o pedirle que se cambie de apellidos, aunque la mayoría creen fervientemente que se trata del pequeño Bobby XML, el hermano perdido de Bobby Tables.
4. ¿Cuál es la abreviatura de «Expresión regular»?
Una duda que se me ocurrió recientemente fue: ¿Cuál es la forma correcta de abreviar «Expresión regular»? ¿Debería ser «regexp» o «regex»? Las expresiones regulares se utilizan en la programación como un sistema para buscar o reconocer cadenas de texto de una forma muy flexible y potente. Como siempre que tengo dudas, acabé en un enlace de StackOverflow donde alguien había hecho la misma pregunta que yo años antes.
Pero lo mejor del asunto era la respuesta del usuario marcado como mejor respuesta: «/regexp?/». Una expresión regular que admite las cadenas de texto regex y regexp como válidas.
5. Haciendo inyecciones SQL. Nivel experto
Una imagen muy conocida cuando hablamos de las inyecciones SQL es la que muestro a continuación. Una inyección SQL es un método de infiltración, en el que burlas un sistema, pasándole código propio (inyectándoselo) para que lo procese como si fuera del sistema, y generalmente con ánimo de conseguir algo más (credenciales o acceso al sistema, eliminar o modificar información, etc...).
En este caso, la idea era que el radar de tráfico, al intentar leer la matricula, procesara también el código añadido, que en este caso se trata de un DROP DATABASE (eliminar una base de datos).
Los rumores indican, nuevamente, que se trata del coche del pequeño (pero ya mayorcito) Bobby Tables.
6. Poema.CSS
¿Conoces el lenguaje CSS? Es el lenguaje de marcado con el que se diseñan las páginas webs y se gestiona prácticamente todo lo relativo al aspecto visual y estético de una página o documento web. Quienes conocen bien este lenguaje, saben también que dominarlo (sobre todo cuando hablamos de aprendizaje de layouts) es una tarea muy frustrante, ya que los elementos se descolocan con facilidad.
Si lo has sufrido, no te preocupes, aquí tienes este breve pero intenso Poema.CSS que te hará sentir mejor cuando tengas problemas con el posicionamiento o colocación de elementos:
7. Piano con plátanos táctiles
Un señor de Noruega, cansado de ver pasar los monótonos días uno detrás de otro, decidió montar con Arduino un piano de plátanos tácticles, utilizando Clojure y Overtone.
El experimento es absolutamente impresionante, y se ve mejor en el video que grabó para la ocasión, mostrando todo el montaje y funcionamiento. Vale la pena hasta el último segundo.
Me quedo con el dato curioso que facilita: Un piano completo requiere cerca de 11kg de plátanos (a 3 dólares el kilo). Sigue siendo mucho más barato (y ligero) que un Steinway.
8. Nombres informáticos
¿Has pensado alguna vez como serían los nombres de ciertos actores si tuvieran nombres informáticos? Seguramente no, porque eso no lo piensa nadie. Pero si ahora te lo preguntas, aquí tienes la respuesta: Actores PC: ¿Y si los actores fueran programadores?. Para empezar, JSON Statham y Vim Diesel.
También tienes músicos informáticos y películas informáticas.
9. Promoción realista de curso de ensamblador
Sólo si alguna vez has programado en ensamblador eres capaz de sentir esa extraña sensación que te invade cuando ves la imagen que han puesto para promocionar el tutorial de Ensamblador de esta página.
Por favor, escriban en los comentarios los diálogos que estarían manteniendo los integrantes de esta fotografía, porque me encantaría leerlos.
10. Algoritmo StackSort
Y por último, nuevamente en honor a StackOverflow, esa red que saca de apuros a estudiantes y trabajadores, tenemos un nuevo algortimo nacido del tooltip de una tira de XKCD. En ella se habla de los algoritmos de ordenación, o lo que es lo mismo, los diferentes métodos para ordenar una serie de elementos por su número, orden u otro factor.
En este caso concreto, hablamos del algoritmo StackSort, un algoritmo de búsqueda que se conecta a StackOverflow, busca «ordenar una lista» y descarga y ejecuta los códigos encontrados hasta que la lista está ordenada.