jueves, 20 de octubre de 2016

Fuiste tú, rock'n roll callejero bebiendo blues

Siguiendo por donde lo dejamos (hace más de un año) y tras sacarme un Cambridge C1 en inglés, el verano tras segundo curso empecé mis andanzas como becario en el laboratorio de robótica de la Facultad de Informática. Tras actualizar la página web y ayudar al director del centro, además de docente, con su libro de puertas lógicas y álgebras de Boole, me encontré con tener que comunicar una cámara térmica con uno de los robots que allí había. Y no pude resistirme a esta foto.

Selfie térmico a 4:3
Pero un par de meses más tarde, empezando tercero, mi exprofesor de Sistemas Operativos y del curso de Videojuegos Multiplataforma con OpenFL, además de Director Académico de la UCLM y director del Centro de Tecnologías y Contenidos Digitales, tuvo a bien pensar que sería buena idea trabajar con un tío que se hace selfies térmicas, así que tras proponérmelo renuncié al mundo de la robótica y empecé como becario en el C:TED.


El centro estaba formado por otros 5 becarios, a quienes aprovecho para dedicarles este par de líneas. Cuando llegué la mayoría estaba acabando el TFG, y todos terminaron haciendo trabajos extraordinarios. A lo largo del año fuimos chicos polivalentes; pasamos desde grabar ponencias, conciertos y necropsias a implementar un generador de documentación multiformato, desarrollar parte del nuevo sitio web de la UCLM o producir y usar escenarios 3D en una sala de croma, aparte de otros proyectos.

Canon no ha aportado nada al desarrollo de este blog

Paralelamente, en el primer primer cuatrimestre esperaban algunas de las asignaturas más interesantes de este grado bilingüe. Empecemos, por ejemplo, con Arquitectura de Computadores, de nuevo con Fernando Rincón, uno de los profesores con mejor acento inglés que tuvimos la suerte de tener (seguido muy de cerca por Lemus). Fue la continuación de Organización de Computadores, así que seguimos viendo procesadores superescalares y VLIW, entre otros, y técnicas de planificación estáticas y dinámicas. Como trabajo de teoría tuvimos que optimizar una pequeña aplicación en C con Valgrind y Kcachegrind y la parte del laboratorio se centró en la optimización del compilador GCC a nivel ensamblador y en la predicción de ramas. Podéis verlo en el informe final que entregamos.

Una de las asignaturas con la que peor mejor lo pasamos fue Sistemas Inteligentes, sobre todo por su carga de trabajo semanal. A lo largo del curso vimos sobre todo árboles, grafos y algoritmos de búsqueda, como el MiniMax, y poda, como el Alpha-Beta. Además, tuvimos que preparar unas posibles preguntas de las que luego saldrían las de los exámenes.

En el laboratorio, junto a mi compañero, hicimos una especie de GPS en Python parseando archivos XML descargados de OpenStreetMap en una tabla hash, donde al indicarle el nodo de OSM en el que empezabas y aquellos por los que querías pasar y el algoritmo de búsqueda a usar, aparte de un par de opciones más, generaba la ruta óptima en un archivo GPX. Podéis ver el repositorio aquí y la documentación final aquí.

Alt text
Usamos Glade para la interfaz

Y por otro lado estaba Sistemas Distribuidos, seguramente una de las asignaturas más interesantes del grado. En la parte teórica Villanueva y Villa nos aprendieron protocolos y algoritmos de coordinación y exclusión, como el de Ricard-Agrawala o el de Maekawa. Realmente no había mucha teoría, por lo que los exámenes no fueron excesivamente difíciles de aprobar.

Asimismo, durante el curso fuimos haciendo varias actividades relacionadas con la práctica de laboratorio, una implementación distribuida del clásico CRobots (o DRobots, como lo llamaron) con el middleware ZeroC Ice. En esta versión los profesores prepararon un servidor al que nos conectábamos e intentábamos ganar partidas, primero solo con un robot y más adelante mediante varios a la vez en un grid distribuido, usando así los algoritmos vistos en teoría. Otros años la práctica había consistido en implementar el algoritmo de Cannon de multiplicación paralela de matrices, que por muy raro que parezca no consiguió que los alumnos nos quedáramos en la ALU después de clase al grito de "Estoy en la tercera sala de espera, conéctate que tengo una nueva táctica para ganarte".

Sin duda alguna, la asignatura que hubiera evitado dar fue Ingeniería del Software II. La parte teórica estuvo más o menos bien; vimos, principalmente, el Proceso Unificado de Desarrollo y un par de metodologías de desarrollo más, pero el resto fue un sinsentido de trabajos obscenamente largos y totalmente innecesarios. El principal nos llevó a inventamos una compañía, hacerle una página web en la que colgamos un montón de información que sigo sin entender y usar Maven para gestionar las dependencias de uno de sus proyectos que se supone habíamos planificado y documentado anteriormente. Entre unas cosas y otras no llegamos a la entrega ordinaria y tuvimos que entregarlo en Junio.

Y para terminar el primer cuatrimestre, Interacción Persona Ordenador hizo las delicias de muchos, ya que era la asignatura con la que despejarse de Inteligentes, ARCO e ISO. El objetivo era enseñarnos a hacer interfaces gráficas usables, así que la teoría era tan sencilla como algunas pautas y consejos para ello (que teniendo un poco de sentido común deduces) y varios seminarios pensados como tutoriales para usar el plugin Windows Builder para Eclipse. En la parte de laboratorio, mi compañero y yo usamos la herramienta Balsamic Mockup para diseñar la interfaz de una perrera que más tarde implementaríamos con ese plugin. Con respecto a la persistencia, guardamos los datos en archivos con extensión .perrete.

🐶

Y entre unas cosas y otras llegamos a navidad, uno de los pocos momentos del año en el que los amigos de siempre tenemos ocasión para quedar todos juntos. Fuimos un par de días a Granada a ver a unos, otro par a Madrid a ver a otros y vinieron a Ciudad Real para cenar un par de días antes de nochebuena.
Momentos antes de degustar las ambrosías varias del Mia Mamma

Además, los #pyromanía también utilizamos estas fechas para grabar Mar de Cristal, que aún hoy en día suena en los pasillos menos transitados de la facultad de económicas de Somosaguas.



Por otro lado, los Lapsus habíamos terminado de arreglar la sala y volvimos a ensayar religiosamente cada sábado. Además, empezamos arreglar la de al lado, y al tirar la chimenea que allí había aprovechamos para grabar un pequeño timelapse.






Por cierto, y antes de empezar con el segundo cuatrimestre; a lo largo del año fui encontrando varios minujuegos que amenizaron mis tardes preexámenes. El que me acompañó casi a lo largo del curso fue SwarSim, que simula una especie de enjambre en el que tienes que comprar unos tipos de bichos a costa de otros. Rogue Souls 2 y Swords & Souls, ambos de la desarrolladora SoulGame, Kingdom Rush Frontiers y Arcanorum también son muy divertidos, y en There is no game  un narrador te van contando unas movidas suyas. Y si tienes alguien con quien jugar, prueba Cave Chaos para algo cooperativo o Get on Top para un poco de competitivo.

Además, y junto a mi PS3, descubrí la saga Dark Souls y tras dedicarle casi 100 horas al primero y más de 150 al segundo solo puedo recomendarlos cada vez que me preguntan (y a veces sin que lo hagan).

Me faltaron un par de trofeos de la segunda entrega

Y ya que me preguntáis por mi humilde faceta altruista, una de las (pocas) compañeras de clase que tuve en primero estaba atascada a principios de año con la gymkhana de Redes II de 2º curso, así que tras ayudarle un par de tardes me propuso ir un día a la academia de baile a la que estaba apuntada a probar, y sorpresa la mía acabé apuntándome y yendo dos veces por semana hasta que los exámenes de junio me lo impidieron.

Pero volviendo a lo importante, el segundo cuatrimestre empezaba con una de las pocas asignaturas que hicieron merecer la pena haber elegido la intensificación de Ingeniería del Software. Diseño del Software fue impartida por Macario, cuyas bromas sacadas de tono y su desparpajo a la hora de enseñar se ganaron el fervor de la clase desde el primer día. En la teoría vimos, sobre todo, los patrones de diseño que aplicaríamos a la práctica, un servidor con Apache Tomcat y Structs2 (del que me ocupé yo) y una aplicación para Android (de la que se ocupó mi compañero) para jugar sudokus contra otro usuario de la aplicación, ganando el que lo termine antes. Para más información dad una garbeo por la documentación del proyecto, que contiene la lógica de la aplicación y varios diagramas de ambos programas. De hecho lanzamos una release al terminar proyecto, así que si te montas un servidor con Apache y consigues móvil con Android deberías poder jugarlo. El examen final estaba prácticamente basado en la práctica, así que no hubo mayor problema en aprobarlo.

Rosado y la teoría de Desarrollo de Bases de Datos nos llevaron a generar modelos entidad-relación a partir de requisitos de usuario y a aplicarles la teoría de normalización. Realmente esta parte fue bastante fácil, pero lo interesante vino con las prácticas. Con la primera y la segunda realizamos un chorrón de consultas PL/SQL en un servidor Oracle de la facultad, y en la tercera  partimos de un documento de requisitos de una empresa de construcción y tuvimos que diseñar su diagrama E/R, de clases y relacional, crear y poblar todas esas tablas en el servidor Oracle y escribir el código para generar una serie de estadísticas.

El director de la facultad, quien impartió Ingeniería de Requisitos, nos enseñó a resolver ejercicios de OCL, sobre los que también verso una de las muchas presentaciones que hicimos durante el curso, o a elicitar correctamente requisitos, entre otras competencias. Como trabajo gordo tuvimos que aplicar todas las técnicas de ingeniería social estudiadas en teoría para elicitar a nuestro cliente/profesor los requisitos de un sistema de gestión de evaluaciones.

Sistemas de Información Empresariales fue otra de las asignaturas que creo no debería impartirse en el grado en pro de otras más interesantes. La teoría fue un memorizar conceptos y definiciones sobre CRM, SCM y ERPs en general para olvidarlos al salir por la puerta de la sala del examen. Además, el segundo parcial fue una práctica con SAP, herramienta que aprendimos a usar un par de días antes y que olvidamos un par de días después. Para la práctica, desarrollamos un par de módulos para el ERP open-source ODOO en Python que ayudarían a una academia a gestionar alumnos y profesores. Puedes verlos junto a la documentación final en tu repositorio de confianza.

Y por último, Aspectos Profesionales de la Informática a.k.a Tutorial de Microsoft Project a.k.a La asignatura de la LOPD nos enseñó a gestionar un proyecto software y a escribir varios de sus documentos básicos, como el Acta de Constitución y lo más importante, que si te toca Villarubia en el tribunal del TFG te va a preguntar si tu trabajo trata datos de carácter personal, de qué tipo y si cumple la LOPD.

Y con esto terminamos un curso lleno de alegrías, sorpresas, suspensos con 4.95 y entregas en el último minuto. El tan merecido verano deparó, entre otras, una visita de los madrileños a Almagro en el mes del teatro, lo que fue una excusa perfecta para hacer turismo por la Plaza Mayor, el Convento de la Asunción, el Recinto Ferial o incluso la afamada Calle Mercao.

Mirando al infinito (o al patio central del Convento)
Madrileños castizos en la piscina municipal de Almagro
Por otro lado, llevábamos preparando unas vacaciones todos juntos desde prácticamente la cena de nochebuena que al final se quedaron en un día en las Lagunas de Ruidera, donde aprovechamos para grabar el vídeo para otra de las canciones que escribimos a lo largo del verano, Desenlace Anunciado.


Con la peñita

Y poco después llegó la feria de Almagro, evento sociocultural que acoge a gente de prácticamente todos los municipios colindantes a nuestra localidad, sin contar a los granadinos que vinieron a visitarnos.



Y antes de acabar (porque esto está a puntito), a lo largo del año leí varios libros de los que, abusando de vuestra confianza, voy dejar constancia para acordarme cuando relea estas líneas. Los primeros de la saga Las aventuras del capitán Alatriste de Pérez-Reverte, los dos publicados hasta ahora de El nombre del viento de Rothfuss, los cinco publicados de Canción de hielo y fuego de R.R. Martin, Los renglones torcidos de Dios de Luca de Tena, Travesuras de la niña mala de Vargas Llosa o El psicoanalista de Katzenbach fueron algunas de las novelas que me acompañaron en las frías tardes de Ciudad Real.

Y ahora sí, a estas alturas de la entrada no queda sino batirnos cerrar otro año de este diario públicamente personal, que espero hayas vuelto a disfrutar genuinamente, mi insaciable lector.



Dices que no haces trampas cuando jugamos
a que tú eres el gato y yo el ratón.
Dices que tocas el cielo con las manos,
dices que sí, dices que no

#pyromanía, Mi vino tinto

No hay comentarios:

Publicar un comentario