Jornadas Regionales 2008 – Día 3

Llegó el último día de las jornadas.

Ruby guysTodavía estoy cansado así que la voy a hacer super resumida. Además en un rato ya empieza la fiesta de cierre en un bar por lo que todavía seguro hay más cosas que contar.

El último día fue muy productivo. Al medio día la segunda charla de Maddog, como siempre muy buen speach y evangelizando de forma entretenida. Luego la charla de Active Record (sin rails) donde me gané un libro de Ruby 🙂 y un descanso para comer algo porque no había nada que me llamara la atención.

La última charla fue a cargo de Rik van Reil, un poco aburrida sobre el final porque no era un tema super feliz :), pero super interesante.

El cierre de la jornada como siempre el equipo organizador reunido dio sus agradecimientos, la gente de PyAr sorteó varios libros y se hizo la tradicional «tirada de remeras». Entre los anuncios se confirmó que las Jornadas Regionales dejan nuevamente el país, para ser en Chile la próxima sede de este evento anual que ya lleva unos cuantos años. Así que ya hay que ir pensando en cruzar la coordillera para el 2009.

Ahora a pensar en Brazil para Octubre :).

Jornadas Regionales 2008 – Día 2

geek's trinkets :)Día de las viejas epopeyas.

Segundo día de las Jornadas Regionales a cargo del Cafelug, todo un lujo. El día lo arranqué a las 15hs con la charla de Introducción a Rails ya que por la mañana tenía que pasar por la oficina a trabajar un rato para cerrar algunos temas pendientes. Linda charla, aunque es del tipo que siempre necesitan 15 minutos más para mostrar un poco más de magia :).

Le siguió una de meta programación en Ruby que estuvo buena para afirmar algunas cosas que estaba empezando a usar «porque lo leí en algún lado» pero la verdad no sabía bien que estaba pasando detrás.

El cierre perfecto fue «La charla del futuro». Luego de la inesperada baja de Mark Shuttleworth, Maddog tomó su lugar, y realizó una puesta en escena única. Ingresó a la sala vestido de astronauta al ritmo de «Odisea 2001», se presentó como Mark del año 20XX (no recuerdo ahora el año exacto) y que iba a rendir homenaje al Sr Hall fallecido hace unos años dando una de sus más famosas charlas. Sin desperdicio :). Espero que el video aparezca pronto para que lo puedan disfrutar.

Además de la jornada de charlas, como siempre hice sociales. Encontré finalmente a los chicos del lugmen y me encontré con un Vita totalmente transformado : pelo corto y afeitada prolija. Casi que dude cuando lo saludé.

Más tarde parrilla, cerveza y vino para todo el mundo y ahora al sobre para vivir la tercera y última jornada a todo trapo.

Jornadas Regionales 2008 – Día 1

Día agotador, como hace mucho que no sufría :D.

Como todos los años arrancaron las Jornadas Regionales cuyo organizador en esta oportunidad es Cafelug. Los chicos arrancaron a pleno, super organizados, aunque como siempre sobre el final se olvidan de algunos detalles en la marea de gente consultando cosas.

Yo arranqué temprano dando una charla de Software Libre para Windows orientado a home/office user, sin tocar siquiera temas más de coding. No es una charla que me super guste pero fue «por encargo» y no me costaba nada sumar.

A la tarde fui a dar la segunda (y espero nunca repetir el error de dar dos charlas el mismo día, a mi garganta no le hace gracia :P) : SocialApps con Ruby On Rails. Fue un poco rara esta, porque iba a ser un taller pero no pude al final, así que hice un lindo cookbook y creo que a la gente le gustó. Estoy filmado en dos ángulos distintos, después tengo que conseguir los videos, y obviamente, destruirlos :D.

Como asistenmte estuve en muy pocas la verdad, más que nada porque me colgaba charlando con gente que hace mucho que no veo.

Vi un poco de Introduction to building RPM packages, a un amigo que debutaba en las jornadas con Desarrollo de aplicaciones Sociales. y la mitad de Mozilla and Browsers over the last 10 years. porque me tenía que ir a dar clases.

Este año el regalo por dar charlas me vino barbaro : un mate!. Si, el mío ya tenía que jubilarse por lo que me viene al pelo. Es lindo ver como estos eventos crecen año a año.

has_sitemap plugin

Este fin de semana tenía que agregar a 4 sitios de clientes un sitemap para mejorar la indexación por los motores de búsqueda, así que para hacerlo una vez y rápido, decidí aprender a hacer plugins para Rails.

No es que sea una magia absoluta, de hecho es muy tonto hacer uno. Pero cómo codeas adentro del plugin creo que es importante, porque la gente los usa como cajas negras, y si es un desastre, todo lo de afuera se vuelve un desastre.

El plugin permite agregar sitemaps tal cual lo define el protocolo, mediante un simple helper y una función adicional donde el controller debe generar la data que desea agregar. Lo que se encapsula es básicamente el generador del XML.

Todo se genera dinámicamente y por ahora solo es útil para sitios realmente chicos (< 100 urls) como los que yo necesitaba. El protocolo especifica que se pueden poner hasta 50k de URLs (o 10Mb) por lo que este plugin no es útil, al menos por ahora, para esos casos.

El código está hosteado en http://github.com/Gazer/has_sitemap/tree/master.

Aprendiendo a Dibujar

O más bien, intentando aprender a dibujar :D. La semana pasada decidí que quería aprender a dibujar, así que me puse a investigar donde ir a estudiar. Encontré un par de lugares que parecen copados, pero hasta julio/agosto no empiezan, tengo que esperar.

Este finde largo, en casa y aburrido, sin cacerola extra para golpear, empecé a buscar online, como dios manda 🙂 y me contré con Draw Space. El sitio tiene muuuucha data, tutoriales, step-by-steps, técnicas, etc. muy copadas y re simples. Obviamente no tenía lapices en casa, mucho menos hojas en blanco, así que improvisé y me pasé el finde haciendo ejercicios, dibujando cosas y mirando TV.

Algunas de las obras de arte a continuación

Katy Coala

Leon, primer intento Leon, segundo intento

En orden de aparición tenemos : Caty, Coala, Leon deforme, Leon no-tan-deforme :). Por suerte mirando las últimas dos se ve que «algo» progresé 😀

Ahora el paso B, es tomar alguna de estas y vectorizarlas con Inkscape, darle shades, etc. y ver si queda algo pasable.

Oregano cambia a Git

Hoy terminé de decidir que mover el main repo de Oregano a Git era una buena idea, principalmente porque ya me estaba cansando de hacer branches duplicando directorios :P.

A partir de ahora el source principal estará en GitHub, para todo aquel que quiera hacer un fork o simplemente pullear su propio tree local.

Para migrar el repo desde darcs a git usé la opción que explican acá, un script en ruby que funcionó de los más bien. Trate de usar uno en python que también nombra, pero tenía que instalar algunos módulos y con ruby nada, so, ganó el que menos laburo me dió :).

Lo primero que van a venir a llorar es, de cajón, «¿por qué en GitHub que es privativo? ¿por qué no Gitorious?» o cosas así. La verdad no tengo ninguna razón técnica, ni problemas con ninguno de los servicios. Simplemente en GitHub ya tenía cuenta, ya tenía mi llave pública configurada y ya conocía donde hacer click, so, fue la elección más cómoda simplemente :).

En fin, voy a ir actualizando la documentación, wiki y demás a medida que me acuerde :D.

Update 08

Durante el día de hoy asistí a UPDATE 08, un evento organizado por Snoop Consulting , que como ellos lo denominaron era «Un evento de desarrolladores para desarrolladores». Bueno, no fue tan tan así, aunque tampoco es para armar un escandalo por ello :).

La primer charla que vi fue la de Emmanuel Bernard de Red Hat, hablando sobre Hibernate y un glue para mezclarlo con Apache Lucene y no recuerdo que otra cosita más, de modo de tener Full Text Search sobre el modelo con unas pocas líneas de código (pocas al estilo Java, claro está ;)). Interesante, practiqué un poco de inglés y nada que vaya a usar. Sphinx + ActiveRecord me alcanza por ahora.

Después fui a «Cadena de Favores», una charla sobre Web 2.0, que me pareció mala, no por los oradores, sino porque esperaba otra cosa. Fue dada por el «Chief Architect» de Snoop y el CEO si mal no recuerdo. Mucho bla bla, nada útil que sacar realmente. Mucha definición de que servicios hay, poco de que hacer con ellos. Algunos ejemplos que mostraron de mashups estaban buenos, pero nada más.

Otra linda fue la de Shaun Smith de Oracla, mostrando técnicas de caching y paradigma Grid para data storage, consultas distribuidas y cosas así. Interesante el producto (creo que solamente anda en Java / Spring, no termino de entender como es el mundo Java :D)y hacía out-of-the-box cosas que son lindas tener tan fácilmente.

Web 2.0 Development with jMaki era otra de las que quería ver, pero tenía hambre yfiaca así que vi solo el final :D, unos 15 minutos, se lo veía potente al framework para ser puro Drag & Drop desde el Netbeans, pero lo vi super acotado en flexibilidad. Desde el vamos si empieza con «j» no lo usaría.

La última charla que vi fue una de Ruby on Rails y Seaside. Este último escrito en smalltalk y me dejó una linda impresión. Voy a tener que probarlo, y de paso cumplir mi promesa de que algún día aprendería smalltalk.

Cosa interesante y que no había visto mucho últimamente, varios reclutadores de distintas empresas captando gente, principalmente IBM y RedHat.

Despues no hice mucho más, un poco de RRPP, saludar amigos, y por si todo esto fuera poco, conocí a mi co-director de Tesis, que nunca le había visto la cara porque estaba trabajando fuera del país desde que inicié mi trabajo.

El evento cerró con un espectáculo de «Los rememver in concert» o algo así. A mi no me gustó en general (alguna sonrisa me sacaron). Era un humor muy Video Match.

¡Falta Uno!

Hace un par de años, enojado por lo difícil que era organizar un partido de fútbol con mis amigos, me puse a desarrollar una paginita web pedorra en PHP para organizar partidos. Obviamente, como muchas de las cosas que empiezo, quedó en la nada. Si bien funcionaba, no me calente en ponerlo online ni comentarlo con mis amigos.

Hace dos semanas la idea reflotó, principalmente porque quería sumar experiencia en Ruby On Rails, por lo que decidí subir la apuesta. De eso se trata ¡Falta Uno!.

La idea es simple : te registrar, te relacionas con tus amigos, creas un partido y despues se van anotando. En la página se puede ver quiénes se anotaron y un pequeño board para postear mensajes por si acaso (vale putear, organizar quién juega con quién, etc), así como los datos de la cancha, hora y demás.

Ahora bien, no hace falta que todos los que van a jugar tengan cuenta. ¿Por qué? Simplemente porque si no la cosa no funcionaría :).

Con mi grupo de amigos suele pasar lo siguiente : 3 horas antes de que empiece el partido llega un mail diciendo «me bajo porque me duele la uña», y le sigue un mail con «uhhh, che, falta uno, quien consigue ??».

Este sujeto que aparece a último momento, es muy probable que sea el primo del tio de un amigo de un amigo, y casi seguro que no tendría cuenta y mucho menos relación de amistad con el creador de un partido (para poder anotarte a un partido tenés que ser amigo del creador por ahora).

Entonces?, bien, el sistema permite anotar a un «guest player«, poniendo solo el nombre y ocupando la plaza y así se mantiene simple la creación del partido.

Otro feature que se agrega, que es totalmente opcional y lo hice porque me gusta tenerlo en cuenta, es poder votar como jugaron tus amigos en ese partido. Hay 5 categorías para puntuar entre 1 y 5, y luego entre todos los votos se calcula el promedio por partido, y también un promedio general por usuario.

Este último feature es totalmente opcional y puede ser omitido si no tenés ni tiempo ni ganas de usarlo :).

En fin, el site no creo que tenga mucho éxito, si lo tiene, groso :), pero por lo menos mis amigos y yo vamos a dejar de putear para organizar un picadito.

Algunos datos «técnicos» sobre lo usado :

  • Ruby On Rails 2.0.2
  • Plugins
    • attachment_fu : Para upload de avatars
    • has_many_friends : Relaciones de amistad entre usuarios
    • restful_authentication : No puede faltasi hay un login 🙂
    • will_paginate : Tengo que migrar a usar la versión en gema.
    • calendar_helper : Para armar el calendario de partidos
    • simple_format : Para formatear el texto plano de los comentarios.
  • Server : mongrel/ apache (mod_balancer+ mod_rewrite) / mysql