Quen tivese un profesor así
Por Pataco
Xan 29…que publique no seu blog as preguntas dun exame o día antes. A noticia xa ten uns días, e cheguei a ela de rebote vía dorfun. Un profesor da facultade de Informática da Universidade de Murcia colgou o exame de Sistemas Distribuidos, unha asignatura de último ano, no seu espazo na rede. Tiña truco, claro. Estaba cifrado. Ora ben, non era un encriptado deses que din que se tardan anos en romper se non sabes a clave. O mesmo mestre deu a solución despois do exame, e realmente só empregaba uns cantos programas para UNIX que seguro que os seus alumnos coñecían (od, xdelta…) e o sistema de cifrado máis vello que se coñece, unha versión básica que do que usaba Xulio César, e que consiste en cambiar cada letra pola que está 13 posicións despois no alfabeto.
A esta permutación tan simple chámanlle ROT13, e ten como particularidade que aplicada dúas veces volve ó resultado inicial, se o aplicamos, como soe ser habitual, nun alfabeto latino que ten 26 letras. No español, por culpa da ñ, perde toda a gracia. Na wikipedia hai un gráfico moito máis claro que as miñas palabras:

Resolto, o enigma semella trivial. Pero isto tamén lle acontecía ó mesmísimo Sherlock Holmes, que se queixaba de que cando lle explicaba a alguén os seus razonamentos perdía esa aura de xenio, pois todo problema semella simple cando xa está resolto. Por iso a pregunta é ¿perderiades a última noite antes dun exame tentando resolver un acertixo do voso profesor?¿Ou durmiriades a perna solta sabendo que ninguén da pesos a catro pesetas e que non o iades resolver en 5 minutos?¿Utilizou o mestre un algoritmo tan simple para mortificar ós seus alumnos, sabendo que non serían capaces de resolvelo? Dende logo, os profesores de letras non eran tan creativos…
PS: Para quen lle guste resolver estes pasatempos a auga pasada, un par de indicacións:
- O pdf que se utiliza como parche no penúltimo paso pódese atopar aquí
- Nos meus repositorios non hai ningún programa que se chame rot13, pero hai ducias de implementacións deste algoritomo nas linguaxes máis raras. eu escollín esta, feita en bash:
#!/bin/bash
cat "$@" | tr '[a-m][n-z][A-M][N-Z]' '[n-z][a-m][N-Z][A-M]'

E digo eu: por que motivo utilizades “Julio César” e non “Xulio César”? Xa postos, Caius Iulius Caesar…
Lapsus calami, que diría o amigo Xulio. Corrixido, e agradecido pola nota
Hola:
Muchas gracias por la cita del blog. Me alegro de que lo encuentres interesante. Sólo una pequeña puntualiación. Tu último programa rot13 adolece de un fallo común: el cat redundante. Basta con poner:
tr … “$@”
Un saludo,
diego.
Vaya, el mismísimo Diego Sevilla, que gran honor
Antes de corregirlo, me permito abusar de tu paciencia con una duda de ‘gente de letras’. Si he entendido bien tu comentario, me puedo cargar el “cat” porque sobra. Pero entonces, no funcionaría bien como propones, sino que debería escribilo así:
tr … < “$@”
indicando que “$@” es la entrada. ¿Era esto lo que querías decir o no te estoy entendiendo bien?
No soy demasiado hábil en bash, así que sólo lo bajé de internet, lo probé y funcionó, por lo que ni me fijé en que el código fuese correcto de todo
Ups… Tienes toda la razón. Mil perdones. Constatación (como si hiciera alguna falta) de que nadie es perfecto y mucho menos yo
Efectivamente, tr es un filtro, y sólo trabaja con el operador “