jueves, noviembre 29, 2007

¿Pero no es reflexión?

El Viernes pasado terminamos la asignatura más interesante del Máster por ahora (y salvo sorpresas de última hora, por siempre): Máquinas Virtuales y Reflectividad.

La asignatura fue "Máquinas Virtuales y Reflectividad", organizada por Francisco Ortín e impartida por Raúl Izquierdo Castañedo, Lourdes Tajes Martínez, José Manuel Redondo, Luis Vinuesa y la aparición estelar de Miguel Katrib Mora.

Un buen reparto para la primera asignatura en que se nos separaba realmente a aquellos que habíamos elegido la modalidad investigadora de la modalidad profesional. Así pues, pese a que "Nuevos Avances en Web Semántica" ya dio unas pinceladas de investigación (y donde recibí algunas de las mejores clase del primer año), esta asignatura se presentaba como la apuesta más fuerte de este segundo año.

El primer día Ortín nos dio la primera clase oficial de Investigación, en la que nos explicó los elementos que entran en juego a la hora de realizar una comunicación (véase artículo, tesis, lección...). Una lección que puede parecer tonta y superflua, pero nada mas lejos de la verdad.

Cosas como que tan importante es comunicar algo como motivar porque lo comunicas (o lo investigaste), aprender a delegar responsabilidades acerca de las afirmaciones que realizas (digo X porque Y lo dijo en Z) o responsabilizarte de ellas explicando porqué puedes hacerlas (casi suena como verdadera Ciencia) pueden parecer de perogrullo y en pasadas presentaciones lo hacía con mayor o menor éxito. Sin embargo ahora lo hago (o lo intento) de un modo consciente, no por casualidad.

Fue solo una clase, no puede sustituir a años de una Educación que te enseña a repetir, no a innovar, pero es un buen (muy buen) paso.

Además, en esta clase, se nos presentó el trabajo "gordo" de la asignatura, documentarnos sobre un tema asignado por sorteo y preparar una presentación asumiendo el rol de los creadores de dicho tema (normalmente tecnologías).

Tras ello llegó Raúl para enseñarnos el modo de funcionamiento de los Procesadores de Lenguaje (intérpretes, compiladores...). Dado que me había gustado la asignatura optativa de Traductores e Intérpretes de la carrera (el año siguiente cambió bastante) me esperaba buenas cosas, aunque quizás algo repetidas. La verdad es que no podía estar más equivocado, porque al segundo días las cosas ya eran nuevas para mi.

Raúl nos fue enseñando la teoría de un procesador a la vez que desarrollábamos una práctica que implementaba la teoría. La verdad es que las clases eran densas, nada relajadas, pero a cambio se aprendía mucho y con las 5 horas diarias de trabajo (más seis más, creo) conseguí tener la práctica terminada y con ampliaciones.

Creo que los procesadores me gustan porque se basan, al final, en ir encajando piezas, una encima de otra (siguen el modelo Pipes and filters tan nombrado en las exposiciones finales, que consiste en que la salida de un elemento es la entrada del siguiente).

Así que primero haces el analizador léxico (algo así como ver si las palabras están bien formadas), luego realizas el sintáctico (que recibe la información del léxico) y que comprueba que el fichero esta bien construido y carga todos los datos en un árbol (AST) que te abstrae del fichero que le hayas pasado y te permite trabajar con una estructura de datos cómoda. A partir de ahí el semántico realiza comprobaciones sobre ese árbol y lo "decora" añadiendo información extra, para al final generar el código.

Tras Raúl vino de nuevo Ortín, para comenzar a hablar de Máquinas Virtuales, concepto muy importante porque nos permite, a grandes rasgos, hacer una nueva capa de abstracción entre nuestro programa y el ordenador concreto.

Java tiene por debajo una máquina virtual, la JVM, de tal manera que si nosotros hacemos un programa en Java, nuestro programa ataca esa JVM. Nos da igual que ordenador o Sistema Operativo tenemos, lo que importa es la JVM. Si queremos tener aplicaciones que corran en todas partes, solo tenemos que desarrollarlas sobre una Máquina Virtual que corra en diversas plataformas.

Pero el cambio de tema, con respecto a lo dado por Raúl, no es radical, ya que supone la base de funcionamiento de las Máquinas Virtuales.

Tras esta interesante clase, Tajes nos introdujo en la Programación Orientada a Aspectos (también llamada AOP, aunque no lo parezca). Este tema me tenía en ascuas. La AOP parece como la última moda dentro de las últimas modas de programación. Para ligar, AOP (o eso me han dicho).

Para alguien no informático (como si pudiera quedar alguno a estas alturas) puede parecer extraño, pero la AOP es sencillamente separar las responsabilidades de un programa, de manera que no estén mezcladas, todo manga por hombro, en el programa. Digo que puede parecer extraño porque igual pensaba que es lo que se hacía ya (ja, si ellos supieran hermanos masones...).

Como decía la AOP es tan solo separar esas incumbencias, de manera que cuando nosotros programemos la lógica de la aplicación, solo programemos la lógica de la aplicación (no llamadas a logs, comprobaciones de seguridad y todo el resto). Si mi aplicación tiene que matricular alumnos, solo tiene que matricular alumnos.

La herramienta explicada para ejemplificarlo es AspectJ (al parecer de las más famosas).

Después tuvimos una desafortunada conferencia de Miguel Katrib que, desde mi punto de vista estuvo demasiado espeso el día que fui (el ciclo duraba tres días, nosotros fuimos uno). La conferencia trataba sobre las novedades de C# 3.0 (que incorpora algo de "dinamismo" al lenguaje), pero el primer día fue dedicado a explicar la evolución desde C# 2.0 a C# 3.0. Cada maestrillo tiene su librillo, no hay más. Se notaba que el hombre sabía la de Dios, pero no supo transmitírmelo.

Después Redondo y Vinuesa nos presentaron sus tesis doctorales, con dos objetivos. Uno, para explicar proyectos de investigación bastante punteros que trataban en torno a los temas que llevábamos tratando dos semanas, y Dos, enseñarnos como se defiende un proyecto de estas características ante el público.

Una clase provechosa, pero el tratar dos temas en tan poco tiempo hizo que quedara demasiado atropellado.

La última clase "normal" nos la dio de nuevo Ortín, con una modalidad que no veía en el Máster desde hacía 1 año aproximadamente, cuando él mismo nos dio la parte de Lenguajes Dinámicos en 1º. Se trata de disponer del material que se va a impartir en la clase (unas transparencias densas y muy curradas) y luego llegar a clase y hablar sobre el tema, como si tuviéramos una cerveza (yo un café mediano, gracias) delante.

Algo parecido lo tuvimos cuando Dani Gayo nos mandaba leer artículos de un día para otro, pero en esos casos la discusión acerca del tema no duraba más de 15 minutos. Aquí toda la clase transcurrió sin que Ortín tuviera que dar clase realmente y al final acabamos divagando sobre temas más abstractos que las máquinas virtuales y la reflectividad.

¿Y que mi madre es la reflectividad? Además de la otra parte del título de la asignatura, es la capacidad que ofrece un lenguaje a los programas de modificarse en tiempo de ejecución. La capacidad, en tiempo de ejecución, de crear clases nuevas, o modificar las que existen, en lenguajes como Java es pura ciencia ficción. Sin embargo, otro tipo de lenguajes menos usados, pero mucho más potentes si permiten hacer esas cosas.

Sería bastante ridículo ponerme aquí a hablar de los lenguajes dinámicos, de las capacidades reflectivas y demás, porque, además de que no me considero muy docto en la materia, sin duda hay lugares más aptos para ello.

Los dos últimos días se reservaron para presentar los temas asignados el primer día. La calidad de las presentaciones varía según el caso, pero lo importante no es tanto eso como los consejos que Ortín daba tras terminar cada presentación, que realmente te enseñaba los pasos a seguir para mejorar tu manera de hacer presentaciones.

El ambiente fue diferente en ambos días. El primer día los alumnos no solíamos preguntar y atendíamos más a los consejos de Ortín. No por malicia, al menos en mi caso, ni porque estuviera absorto en otras cosas, sino porque consideraba más provechoso os comentarios que Ortín aportaba y, mientras los asimilaba, no se me ocurrían preguntas.

El segundo día el ambiente fue algo más dialogante. Lanzamos más preguntas, hubo bromas entre el compañero de Microsoft y yo (que trabajaba para Sun) y tuvimos conversaciones bastante interesantes. Se notaba que los del segundo día llevábamos la lección aprendida de los fallos que habían cometido el primer día y nos relajábamos más.

En cuanto a mi presentación, Ortín me felicitó por ella y reconoció el trabajo (44 horas de nada) y a nivel personal quedé muy contento. Creo que es la presentación más currada que he hecho nunca (referencias justificadas, gráficos, pruebas...) y la verdad es que me hizo sentir que había aprendido algo más que una nueva tecnología de programación, o una nueva herramienta o cosas así. Además, durante la charla estuve bastante relajado (solo tarde 25-30 minutos, teniendo 20), y eso que presentar ante Ortín impone (por mucho que él diga que no lo entiende).

Resumiendo la asignatura ha sido una maravilla. Por el momento se sitúa a la cabeza de todas las asignaturas del Máster y ya quisiéramos que las que quedan fueran a tener la mitad de calidad y curro detrás.

Enlazando con mi último post, destacar que ésta también era una práctica abierta. La presentación trataba sobre un tema sí, pero la manera de estructurarla, investigarla, e incluso los contenidos a tratar eran cosa de cada uno, de manera que cada alumno se tenía que diseñar su propio fin para su trabajo.

Lo que diferencia esta práctica de la anterior es la motivación (a partir de ahora citaré a Ortín para justificar la necesidad de motivar a la hora de afrontar cualquier tema, asignatura o práctica... ¡Viva el Método Científico!). En el caos anterior sabes que estás haciendo la práctica por quitar una semana. En este caso sabes que lo haces para aprender ciertas cosas muy difíciles de enseñar.

Y ya por último... ¿No se dice reflexión? Parece que el mismo que te corrige si traduces libraries como librerías un día decidió que reflexión no era una buena traducción para reflection, así que acuñó el término reflectividad. Al parecer, en el resto de España dicen reflexión. ¡Argh maldito! ¡Los manejas como a títeres! Adelante R. contraataca con la fuerza del DRAE.

miércoles, noviembre 14, 2007

Semana sin motivación

Hace un par de semanas tuvimos una semana de la asignatura Administración de Servidores Web, en el Máster de Ingeniería Web.

Esta asignatura nos la iba a dar un profesor de la Universidad Carlos III de Madrid,Jesús Carretero, famoso por ser el autor del libro básico sobre Sistemas Operativos utilizado en la Escuela, Sistemas Operativos: una visión aplicada.

Lamentablemente el profesor avisó de la imposibilidad de asistir a la asignatura hasta finales de Noviembre (vamos, un mes tarde) por lo que la organización del Máster se vio afectada* (si bien es cierto que no hace mucho para afectarla, este incidente no parece muy evitable). Ante la imposibilidad de adelantar el resto de asignaturas de un día para otro se decidió dividir la "docencia" de la asignatura en dos fases: una semana siguiendo el calendario y otra semana a finales de Noviembre.

¿"Docencia"? Sí. La planificación de esa semana ha consistido en un trabajo sobre rendimiento y seguridad de Servidores Web sin ninguna guía por parte de un profesor, por lo que tuvimos que buscarnos nosotros la vida para entregar una práctica con un enunciado lo bastante vago como para que un par de veces nos preguntáramos que teníamos que hacer. La práctica consistió al final en hacer unas cuantas pruebas de rendimiento, mirar alguna cosa de seguridad y la instalación de un websvn con autenticación, que ni siquiera terminé a tiempo, así que no lo presentamos. Tras unas prácticas medianamente motivadoras me he vuelto a encontrar con una asignatura-trámite. Un tema del que no sé nada, pero del que nadie me motiva a aprender.

Quiero pensar que el hecho de que esta parte se haya dado así tiene que ver con el hecho de que el profesor haya avisado con tiempo insuficiente como para poder organizar una docencia (además de que dicha docencia no se ve reconocida por la Universidad, aún). Aunque recuerdo que la asignatura de administración el año pasado no fue mucho más excitante, excepto por algún mini-debate en clase.

No sé. El año pasado me quejaba porque no nos habían puesto escenarios, ni comentado requisitos habituales de un Servidor Web. Mi queja se mantiene.

Eso no quita para que tarde unas 3 horas en escribir 2 páginas de trabajo acerca del funcionamiento de una de las herramientas. La motivación es algo muy personal que usamos para impulsarnos a la hora de hacer un proyecto. Quizás me vendría bien aprender a motivarme un poco en esos momentos en que la tarea parece una mierda. Sé que hay quien dirá que no se puede. No lo creo.

*NOTA:

Para esta asignatura había propuesto a uno de los organizadores del Máster que K diera la asignatura. La petición no era un capricho, ni mucho menos. K había estado trabajando en los Servidores Web de UniOvi y dudo que haya nadie en la Universidad, ahora mismo, en mejores condiciones para dar una asignatura de estas características.

El organizador en cuestión me dijo que haría encantado, pero que al no disponer K de titulo universitario no podía hacerlo sin meterse en un lio legal, y parece que hay gente que le tiene ganas al Máster...

sábado, noviembre 03, 2007

¿Por qué?

Hace unos años había un programa de divulgación científica en TVE que llevaba a cabo una idea, desde mi punto de vista, bastante novedosa y peligrosa.

El programa en cuestión emitía un documental producido por la BBC (al menos todos los que vi eran de la BBC) dividido en 3 o 4 fragmentos. Entre cada fragmento intercalaban un corto debate (5-10 minutos) en el que los invitados discutían los conceptos dle documental que estaban viendo.

La novedad es que los invitados al programa no eran científicos reputados, ni gente que supiera algo del tema que estaban viendo. Los invitados eran gente más cercana a la gente de a pie, gente que conoce algunos problemas científicos de oidas y que ignora otros muchos. Solían ser actores, modelos, presentadores de otros programas... personas con quien la gente pudiera identificarse, dando su opinión acerca de las cuestiones por las que el presentador les iba guiando, con la ayuda de, como mucho, un invitado que si supiera algo del tema.

De esta manera, se hacía un programa a medio camino entre los programas de divulgación científica más ramplones (de un nivel demasiado bajo) y los más sofisticados (de un nivel demasiado alto). Para aquellos más acostumbrados a términos científicos quedaban los fabulosos documentales de la BBC y para aquellos menos acostumbrados los debates podían servir para divulgarles conceptos.

El programa se emitía en prime-time los domingos, en lugar de La Película de la Semana. Obviamente, duró una temporada. Recuerdo haber visto el último programa en el que el presentador (el, por aquel entonces, director del Museo de Ciencias de Valencia) se despedía con un "si tienen a bien renovar el programa, nos veremos en la nueva temporada". Nunca más se supo.

Recuerdo haberme cabreado cuando el programa nunca más volvió. Pero era algo empresarialmente comprensible. Un programa de divulgación científica no es algo que aporte los mejores beneficios para una cadena, sobre todo en prime-time, donde quita una franja horaria que rellenar con algún otro programa que aporte beneficios.

Por supuesto, el hecho de que estemos hablando de la Televisión Pública, quita toda validez a este razonamiento. La verdad es que nunca pensé que lo quitarían, sino que lo relegarían a La 2 donde podría seguir viéndolo, con un poco de suerte en algún horario normal. Pero claro, en ese caso la intencionalidad del programa (divulgar ciencia entre todos) no se conseguiría, así que tampoco tendría sentido.

No pasa nada, nos queda Redes.


Redes es un programa bastante más sofisticado de Ciencia. No creo que mucha gente pueda soportar las conversaciones bilingües de Punset con sus invitados si no tiene la intención de ver el programa, por lo que su poder divulgativo entre la gente de a pie se queda bastante reducido.

Pero no pasa nada, porque toda aspiración de Redes se quedaba reducida a la nada debido a un horario que filtraría cualquier espectador que se encontrara el programa por casualidad, reduciendo su audiencia a un conjunto de fieles que tuviera interés en el tema concreto. He de confesar que no me cuento entre tales fieles, ya que las 2 de la mañana no es una buena hora si al día siguiente quieres madrugar.

Así pues, mientras el primer programa desaparecía en un año, Redes aguantaba años y años, hasta llegar a los 11 años.

Pero eso es todo. Hasta llegar a los 11 años. ¿Porqué? Porque el 4 de Noviembre de 2007 será la última emisión del programa, según leo en Por la Boca Muere el Pez. Parece que la cadena ha decidido retirar el programa de la parrilla como parte de una operación de renovación de su emisión.

¿Porqué? No es un "porqué" totalmente indignado y ciego de ira, sino una pregunta a la que no consigo encontrar ninguna respuesta.

Redes es un programa que actualmente se emite los Domingos a las 3 de la mañana en La 2 (además de otros horarios en cadenas internacionales). Redes constituye, creo, el único programa de divulgación científica (antes había una especie de telediario de ciencia los Sábados de madrugada, pero hace tiempo que no lo veo) de TVE.

¿Acaso es que Redes no se ajusta a los requisitos de audiencia? Pero es que ¿acaso antes lo hacía? Es un programa que cada mes cambia de horario y de día de emisión, nada ligero y emitido a horas nunca más tempranas de las 23h (hace un par de años en La 2) y normalmente más cercanas a las 2 de la madrugada.

¿Qué audiencia pudo llegar a tener nunca un programa así? Y más importante, si de madrugada abundan las teletiendas y los tarots, ¿importa mucho la audiencia para mantener un programa en esos horarios? ¿Qué programa arrasador pondrán ese horario?

¿Acaso el gasto que pudiera suponer el programa (Punset viaja bastante para hacer entrevistas) es algo que la cadena no pueda afrontar? ¿No se puede pagar ese precio por un programa de divulgación? Si es así ¿adónde se va todo el dinero que dicen que chupa RTVE en los impuestos? ¿Es para pagar profesores de baile y patinaje en Mira quien Baila y quien Patina?

¿Es porque Punset está viejo? Es cierto que cuando vino a Oviedo hace ya 2 años yo le vi bastante deteriorado y que en el programa el paso del tiempo se dejaba notar, pero no recuerdo que se hubiera vuelto torpe o incapaz de llevar un programa que, por otra parte, incluía más a menudo entrevistas de los colaboradores de Punset para ayudar a éste (imagino).

Aún en ese caso, ¿es razonable quitar el programa? ¿No se podría reducir a Punset al papel de moderador en los debates que solía haber en la segunda parte del programa y dejar los viajes (lo más fatigoso, supongo) para alguno de sus colaboradores?

Además, en otras apariciones televisivas llevadas a cabo últimamente se le veía muy ágil y perfectamente capaz de llevar el programa... ¿Es por eso? ¿Porque coquetea con BuenaFuente haciendo apariciones esporádicas en su programa sin estar enmarcadas dentro de una entrevista?

¿Y ahora qué? ¿Se ha acabado la divulgación científica? ¿Va RTVE a poner en su lugar un digno sustituto? ¿Se ha acabado Punset? ¿O acabará en otro espacio de divulgación?

La verdad es que no lo entiendo demasiado... Trataré de estar atento al programa de esta semana, el último. Quizás Punset tenga algo que decir...