El viernes por la tarde salí del trabajo y me fuí a escuchar la charla de César Ballardini, El modelo de objetos de Ruby, reflexiones sobre la reflexión. La daba en el marco del evento acts_as_rubylit, el cual se llevó a cabo en la Facultad de Ingeniería y Ciencias Hídricas, Universidad Nacional del Litoral de la ciudad de Santa Fe.
Nunca antes vi nada de Ruby. Bueno, casi, pero la última vez no pasé del Hola Mundo!
César empezó su charla explicando la Paradoja de Blub, de Paul Graham. Blub es un lenguaje de programación hipotético. No es el lenguaje de programación más poderoso, pero tampoco es Cobol o lenguaje de máquina. Un programador Blub está parado más o menos en el medio de la ladera de una montaña; hacia abajo están los lenguajes menos poderosos que Blub, él se da cuenta de esto, por supuesto, a todos esos lenguajes le faltan distintas características que nuestro programador usa en Blub para resolver sus problemas. En cambio, cuando mira para arriba (y ve lenguajes más poderosos que Blub), en realidad no se da cuenta que está mirando hacia arriba, simplemente piensa que está mirando a unos locos, hippies de pelos parados haciendo cosas raras. Cuando los programadores que están más arriba en la montaña miran hacia Blub se pregunta, ¿cómo puede alguien estar usando Blub? Ni siquiera tiene la funcionalidad X tan útil para resolver Y!
Por inducción se concluye que solo el programador que esté en la punta de la montaña, es decir el que conoce el lenguaje más poderoso, es capaz de distinguir las distintas posibilidades que se tienen con diferentes lenguajes. El programador Blub no puede verlo, por lo que solo sabe pensar en Blub, no se a enfrentado a problemas que le permitan pensar diferente.
La moraleja de la historia es que uno debería aprender lenguajes que lo obliguen a cambiar su forma de pensar y de resolver problemas (Alan J. Perlis).
Con esto terminó la primera parte de la charla, luego César hizo una explicación de pizarrón sobre qué es la Programación Orientada a Objetos ( y escribió con su fibrón: un objeto tiene Identidad, encapsula Estado y define Comportamiento). Según César, es un error que en la enseñanza de la POO se empiece por las Clases. ¿En qué parte de “Programación Orientada a Objetos” dice “Clase”? Las clases son solo una forma de crear objetos, pero hay muchas otras. Por ejemplo, existen muchos lenguajes OO basados en prototipos, como JavaScript.
Después de haber shockeado a la audiencia desarrollando estas dos ideas en un tono casi de declaración de principios, estábamos listos para ver cómo el Modelo de Objetos de Ruby podía cambiar nuestra forma de pensar.
Lo que sigue no son los ejemplos exactos que desrrolló César con su notebook, solo los que recuerdo. Mezclo los recuerdos de su sesión interactiva de Ruby con mi propio camino de aprendizaje, que arranca ni siquiera teniendo el intérprete instalado ![]()
Read the rest of this entry »
En el año 1988, la Association for Computing Machinery (ACM) declaró al 30 de Noviembre como el “Día Internacional de la Seguridad Informática”, con el objetivo de concientizar respecto de las amenazas que atentan contra la seguridad de la información.
Esta semana es la Semana de la Seguridad. En Argentina la organiza la Jefatura de Gabinete de ministros. En Santa Fe AsegurarTe está organizando algunas charlas y me invitaron a dar mi charla sobre Taint Mode en Python el día miércoles 25 a las 12:30 en la Dirección de Informatización y Planificación Tecnológica de Rectorado de la UNL. Desconozco qué porcentaje de los asistentes conocen Python, por lo que voy a intentar centrarme más en los conceptos que en la implementación concreta de esta técnica; así como definir bien el problema, plantear sus implicacias y discutir soluciones.
update: un par de fotos!


Anoche fue el 34° acto de colación de grado en la UTN FRSF. Luego fue la fiesta anual de la facultad, a la que nos quedamos con varios comapañeros.
Pronto más fotos
update: un par de fotos de las tomadas por Flor Citta.

Pablito, Luis y Gonzalo

Florcitta y Meli

Mariano
Este viernes y sábado se llevarán a cabo las 5tas Jornadas de Software Libre de Junín. Habrá charlas muy interesantes! No se la pierdan:

El viernes por la tarde se llevó a cabo el evento Instituto Libre 09 en la ciudad de Coronda, más precisamente en el Instituto Superior de Profesorado Nº 6 Dr. Leopoldo Chizzini Melo.
Presenté una charla llamada Bienvenido a Python. Es una introducción al lenguaje de programación Python bastante práctica y con muchos ejemplos. Los slides están disponibles en formato pdf bajo una licencia CC. El documento fue generado a partir de un archivo de texto utilizando rst2pdf.
El Jueves viajamos con Ceci a Rosario para participar del evento Cuadro de Honor organizado por la revista PuntBiz, la fundación del Banco Municipal de Rosario y la consultora Sesa Select. Desde hace 4 años organizan una jornada con los mejores promedios de las universidades de la provincia. Eramos muchos chicos, uno 150 jóvenes profesionales de las más diversas carreras.
El agasajo se llevó a cabo en el Salón Auditorio de la Bolsa de Comercio de Rosario, hablaron varias personas a las que me gustó escuchar (Gabriel González, director periodístico de PuntoBiz, la Prof. Ana Navarro de Gimbatti y Alejandro Ferrazzuolo, gerente de Select Executives) y terminó con la entrega de diplomas.

Un detalle en la misma revista.
En la página de la vice ministra Alicia Ciciliani hay varias fotos del evento y asomamos entre la multitud
update: otra foto linda de ese día.

Probablemente asista a este evento. Más información en el blog de Seba.
El 4 y 5 de Septiembre se va a llevar a cabo en Capital Federal el evento PyCon Argentina 2009.
Organizado por la comunidad, con entrada libre y gratuita, se llevará a cabo en la Universidad de Belgrano. Habrá charlas plenarias, programadas y relámpago.
¿Querés conocer Python? ¿Venís oyendo sobre este lenguaje por mucho tiempo y todavía no te animaste a probarlo? Esta es tu oportunidad! Te esperamos!
El próximo martes 7 de abril, desde las 19:30, en ATE Central, San Luis 2854, tercer piso, Salón de Conferencias, realizaremos una charla abierta de presentación del libro “Voto Electrónico. Los riesgos de una ilusión” en la Ciudad de Santa Fe de la Vera Cruz. Del diálogo y debate participarán Beatriz Busaniche de Fundación Vía Libre y el periodista Juan Carlos Bettanin, de LT10 Radio Universidad Nacional del Litoral. Durante la presentación entregaremos ejemplares del libro en forma gratuita a los asistentes.
Fuente: Vía Libre

UPDATE: un panfleto de difusión
El viernes pasado defendimos con Cecilia nuestro Proyecto Final de Carrera: Desarrollo ágil de un sistema de gestión de negocios inmobiliarios con Software Libre. La exposición se desarrolló en uno de los laboratorios del Departamento de Sistemas ante un jurado de tres profesores designados por la Universidad, familiares, amigos y curiosos. Obtuvimos como nota un 10 y nos recibimos de ingenieros. El resto, es fotografía.

Unos instantes antes de la presentación. Estamos bastante nerviosos, pero por suerte cuando empezamos a hablar nos relajamos y todos nos dijeron que salió muy bien.

A la salida, como es tradición, me esperaban mis amigos con huevos, harina y otras cosas. Obviamente, antes pasé por el baño a cambiarme

Cele, Flor, Barby, Seba, Ale K., César, Luis, Mariano, Juanjo, Bruno, Nico, Gonza, Pablito, Joel, Ale G. (f), Ale G. (m), Ema y Meli.
Después de la facultad nos fuimos al salón que habíamos alquilado para festejar junto con unas 70 personas. DJ incluido!
El jueves a la noche, bolso en mano ya que partía para Córdoba al día siguiente, participé de una reunión de RubyLit, el grupo de usuarios de Ruby del Litoral. Muchos ya eran cocidos y a otros los conocí ahí, la pasamos bárbaro, comimos pizza y charlamos mucho. Mi problema radicaba en que nunca había escrito un programa en este lenguaje de programación, por lo que media hora antes de salir para el evento seguí este tutorial on line que te enseña lo básico en 15 minutos (digamos que lo suficiente como para no pasar verguenza
), les dejo el link para los que quieran empezar a probar este lenguaje:
Auditorio de la UTN FRSF, Lighting Talks desarrollándose (5 minutos por disertante para explicar ALGO).
Tuvismos:
(Si le escribí mal el nombre a alguno, avise!)
Fin del post, el resto del día incluye: sorteos, entega de certificados y luego un sprint gastronómico.
Saludos!
Bonus Track: Una fotito del mediodía
Así como lo leyeron, mi humilde participación (de diez horas de código) en esta competencia fue el juego más votado (incluyendo a los juegos presentados por equipos). No me subí al podio, ni estuve en el top ten como me hubiese gustado, pero tengo el agrado de que 48 de mis pares se hayan tomado el trabajo de bajar mi juego, probarlo y votarlo.
En PyWeek solo aquellos que presentan juegos pueden votar. Básicamente se votan 3 características: Diversión, Producción e Innovación. Adicionalmente, al votar se puede dejar un comentario. Dejo aquí alguno de los comentarios que recibí:
Fun: 3 Prod: 3 Inno: 4
That was quite fun. It was a nice touch to put photographs of writings in paper and photos from your trip (probably took less time, even
). The idea is fairly simple, but it is fun and it is a nice way to use the theme. The number of levels was just right to enjoy the concept well and the challenge was good for a person who doesn’t have a music-oriented ear. The photos are nice to look at, too. Well done.
Fun: 2 Prod: 3 Inno: 4
Found it quite difficult and a little boring, although a novel idea, I liked the hand drawn(on paper) stuff… and it’s particularly impressive for 10 hours
![]()
Fun: 3 Prod: 5 Inno: 4
Hilarious game — the menus were hard to read, but the way you did them was fantastic. Comprehensive help, I never really got lost trying to play the game. It was a lot of fun to play around with, and I was able to beat the whole thing. Nice job on the game — especially for one done so quickly! You set a small scope and did fantastically with what you had — well done!
Fun: 3 Prod: 3 Inno: 4
For such a simple game it works pretty well. Randomly generating some tunes could have created some replayability. As it is, it does challenge the brain!
Gracias!