Tampilkan postingan dengan label computación. Tampilkan semua postingan
Tampilkan postingan dengan label computación. Tampilkan semua postingan

Selasa, 17 Januari 2012

Donald Knuth en el Centenario de Alan Turing


El día 10 de enero del 2012, Donald Knuth, una de las “vacas sagradas” del cómputo cumplió 74 años. Hoy se encuentra en Suiza en donde dio una conferencia titulada “Siguiendo los pasos de Alan Turing“, en el homenaje al centenario del nacimiento de uno de los grandes pioneros de la informática.

Donald Knuth está ya retirado. Dice extrañar sus clases pero a cambio está contento de tener tiempo para dedicarse de lleno a completar su obra de vida: la colección de libros sobre el arte de la programación (muchos de ellos pueden conseguirse incluso en formato PDF). Cabe decir que el profesor Knuth no tiene correo electrónico para contactarlo y él mismo indica lo siguiente: “I don’t even have an e-mail address. I have reached an age where my main purpose is not to receive messages.’ — Umberto Eco, quoted in the New Yorker” (No tengo incluso cuenta de correo eléctrónico. He llegado a una edad en el que mi principal propósito es no recibir mensajes — Umberto Eco, citado en el New Yorker).

En junio participará, como uno de los 30 galardonados por el premio Turing, en el homenaje al centenario del nacimiento del científico británico en la ciudad de San Francisco. Participará como uno de los miembros de un panel que mostrará y analizará las contribuciones de Turing así como también dará sus puntos de vista del pasado y futuro de la computación.

La semana que viene estará en Manchester en la Conferencia sobre el centenario de Turing y en esos días también irá a Italia, en donde hablará de “Satisfiability and The Art of Computer Programming“.

Cabe señalar que Knuth usa un lenguaje de su propia invención WEB (presumiblemente  lo bautizó con el apodo de su suegra, pero no me consta -alguien me contó eso hace muchos años), el cual de acuerdo al autor, facilita la creación de programas legibles. Fue originalmente desarrollado al mismo tiempo que iba desarrollando TeX, el sistema de tipografía más famoso del mundo. Los usuarios/programadores de WEB (que no tiene nada que ver con la www de Internet), son capaces de:

  • escribir programas de calidad superior
  • producir documentación adecuada
  • reducir el tiempo de depuración
  • mantener los programas fácilmente en la medida que cambian las condiciones

La idea de Knuth es la de considerar un programa como una comunicación entre los seres humanos más que un conjunto de instrucciones en la computadora. El programa puede de hecho verse como un documento en hipertexto.

Mucha más información de este notable personaje del cómputo, aquí, su página personal.

Senin, 24 Oktober 2011

Muere el padre de Lisp, a los 84 años

La inteligencia artificial está de luto. Uno de los pioneros de esta interesante rama de la ciencia de la computación, John McCarthy, murió a los 84 años de edad. McCarthy fue el creador de, probablemente, el primer lenguaje formal de la llamada Inteligencia Artificial, Lisp (por aquello de LISt Processing), el cual cobró importancia en la década de los setentas y en donde probablemente la mejor referencia del lenguaje sea la de Guy Steele, que documentó Lisp prácticamente en toda su extensión.

McCarthy fue considerado por muchos el padre de la inteligencia artificial moderna. Estudió matemáticas con nada más y nada menos que John Nash en Princeton y fue quien organizó el primer encuentro de computadoras de ajedrez entre científicos de los Estados Unidos contra la ahora exUnión Soviética. Las jugadas en ese entonces, entre ambas máquinas, se enviaban por telégrafo.

Para McCarthy, la Inteligencia Artificial debería ser más interactiva y trabajó extensivamente sobre simuladores de la IA como Eliza. Hoy en día Siri podría ser un ejemplo de lo que John McCarthy pensaba debía ser la inteligencia artificial. En sus últimos años mantuvo un laboratorio propio, con criterios de investigación muy abiertos, en donde se apoyaba la exploración e investigación básica en cómputo. McCarthy recibió el premio Turing, de la ACM (Association for Computing Machinery) en 1972 (algo así como el premio Nobel de cómputo) y la Medalla Nacional de Ciencia en 1991.

John McCarthy nació en 1927,  en Boston, y aprendió por sí mismo matemáticas a nivel universitario a partir de los libros de texto de Caltech, logrando inscribirse en las clases avanzadas (a pesar de ser apenas un quinceañero), cuando su familia se mudó a esa área. Recibió el título de doctorado en 1951, a los 24 años apenas.

Con respecto a Lisp, McCarthy mismo en sus artículos, dice que creó Lisp para así crear las máquinas de Turing, en el medio ambiente limitado del cómputo de ese momento. Quizás la peor crítica a Lisp sea su deficiente notación, basada en paréntesis, los cuales pueden llegar a ser una pesadilla para el programador. Sin embargo, esto puede ser paliado hoy día con los poderosos editores para programar, que llevan cuenta de los parentesis entre otras cosas.

Tal vez el más importante de sus trabajos sea Lisp, porque fue el primero en cambiar la tendencia de los lenguajes de programación y añadir el cálculo lambda como un nuevo paradigma. Descanse en paz.

Sabtu, 16 Juli 2011

De Cibernética y Seudo-cibernautas Urbanos (capítulo 12)


Capítulo 12 del micro-libro de Enricco Wizard. La verdad es que no entendí de qué se trata, porque supoingo que es un  tema local de donde vivía, Tijuana. Si alguien tiene más luz sobre el particular, favor de  escribirlo en el sitio de comentarios.

Pude al fin hacerle un jaque al Manolis 
después de añales de no tocar una 
maldita pieza de ajedrez. No fue un 
ultimatum mortal pero me sentí ganador 
durante toda la partida, aunque al final, 
y solamente al final, ya en la última jugada, 
me bendijo con un soberbio jaque mate.

El cero treintainueve
o
¡Sálvame Lassie!

Ya que hablamos de computadoras, hablemos también de números mágicos. Nadie sabrá, a ciencia cierta, quién o qué diablos era el cero treintainueve. Cuando Miky Laure haya pasado a la historia, y para muchos ya lo ha hecho, el misterio sobre el cero treitainueve permanecerá en el aire al igual que la sutil estela de gardenias silvestres que deja a su caminar Minerva, la secretaria de nuestro eficientísimo y aguerrido contralor, o como las huellas míticas de la chica de Ipanema que aún adornan las doradas arenas de alguna playa lejana. El famoso cero treintainueve bien pudo haber sido un taxi, un tranvía, un camión, un vagón del metro, una aeronave o vaya usted a saber que diantres era, pero el hecho relevante es que se la llevó. En un santiamén, la susodicha desapareció del mapa para no volver jamás. Se acaba la papa, se acaba el maíz, es claro que las cosas no han cambiado gran cosa. Nuestras canciones son ya de por si reveladoras. Hay quien se atreve a decir que si se cantaran al revés, esto es, del final hacia el principio, las canciones mexicanas revelarían una encantadora y apabullante historia en la que el personaje central, un tipo desdichado y tomador, después de resucitar a la vida, deja de repente la bebida en un acto de iluminación trascendental, despide de un tajo a la amante de años, a quien casualmente le triplica la edad, recupera a su mejor amigo, recupera también el empleo y una cuantiosa suma de dinero producto de una afortunada apuesta en la que se habrían jugado el orgullo y la vida, en ese orden de importancia. Para concluir, o más bien dicho, para empezar, nuestro personaje vuelve a casa al lado de su abnegada mujer e hijos. En toda esta historia, el revólver, el caballo y otras escenas campiranas son meros elementos pictóricos pero esenciales para el desarrollo de la trama y para acentuar el relato de lo que al final de cuentas es el terrible infortunio, en formato cantabile, de una típica familia a la mexicana. Ni al mismo Oscar Wilde se le hubiese ocurrido tan fantástico relato, que dicho sea de paso, en nuestra querida tierra, de relato no tiene el más mínimo asomo. Como dato curioso y de reflexión, me pregunto si en vez de cero treintainueve, la citada unidad de transporte, por llamarle de alguna manera, pudo haberse llamado treintainueve a secas. Tal vez el cero sea una pista reveladora. Cabe aquí otra reflexión, que viniendo de boca de un buen amigo, habré de otorgarle cierto crédito y lo dejo a mis lectores como una teoría más; el cero treintainueve era nada menos que un revólver de bolsillo y la fulana se suicidó. Salvo que Rintintín o Lassie den con una sólida pista que nos conduzca al meollo de tan intrincada polémica, la verdad es que tal vez el asunto jamás consiga esclarecerse, pero un asunto irrebatible es que la cosecha de mujeres nunca se acaba.

Kamis, 14 Juli 2011

De Cibernética y Seudo-cibernautas Urbanos (capítulo 10)

 
 
Décima entrega del micro-libro de Enricco Wizard:
Cómo olvidar Veracruz con sus palmeras 
(borrachas de Sol). Aquellas tardes sofocantes
e interminables, el malecón, el zapateado
en Boca del Río, el café de la parroquia,
las bolas de tamarindo en Paso del Toro,
el carnaval, las nieves de mamey y
los riquísimos elotes con chile y limón. 
Darwin dio certeramente en el clavo cuando
dijo que la vida dio comienzo en el mar.

Análisis, diseño, desarrollo e implementación
o
Patrañas, patrañas, patrañas y más patrañas

Algunas compañías suelen optar por diseñar el software en casa en vez de adquirir paquetes prefabricados para resolver sus necesidades de cómputo. Dichas compañías cuentan con un flamante equipo de ingenieros supuestamente capaces de resolver cualquier problema técnico y de modelar la operación hasta el punto en que ésta pueda ser automatizada por medio de un complejo sistema de cómputo. En esta ardua tarea participan empleados responsables de distintas áreas. Sobra decir que en la mayoría de los casos con diversos niveles culturales y profesionales, así como con intereses frecuentemente encontrados. Si a esto aunamos el que dichas tareas no nacen del deseo voluntarioso y espontáneo de participar en un proyecto, sino que más bien son delegadas por decreto quasi militar, no será difícil darnos cuenta de que nos hemos topado con una receta infalible para el fracaso. El director del proyecto en cuestión, un fulano de alto rango y con muchos años de servicio en la empresa y que sabe de programación lo mismo que yo sé de microcirugía del hipotálamo, girará una serie de instrucciones precisas con la misma soltura que un acróbata chino y echará a andar aquél monstruo de mil cabezas en un santiamén. En aquella complejidad, las posibilidades de acertar a la solución óptima se verán dramáticamente reducidas, tanto que resultaría harto más sencillo atinar a la combinación correcta del super lotto de Texas. Aún así, el proyecto avanzará por un sendero inescrutable y ya sin posibilidades de retorno. Después de haber gastado lo que jamás se soñó presupuestar y después de varias noches de insomnio y otras tantas vacaciones truncadas, todos estarán entonces convencidos de que la mejor alternativa de solución es comprar de una vez por todas el paquete aquél al que todo mundo lanzó maldiciones y críticas malintencionadas con argumentos desafiantes y a prueba de todo rigor científico. Habrá incluso más de un atrevido que en un arranque de inspiración ponga en tela de juicio la necesidad de modificar el procedimiento actual y solicite la cancelación inmediata del proyecto de desarrollo así como la anulación de la orden de compra. Hasta el más insensato sería un imbécil de no apoyar tan brillante iniciativa. Estando así las cosas todo mundo sentirá que le ha hecho un gran favor a la empresa al evitar la posible implementación de un sistema que hubiese costado una verdadera fortuna en consultores y adendos. Viéndolo del lado amable, la decisión de no hacer nada es posiblemente la más inteligente de las soluciones por la simple razón de que resulta una tarea humanamente imposible la de sincronizar a un grupo tan disímbolo de incapacitados mentales. La presión de la dirección puede ser tal que finalmente se decida por continuar con el desarrollo del programa sin escatimar en recursos. Al final se tendrá entonces un fabuloso sistema con la más alta tecnología disponible en el mercado, una combinación de dos o hasta tres paquetes comprados con pegostes de código fabricado en casa y una serie de procedimientos manuales altamente ineficientes pero funcionales al fin. Un sistema que sólo unos cuantos descorazonados utilizarán y que lo harán no tanto por gusto sino por complacer a sus superiores y al director de la empresa, precursor de la idea original, quien eventualmente los premiará por su empeño y tenacidad. Este último personaje estará plenamente convencido de que ha encontrado, sin habérselo propuesto siquiera, la piedra filosofal. Al final de la historia la empresa habrá triplicado su tamaño y salvado la bancarrota gracias a la pericia de su equipo de contadores, conocidos expertos en triquiñuelas fiscales, y lo más importante, todos tendrán empleo asegurado.

Rabu, 06 Juli 2011

De Cibernética y Seudo-cibernautas Urbanos (capítulo 2)


Segunda entrega del libro inédito de Enricco Wizard:


Otra tarde más rumbo a casa después 
de un día jodido. Al cinto, mi formidable 
celular digital sin el cual la dulcinea no 
hubiese podido comunicarme jamás el 
proyecto más importante del día: 
conseguir unos pañales para niña 
del número cuatro.

La Internet
o
Una de las sietemil cuatroscientas veintidós maneras de rascarse la panza

La Internet está aquí, nos ha tomado por sorpresa, nos invade, nos sale al paso. La doble u, doble u, doble u es un ingenioso artificio para comunicar a la gente pero la experiencia nos ha dictado que en realidad es un instrumento que ha fomentado el aislamiento más pavoroso del que se tenga memoria en épocas recientes. Esto, aunado a la introducción del servicio de pizzas a domicilio, han contribuido en gran medida a que el destino de las generaciones futuras, exceptuando a la familia Hut, se vea gravemente menoscabado. El prototipo del cibernauta futuro es un individuo parapléjico y con acné galopante que muestra una total incapacidad de socializar o mantener una secuencia lógica de diálogo por más de medio minuto, salvo cuando la conversación ocurre vía modem. Tal individuo suele ser un verdadero especialista en algún tema que raya en las fronteras de la ciencia. La teoría de la relatividad especial, pasando por la antigravitación y haciendo escala en la levitación hindú, son temas de su absoluto dominio, a los cuales dedica largas horas de estudio frente al computador. El cibernauta vendrá a suplir al típico "nerd" ya que su armazón genético es mucho más adaptable al desarrollo tecnológico que experimentamos actualmente. La mayor contrariedad es que su esperanza de vida dejará mucho que desear por las razones ya expuestas. Esta actitud sedentaria es apenas un reflejo de un perfecto mecanismo con el cual la naturaleza, en su incomprensible sabiduría, somete a los hombres a fin de depurar a las especies. La alta incidencia del síndrome del túnel de carpio, la miopía juvenil, y las almorranas fulminantes, son una muestra más de como la especie humana enfrenta su propia negación existencial. Tal vez suene escalofriante, pero eventualmente la Internet fracasará y si nuestra especie conserva las extremidades superiores, regresaremos al ábaco, magnífico instrumento ancestral. Esto ya lo sabían los chinos desde hace miles de años pero se empeñaron en tender su muralla y fueron pocos los que se enteraron de sus sorprendentes descubrimientos. La analogía es por demás evidente.  La Internet no es otra cosa que la versión moderna de la muralla china, una barrera infranqueable que acabará por aislar a un grupo de desvalidos. Es cuestión de meditar y decidir de que lado de la muralla queremos estar, o mejor aún, echemos una mirada a nuestro alrededor para ver de que lado nos ha tocado estar. Ya ubicados podemos entonces rascanos la panza a placer.

Kamis, 26 Mei 2011

Lenguajes de programación y obsolescencia


Cuando uno entra al mundo de la computación, tarde o temprano a algunos se nos despierta la curiosidad de saber cómo es que se hacen estos programas que funcionan en nuestras máquinas. Y así, de pronto, ya estamos leyendo manuales de diversos lenguajes de programación, empezamos a ver y a imprimir el código fuente de otros para ver cómo hacen los demás las cosas, y en todo este proceso vamos aprendiendo y nos vamos convirtiendo, bien que mal, en programadores.

En mi caso, aprendí a programar primero en Applesoft Basic, una versión del lenguaje BASIC tradicional, diseñado para la Apple ][. De ahí hice algunos pininos en ensamblador del 6502 y más adelante, ya en la facultad de ciencias, incluso tomé un curso de máquinas digitales con laboratorio, con el estimable físico Javier Sierra, en donde programé en el ensamblador del microprocesador 6809, amén de cursos de programación de sistemas, bases de datos, estructuras de datos, cursos varios de programación, etc.

En este largo camino por el tiempo aprendí Turbo Pascal y encontré a grandes amigos, como Víctor Delgado, apasionado de este producto de Borland, con quienes compartimos código, ideas y compiladores por muchos años. Luego llegó Delphi, que vino a ser el equivalente a Turbo Pascal para Windows y nos enfrascamos en aprender cómo programar bajo la interfaz gráfica. Pude ver Delphi 1.0 en 1994, en la 5a Conferencia Anual de Borland para Desarrolladores y quedé francamente sorprendido por las posibilidades del sistema. Usé la versión 2, 3, 4, 5, 6, 7 y las rebautizadas como Delphi 2008 y 2009 (se puso de moda poner el año de creación como número de versión. Así vimos Windows 95, 98, Windows Millenium, etc). Para mí, la versión 7 fue la más estable, la mejor, comparada quizás solamente con la versión 5. Las versiones 4 y 6 por alguna razón nunca me terminaron de gustar y siempre me parecieron inestables.

Pero he aquí que hemos llegado al 2011 y el año pasado, si la memoria no me falla, Codegear, una empresa subsidiaria de Borland, vendió sus herramientas de desarrollo y programación a la empresa Embarcadero, quien es ahora la compañía que distribuye y sigue soportando el desarrollo de las nuevas versiones de Delphi. Desafortunadamente, veo con cierta tristeza que mi lenguaje de programación favorito ya no tiene el volumen de personas que se ocupan de él. Digamos que el interés por Delphi, con estos cambios de empresas una y otra vez, ha desilusionado a muchos y es claro que cada vez parece haber menos apoyo. Y es una lástima, porque Delphi ha demostrado ser una gran herramienta, basada en el original Pascal de Niklaus Wirth y supercargado con toda la programación orientada a objetos.

Un síntoma de que algo anda mal con Delphi es que las editoriales norteamericanas que se dedican a publicar libros de programación, hacen años que no sacan un nuevo libro sobre Delphi. Y eso suena parecido a lo que pasó con una de las mejores revistas de computación que hubo en el mercado, la revista Byte, que de ser un volumen de cientos y cientos de páginas, de pronto empezó a adelgazar espantosamente y terminó muriendo de inanición. Esto está pasándole a Delphi, me parece.

Me pasó algo parecido en Prolog, aunque aquí la historia es en realidad diferente. En los años ochenta salió Turbo Prolog, y considerando la potencia de las herramientas "turbo" de Borland, me hice de este compilador. Me fui a hacer una maestría a la Universidad de Essex para aprender a usar Prolog entre otras cosas y a mi regreso escribí mi primera aplicación completa en turbo Prolog, un corrector ortográfico híbrido (usa reglas ortográficas, diccionarios, bigramas, etc.), al que llamé Lapsus. Pero he aquí que Borland regresó a los creadores de Turbo Prolog su herramienta y la empresa danesa desarrolladora, sacó más adelante una versión para windows llamada Visual Prolog. De nuevo, aunque el lenguaje sigue siendo el mismo, el soporte a Prolog es discreto y quizás en muchos sentidos no es el mejor lenguaje de programación por muchas razones, aunque sus puntos fuertes son inimitables en cualquier otro lenguaje.


El punto es que uno toma decisiones en el pasado, por ejemplo, la que yo tomé, de programar en Turbo Pascal, aunque pude haber elegido otra plataforma de desarrollo, quizás C, quizás Java, quizás ¿Visual Basic? y creo que por muchos años disfruté de una de las herramientas mejor escritas en este mundillo de la programación. Pero creo que me estoy quedando obsoleto.

Y sí, aprendí un poquito de Java, de PHP, de C++, pero no los he usado ni con la frecuencia que debería y tampoco creo tener las últimas versiones de estos compiladores/intérpretes.

Así pues, si hay alguna moraleja en esta historia sería la de tomar el estudio de diversos lenguajes de programación al mismo tiempo, por ejemplo Java y C. De hecho, su sintaxis es parecida y eso haría la curva de aprendizaje mucho más rápida, amén de que con la experiencia de lenguajes anteriores, muchos conceptos se entienden mucho más rápido. No obstante esto, es claro que los lenguajes de programación parecen tener un ciclo como las personas: nacen, crecen y mueren (no se reproducen)...

En cualquiera de los casos, pienso que a pesar de todo, esto da oportunidad  a aprender nuevas herramientas, nuevos paradigmas y seguir aprendiendo, cosa que finalmente siempre me ha parecido uno de los más extraordinarios goces en el ser humano: el del descubrir cómo funcionan las cosas y cómo hacerlas mejor, así como entender conceptos que quizás hemos pasado por alto por mucho tiempo. Quizás entonces, no todo está perdido.

Rabu, 25 Mei 2011

Maestros de la Facultad de Ciencias, UNAM


La doctora Elisa Viso Gurovich es una profesora de la Facultad de Ciencias de la UNAM. Licenciatura en matemáticas en 1977 por la propia UNAM, Maestría en Ciencias de la informática, en el 2005, por parte del Politécnico Nacional y Doctorado en Ciencias (computación), por la UNAM también, en el año 2007. La conozco desde que empecé mi carrera de física y como esto de la vocación toma muchas veces forma mientras se estudia, entendí que me agradaba mucho todo lo referente a la computación y por años mantuvimos muchas pláticas amén de cursos que ella daba. Igualmente su esposo, Mario Magidin, que desafortunadamente ya no das clases en la facultad, quizás por falta absoluta de tiempo, nos mostró esa fascinación que da el cómputo. Se decía que Mario podía "compilar" un programa en ALGOL en el pizarrón, es decir, el código que escribía en el pizarrón sin duda correría si lo tecléabamos en una terminal de alguna computadora con un compilador de ese lenguaje (muy parecido a Pascal a todo esto). Amén de ser grandes profesores Elisa y Mario, creo que siempre se portaron también como grandes amigos.

Hoy estando en mi escuela encontré un cartel en donde se anunciaba un libro de Elisa. Minutos después me encontré a la autora y me dijo que me daría un ejemplar, que ahora tengo en mi poder. De hecho son dos ejemplares, el libro de texto, publicado por "las prensas de ciencias", que hasta donde entiendo es una organización editorial de la propia facultad de ciencias de la UNAM, cuyo título es "Introducción a las Ciencias de la Computación con Java", y un segundo volumen, menos grueso, que es el "manual de prácticas", del primer volumen.

Aunque Elisa ha escrito otros libros, lo cual fue sorpresa para mí, éste que reseño aquí está escrito con el licenciado en ciencias de la computación Canek Peláez (2004).

El temario de la obra es este:

  1. Introducción.
  2. El proceso del software.
  3. Clases y objetos.
  4. Manejo de cadenas y expresiones.
  5. Datos estructurados.
  6. Herencia.
  7. Administración de la memoria durante ejecución.
  8. Ordenamientos usando estructuras de datos.
  9. Manejo de errores en ejecución.
  10. Entrada y salida.
  11. Hilos de ejecución. 
Esto es sin duda una introducción por demás completa y extensa al lenguaje Java de programación. Desde hace unos años el paradigma de los objetos hizo su aparición y su poder es tal que los autores de la obra enmarcan todo su texto bajo el fuerte influjo de la programación orientada a objetos (POO).

Viso y Peláez han decidido tocar muchos temas que quizás se salgan de cualquier curso introductorio a la programación en Java, empezando por las excepciones, el manejo de archivos y eventos. A diferencia de otros textos de esta naturaleza, el volumen gira siempre alrededor de un tema central: el manejo de una base de datos, en donde se ejemplifican conceptos importantes como extensibilidad, modularidad y reuso de los objetos.

El texto también contiene otros ejemplos que complementan la enseñanza de los tópicos más importantes, aunque estos no necesariamente sean de la POO.


Por su parte, el Manual de Prácticas, contiene un buen número de ejercicios para que el lector pueda aprender Java "ensuciándose las manos", es decir, practicando. Su índice va así:

  1. Ant y el compilador de Java
  2. Usar y modificar clases
  3. Variables, tipos y operadores
  4. Interfaces y clases por dentro
  5. Estructuras de control y listas
  6. Herencia
  7. Entrada/salida y arreglos
  8. Recursión
  9. Manejo de excepciones
  10. Interfaces gráficas
  11. Ant y archivos Jar
  12. *Hilos de ejecución y enchufes
Apéndice A: El resto de las leyes



He empezado a hojear la obra y francamente es un trabajo notable, bien escrito, cuidado, profundo, como caracteriza a Elisa (y supongo que a Canek también, que no lo conozco personalmente).  Estoy seguro que si se quiere aprender Java, es una buena idea hacerse de este libro. Enhorabuena y felicidades a los autores.