martes, 6 de mayo de 2014

Finalmente... Magister.

Después de ya un poco más de 4 años y de tantas experiencias y aprendizajes, el día de hoy finalmente puedo decir que terminé mi Maestría en Ciencias de la Computación. Estoy sumamente agradecido y aún incrédulo. Los nervios que tenía para defender aún no terminan de desaparecer, pero se ha ido reemplazando por una felicidad y una realización, intensa y profunda.

¡La presentación mesmaaa!

Hoy, a las 11:00am., en la Sala de Videoconferencias del Edificio de Comunicaciones, finalmente defendí la tesis de maestría que muchos (incluyéndome) ya consideraban una parte constante de mi vida, jajaja. Tenía practicada la presentación de tal forma que durara 35 minutos, pero al hacerla resulta que duró casi 2 horas. :O Claro, esto incluyendo las preguntas que se hicieron durante la presentación (las cuales agradezco, pues siento que hicieron entenderse mejor lo que explicaba).

Durante la presentación conté con la compañía de muchos amigos y colegas del Departamento de Computación. Agradezco muchísimo tanto apoyo e interés genuino, aunque era gracioso pues tenía como 10 jurados en realidad, jajaja. Sin embargo, las preguntas hechas me hacen sentir que hice un buen trabajo, al menos interesando a la audiencia y lo cual me pone sumamente orgulloso y agradecido.

Eventualmente, la presentación terminó y nos pidieron salirnos un rato para que los jurados pudieran deliberar. Estuvieron un raaaato ahí (proporcional a lo que me tardé en la presentación, jeje). Pero finalmente nos dejaron pasar y me dieron la gran noticia: ¡Aprobado! Aún no puedo creerlo. ¡Que felicidad tan grande! Y más aún, algo que nunca me hubiera esperado... Los jurados decidieron que la tesis merece mención. Wow! Es mucho más de lo que esperaba y no puedo dejar de sentirme agradecido y orgulloso. La realización no cabe en mi en este momento. :')

Después de la defensa tuvimos un brindis en el departamento y mucha gordura para acompañarlo. Tuve el gusto y el honor de contar con buenos amigos y excelentes profesores colegas en la defensa y en el brindis. Sé que hubo muchas personas que querían llegar y no pudieron por la cola que había a esa hora. Intentaré repetir la defensa como un coloquio para que más personas que estén interesadas puedan verla (aunque confieso que me da un poco de miedo que se arrepientan de la decisión de hoy, jajajaja).

Y bueno, esto era lo que quería compartir por ahora. La felicidad que siento es realmente indescriptible. ¡Gracias a todos los que compartieron conmigo este momento y los que me ayudaron en todo el transcurso, aunque sea con su amistad y compañía! A mi tutor, mis jurados, mi familia, mis profesores, mis amigos, todos. ¡Gracias! Lo que siga ahora, no lo sé. Pero es un paso super importante y del cual no podría estar más orgulloso y por supuesto, infinitamente agradecido.

Hasta una próxima entrada. :)

sábado, 3 de mayo de 2014

My name is... What?

La verdad es que esto ha sido así desde que tengo uso de memoria y aunque disminuye poco a poco, sigue vigente y pasando... El nombre que me fue dado cuando nací es Ricardo (segundo nombre Rafael por si quieren stalkear un poquito, jajaja). ¡Me encanta mi nombre! No sólo lo que representa y la potencia de su historia, sino que además me gusta como suena. XD Pero tengo la dicha/desgracia de además tener un apellido super extraño: Monascal. Y como tal, mucha gente termina llamándome por él.

That's right!

No es que me disguste mi apellido, pues lo llevo con orgullo, pero mi apellido no soy yo. Y lo más gracioso es cuando empiezan a ponerle diminutivos como Moni. La verdad no tiene nada de sentido un diminutivo de apellido y no me gusta demasiado, pero eventualmente toca acostumbrarse, jajaja.

Algo que tampoco me gusta es que me llamen por mi profesión. No me gusta que me digan "profesor" ni "profe". Y créanme que pocos están tan orgullosos y agradecidos con su trabajo como yo. Pero esa es una profesión, no soy yo. Además, tiene una connotación histórica en el subconsciente de que "el profesor" está en otro nivel y debe mantenerse una distancia respetuosa y hasta temerosa. Pftttttttt..... ¡¿Qué distancia ni que distancia?! Yo me siento tan ignorante y niño como siempre lo fui. Y de quienes he aprendido más en la vida es de aquellas personas con las que he tenido la oportunidad de compartir; muchos de ellos casualmente inscritos en materias que estoy dando. Eso no los hace menos a ellos ni más a mi. :P

De todas formas eso de "profesor" no es mucho problema, porque a la gente se le quita eso a las dos semanas de ver clases conmigo y joder por ahí. Con sinceridad, yo tampoco podría decirme a mi mismo profesor si me diera clase, jajaja.

Y bueno, esto era lo que quería compartir por ahora. Junto con una petición especial a los que quieran intentarlo: Me encanta mi nombre, llámenme por él cuando puedan. Incluso diminutivos de Ricardo (como Ricky o Rick) me agradan también, jajaja. Y bueno, con eso los dejo hasta una próxima entrada. Con la defensa de mi tesis de maestría siendo este Martes, puedo imaginarme ya de que se tratará, jajaja. ¡Hasta la próxima! :D

martes, 1 de abril de 2014

El juego que nos robó el alma a todos

Hoy les quiero hablar sobre un juego que ha tomado por completo el alma de muchos de nosotros, el infame 2048 (http://gabrielecirulli.github.io/2048/). Es posiblemente uno de los juegos más simples y minimalistas que he jugado y, sin embargo, uno de los más enviciantes. Una vez empiezas a jugarlo, simplemente no puedes parar hasta ganar.

LIKE A BOSS!

Pero la cosa no termina ahí. Una vez ganas, sientes que tu alma es libre y puedes volver a tu vida regular. ¡Pero es un engaño! Siempre saldrá alguien con una idea loca para retarte. El primer reto más allá de la victoria es lograr construir la elusiva celda 4096. Confieso que aún no lo he logrado, pero he estado cerca. Hay otros abusadores que incluso han llegado a 8192, pero ellos ya pertenecen a otra dimensión. XD También está ganar el juego en su versión Doge, lo cual sencillamente tienen que jugar: (http://doge2048.com/). Esto si es mucho más sencillo de lograr, ya que la estrategia a seguir para ganar es la misma. ¡Pero los Doge que aparecen son lo máximo! Many game, such points, so doge, wow!

Un reto divertido que afronté hoy fue el de perder con la menor puntuación posible. ¡Es super difícil! Las probabilidades no están a favor de uno y cualquier movimiento en vano puede sumar un montón de puntos de una sola vez. Estuve un rato dándole y logré (a punta de suerte y estrategia) una puntuación casi insuperable, jajaja. ¡Estoy orgulloso! Un miserable, escueto e insignificante 36. :D

Reto: Hagan menos puntos que esto.

Además de los retos normales, han surgido un montón de ideas para programar nuevas versiones e incluso inteligencia artificial para resolver cosas usando este juego (cuidado y se vuelve un tópico interesante de investigación académica). Por poner un ejemplo, está un evil 2048: La posición de las nuevas fichas no es aleatoria, sino la peor posible. También existe un Fibonacci 2048: Usa los números de la secuencia de Fibonacci, en vez de las potencias de 2. Yo tengo una idea para implementar un Origami 2048, pero lo haré cuando tenga más tiempo libre.

¿Próximo parcial de Lenguajes?

En fin, es un excelente juego que muestra los principios de buen diseño de forma elegante y concisa. Todo mi respeto para el implementador: Gabriele Cirulli (@gabrielecirulli en Twitter), así como para los diseñadores/implementadores de los juegos en los que está basado (1024 y Threes). Y esto era lo que quería compartir por ahora. Hasta una próxima entrada. ¡De vuelta a la no-procrastinación! XD

lunes, 17 de marzo de 2014

Lo bueno, lo malo y lo feo

Ya va más de un mes desde que comenzó este ciclo de protestas y 15 años desde que estamos hundiéndonos poco a poco en un mal llamado "socialismo". En el pasado se han cometido muchos errores con respecto a como se debe llevar una protesta y muchos de estos dejaron valiosas lecciones para el futuro. Lecciones que han sido completamente ignoradas nuevamente. Por eso, en esta ocasión quisiera compartir las cosas buenas que tienen estas protestas, las malas y las que son sencillamente absurdas (las feas).

Everywhere indeed!

Lo bueno:

¡Finalmente se entendió! Lo más importante a la hora de una protesta no es hacer daño, sino informar. Claro, no todos han entendido esto, pero otros cuantos si. Se han propuesto muchas alternativas completamente pacíficas e informativas. ¡Los desvíos informativos son posiblemente una de las mejores ideas que se ha tenido en los últimos 15 años! Se puede transmitir un mensaje que llega a muchas más personas, ya que el transito fluye. Las personas que pasan no sólo se enteran, sino que se sienten empáticos con tal medio, pues los trata con respeto y no les ha privado de sus libertades. ¡Aplaudo y apoyo estas iniciativas siempre! También ha habido otras propuestas interesantes como los pancartazos en el metro o simplemente ir por ahí discutiendo con quien se pueda sobre lo que pasa. El medio más efectivo es siempre el empático.

Lo malo:

Así como creo que la información y las pancartas son una idea genial, creo que deben buscar presentar problemas reales. Pancartas que sólo digan "Fuera Maduro" o "Chavez está muerto, supérenlo", son completamente inútiles y provocadoras. Cuando la protesta se vuelve una sátira, pierde significado. Una de las pancartas más sin sentido que he visto decía "¡Maduro ilegítimo! Queremos un presidente Venezolano." Gente... Hay que concentrarse en los problemas, no en intentar por todas las vías posibles invalidar la pasada elección. Fraudulenta o no, ya el mal está hecho. Además, recuerden que Chavez era Venezolano y Diosdado también lo es. ¡Protestas con sentido por favor!

Lo feo:

Mi querida USB... Desde el 2007 (y fugazmente en 2009) no te veía tan mal. Las mentes más brillantes de Venezuela unidas para repetir una vez más la mayor estupidez de nuestra historia reciente: Reclamar por la libertad, privando a los demás de ella. ¡Esto es total y completamente absurdo! Una vez más, paredes de pupitres adornan las puertas de los edificios con mensajes agresivos y excluyentes. ¿Realmente creen que van a lograr algo así? En vez de inspirar a más gente a unirse a sus protestas, están alejando muchísimo más a potenciales aliados. Y apartando eso, es excepcionalmente irónico hasta un punto que es casi ridículo. Nos molestamos con el Gobierno por querer imponernos su punto de vista, mediante ataques psicológicos (que han llegado ser físicos) y privaciones de libertad. Adivinen que... ¡Si están apoyando estas acciones coercitivas, son igual de malos que ellos!

Claro, esto se suma a la maravillosa (not) idea de guarimbas y barricadas que han emergido en todo el país. Estas construcciones improvisadas deben servir como protección en contra de ataques de un enemigo y en ese sentido están más que bien. Pero se ha trastornado su objetivo al de fastidiar a todas aquellas personas que no compartan la modalidad de "lucha" que a dichos guarimberos les parece "la correcta". El que sale a ganarse la vida es inmediatamente un traidor pues "no pone a su país primero". Es el argumento más vacío y fanático que pueda hacer una persona. Justifican su comportamiento autoritario basado en una ideología política. ¿No les suena familiar? Exactamente lo mismo que hace el gobierno. Lamentable y decepcionante, desde muchos puntos de vista.

Espero realmente que esta situación cambie prontamente. Del país entero no se puede pedir demasiado, pues no todos están educados para ser críticos y de alta calidad moral. Pero que mi alma mater, mi querida USB, se preste para tales actos de autoritarismo me parece increíble. Deberíamos ser la universidad de la excelencia y poco a poco de excelente nos está quedando sólo el nombre. Espero equivocarme, pues el cariño que le tengo a mi universidad es tan grande como el universo mismo. Me duele verla pisoteada por todos lados, tanto por el gobierno como por los opositores de igual manera.

Y hasta acá dejo este post. Más que todo un desahogo ante esta absurda situación que nos está tocando revivir. Quiero salir de este gobierno, pero rezo por que los que vengan no tengan nada que ver con guarimberos y provocadores, pues seguiremos en las mismas mas con otro color en el poder. Espero que pronto reaccionemos y demos un giro total en la dirección de estas protestas.

¡Menos violencia, más acciones!
¡Menos destrucción y más trabajo!
¡Menos odio y más empatía!

Hasta una próxima entrada...

sábado, 8 de marzo de 2014

Día de la mujer

¡Hoy, 8 de Marzo, es el día Internacional de la Mujer! Aprovecho para mandar un saludo y un abrazo grande a todas las mujeres del mundo (en especial las que lean esto, jajaja). Y a pesar de que me parece bonito tener un día para celebrarlas, debo confesar que hay algunas cosas que vale la pena discutir.

¡Vivan las mujeres!

Hoy quería compartir con ustedes algunos pensamientos sobre el tema.

  • En primer lugar y más importante, sinceramente siento que no debería existir tal cosa como un día para celebrar a las mujeres, pues para eso está cada instante de nuestras vidas. Son el regalo más grande que Dios le pudo haber dado al universo. Le traen color y alegría a un mundo que sería totalmente gris sin ellas, su ternura, su risa, todo. ¡Gracias por existir y darles un verdadero significado a nuestras vidas! :)
  • Creo que tener un día de la mujer puede ser más bien malinterpretado de forma sexista. Sé que se supone la celebración es de la igualdad de géneros, pero entonces el nombre es confuso. ¿Por qué habría que hacer un celebración de igualdad, pero sólo para las mujeres? Si lo que se celebra es la igualdad de género, entonces no tiene mucho sentido, creo yo.
  • El género es una característica más que puede tener una persona. Entiendo que felicitemos a nuestras madres y padres en su día, pues lo que celebramos es su esfuerzo al criarnos. Pero felicitar a una persona por haber nacido en uno u otro género es extraño. Claro, la idea es felicitarlas a todas por la herencia que tienen de haber salido de su rol servil y secundario de las sociedades predominantemente machistas del pasado. Pero eso es como si buscáramos a nuestro amigo de piel más oscura y felicitarlo por no ser un esclavo. Son eventos históricos importantes, pero pertenecen sólo a la historia.
Y este corto post era lo que quería compartir por hoy. Valoren y quieran a todas las mujeres con las que tengan la suerte de compartir aunque sea un momento. Recibes mucho más de lo que entregas siempre, pues el cariño que son capaces de mostrar no tiene límites. Hasta una próxima entrada. :)

miércoles, 5 de marzo de 2014

Dragon Ball Z: Como Kaiosama manda

Si, así es... Este es un post sobre el animé que marcó la infancia de muchos de nosotros: Dragon Ball. En particular, de mi saga favorita: Dragon Ball Z. Sé que soy un niñito, pero también sé que no soy el único, jajaja. Esta serie tiene un poder místico y es que no importa lo viejo que uno esté o la cantidad de veces que uno haya visto la serie, si la pasan en la televisión uno es feliz viéndola nuevamente. :D

Dragon Ball Z Rocks!!!

Últimamente, en Cartoon Network han estado pasando Dragon Ball Z Kai, a partir de las 10:30pm. más o menos. ¡Es genial! Es una buena forma de relajarse para terminar el día. El único problema... Es que es Dragon Ball Z Kai, no su versión original. Igual se puede disfrutar, pero resumen la serie demasiado. Y más aún, censuran escenas que realmente no lo necesitan. Hay capítulos completos que, si bien son relleno, le daban parte de la magia a la serie. Sin embargo, el colmo de todo fue ayer: Ya están en el planeta Namek y acaban de llegar las fuerzas especiales Ginyu. ¡Finalmente! Esa parte es divertida. Además del mega resumen que daña la trama, cuando Vegeta derrota a Gurdo no muestran como realmente le corta la cabeza, ni la conversación que tiene luego con la cabeza del pana en el piso. El que no haya visto la serie original antes no pude tener la más mínima idea de que ocurrió ahí. Lamentable, lamentable...

Entonces decidí que era momento de complacer la nostalgia como es debido y buscar los capítulos de Dragon Ball Z en su formato original. ¡Y los encontré! Hoy vi el primer capítulo y es 10.000 veces mejor y más interesante que el primer capítulo del Kai, jajaja.

Aquí está el enlace a donde los conseguí:
(también están disponibles las otras sagas, películas, OVAs, etc.)

Eso si, el formato original de Dragon Ball Z es laaaaaargo. Tiene 291 capítulos (pero realmente no tengo prisa). Posiblemente vea uno, o a lo suma un par al día en algún momento de relax. Sin embargo me hace feliz haber encontrado donde verlos. Solamente el primer capítulo y ya la nostalgia la tengo a mil (algo que realmente no logra el Kai, a pesar de que sigue siendo bastante bueno). Hasta la calidad un poco menos pulida de los dibujos le da un toque especial. :)

Y bueno, esto era lo que quería compartir por ahora. Sigan siempre en contacto con el niño que fueron, de esa forma su imaginación nunca tendrá límites. ¡Hasta una próxima entrada! :D

sábado, 1 de marzo de 2014

AI Planning for Program Synthesis

Nota: Este post está en inglés, ya que es mi intención compartirlo en un curso sobre Planificación que estuve realizando, como parte de su evaluación.

Since January 13th, I had the opportunity to refresh and deepen my knowledge of Artificial Intelligence Planning, with an awesome course from The University of Edinburgh, through Coursera, by professors Austin Tate and Gerhard Wickler.

Edinburgh's: Artificial Intelligence Planning
Austin Tate and Gerhard Wickler
Coursera

It is now coming to an end, haven proved to be a challenging and fun experience. I particularly enjoyed implementing my own graphplan planner, albeit without mutex verifications. Other programming assignments were actually quite easy if one used Prolog, but none the less very fun!

One of the assignments (the Creative Challenge) was to come up with some application that benefits from planning techniques, or o particular technology for planning. I decided to take the first option and attempt to make a link between planning and my own work. I am currently working on formal semantics and program verification techniques.

A plan can be viewed as a sequence (or possibly a directed acyclic graph) of steps that takes an environment in a given initial state and transforms it in a way that it ends in a given final state. A program is actually a very similar concept. A program, particularly in imperative languages, is a series of steps needed to take a given input and produce a desired output. This input and output can be expressed in terms of conditions that express what things are true at the start and end of a program respectively. This precondition and postcondition together form the specification or contract for the program.

What if you only had the contract but not the program that implements it? A POP planner could be used to take the contract and expand it into several, more simple, tasks. A plan in which all steps are known to have a direct implementation would be the desired program (one that actually implements the proposed contract). A possible way of expanding tasks into simpler subtasks could be through Morgan & Vicker's refinement calculus. This planner would actually be like an automatization of the refinement process they proposed.

And maybe we could think of a crossover in the other direction. Some planning problems, as well as programs, are limited by resources. These resources might be spatial, temporal, for energy, etc. The logic of bunched implications of O'Hearn and Pym presents a framework for specifying resource dependant reasoning. Particularly, Reynold's separation logic allows reasoning with limited resources and exclusive ownership (mainly memory, but other applications are possible). This kind of reasoning could be exported to planners in order to treat with their own resource constraints. Separation logic has a very nice frame axiom that allows local reasoning, and fits perfectly with the analogous notion of a frame in knowledge representation. I have not found any reference for such a crossover, but I think it could definitely be investigated further.

And this was my small contribution and submission to the creative challenge. Thank you very much for reading! Hope you liked it. :)