miércoles, 30 de junio de 2010

Open day: Innovation & Technology

El proximo martes 6 de julio, la empresa Globant organiza  en el Radisson una serie de conferencias (hackathons...) que prometen ser interesantes.

Más información

En particular, yo pienso ir a la de iOS...

Visto en el blog de Pablo Brenner y Sergio Fogel.

lunes, 21 de junio de 2010

GoogleCL: Command line tools for the Google Data APIs

Hace unos días Google hizo público un proyecto llamado GoogleCL, que permite acceder a varios servicios a través de una línea de comandos.

Acá les dejo un artículo de Lifehacker que explica como instalarlo, y otro que tiene algunos tips interesantes de las cosas que se pueden hacer.

El comando para listar el contenido del calendario puede ser un poco complejo para memorizarlo, así que hice un script que les dejo (para Mac, seguramente Linux y capaz que Windows con Cygwin). Hay que salvarlo en un archivo y darle permisos de ejecución...
#!/bin/bash

if [$1 = ]; then
  calendar="";
else
  calendar="--cal $1"
fi

clear

echo "Hoy es: " $(date +"%a %d, %H:%M")
echo "Calendario:"

fecha1=$(date +"%F")
fecha2=$(date -v+15d +"%F")
google calendar list --date $fecha1,$fecha2 $calendar when,title > gcal.tmp

while read line
do
G_DATE=${line:0:12}
MY_DATE=$(date -j -f "%b %d %H:%M" "$G_DATE" "+%a %d, %H:%M")
echo " ·" $MY_DATE "-" ${line:28};
done < gcal.tmp

\rm -rf gcal.tmp
Por supuesto, el código es de uso público, y va con el sello de calidad:


La última parte del script la hice basándome en un comentario que apareció en Smarterware...

La salida debería ser algo así:
Hoy es:  Mon 21, 19:03
Calendario:
 · Tue 22, 20:00 - <título del evento>
 · Sat 26, 20:30 -
<título del evento>
 · Mon 28, 09:30 - <título del evento>
Se le puede pasar un parámetro que es el nombre del calendario a usar, si no, por defecto usa el calendario principal.

Si a alguien le sirve, lo usa, y le hace alguna mejora, que me avise :)

viernes, 18 de junio de 2010

Charla en la reunión del GUG

Ayer fue la tercera reunión del Grupo de Usuarios GeneXus, donde estuve dando una charla con "sugerencias para mejorar el lenguaje GeneXus".

Acá les dejo la presentación:



Algunos comentarios que se hicieron después de la charla:
  • Los bloques de reglas ya existen, no se definen como lo escribí en la presentación, sino que alcanza con no ponerle el punto y coma (;) a la regla, y poner el if al final del bloque. Si alguien lo puede probar, que comente a ver si le funcionó :)
  • Para la evolution 2 están trabajando en algunos de los temas mencionados, como por ejemplo mejorar la inferencia del tipo de las variables y poder tener SDTs genéricos.
Agradecimientos:
  • a Gabriel por el cuadrito que dice "Grupo de usuarios GeneXus a Marcos Crispino, 17 de junio de 2010", a modo de despedida
  • a la gente de Artech en general por haber ido a la charla a escuchar las sugerencias
  • a Gustavo Proto por los comentarios después de la charla, creo que fueron un muy buen aporte.
Quedé contento con la charla, creo que despertó el interés de los asistentes. Espero haber aportado algo...

Actualización, 22/6/2010 9:00: quedó publicado el video de la charla.

jueves, 10 de junio de 2010

Charla en la próxima reunión del grupo de usuarios GeneXus

El próximo jueves 17 de junio a las 19:00 será la tercera reunión del 2010 del GUG Montevideo.

En esta oportunidad voy a estar dando una charla titulada "Sugerencias para mejorar el lenguaje GeneXus", donde la idea es contar algunas de las ideas que he ido publicando en el blog, y que la gente pueda comentar al respecto.

Encuentran más información en el blog del GUG MVD.

miércoles, 9 de junio de 2010

Cambios (o "Despedida de Concepto")

Trabajo en Concepto desde hace 7 años. Hace más de 11 en realidad, si contamos la primera vez que entré (me fuí, estuve 7 meses en México, y volví allá por el 2003).

Trabajo en Concepto desde hace 7 años, y ahora decidí cambiar. La decisión no fue fácil por varios motivos, pero surgió una oportunidad por demás interesante, que no quise dejar pasar.

A partir de este mes, voy a estar trabajando para Alkeo, una empresa francesa que está dando sus primeros pasos, que se dedica a desarrollar aplicaciones para plataformas móviles. En especial iPhone y iPad, aunque también tienen pensado incursionar en el mundo de Android.

El trabajo parece ser más interesante, al menos voy a estar trabajando con tecnologías más novedosas.

Con respecto al blog, voy a seguir escribiendo, aunque seguramente el tema principal cambie un poco. Hasta ahora venía siendo GeneXus, con más del 36% de las notas. Ahora seguramente hablaré más sobre desarrollo para el iPhone/iPad...

viernes, 4 de junio de 2010

Todos los resultados posibles

El otro día, hablando con unos amigos que organizamos una penca para el mundial, uno de ellos (el que la organiza...) decía que él iba a ganar porque iba a hacer todas las pencas posibles. Como no puede perder, entonces no necesita poner la plata, porque seguro se va a quedar con el premio.

Más allá de que esta jugada es peligrosa, porque si bien no puede perder puede empatar, ¿cuántas son todas las pencas posibles? O dicho de otra forma, ¿cuantos son los resultados posibles en todos los partidos de la primer fase del mundial?

Veamos primero cuantos resultados posibles hay para un partido dado. Para eso, veamos cuantos resultados posibles hay para una cantidad de goles dada:
  • con cero goles, hay un solo resultado posible: 0 a 0
  • con un gol, hay dos resultados posibles: 1 a 0 o 0 a 1
  • con dos goles, hay tres resultados posibles: 2 a 0, 1 a 1 o 0 a 2
  • ...
  • con N goles, hay N+1 resultados posibles: N a 0, N-1 a 1, ..., 1 a N-1, 0 a N
Por lo tanto, todos los resultados posibles están dados por la suma desde N = 0 hasta Nmax, de N+1, o lo que es lo mismo, la suma desde N = 1 hasta Nmax+1 de N, que es igual a (Nmax+1)(Nmax+2)/2.

Obviamente, si lo vemos desde el lado matemático, el número Nmax no está acotado, por lo que la sumatoria da infinito. Desde el punto de vista deportivo, sabemos que la cantidad de goles no puede ser un número cualquiera. ¿Cuál es ese número? Es difícil de decir, pero creo que si decimos que Nmax = 9 estamos más que cubiertos. No creo que vayan a haber partidos con más de 9 goles.

Entonces, para cada partido tenemos (9+1)(9+2)/2 = 55 resultados posibles.

En la primer fase del mundial, tenemos un total de 32 partidos. Como los resultados son independientes en cada partido, la cantidad de resultados posibles para todos los partidos es 5532 = 4,92x1055.

Si cada penca vale $100 = USD5, entonces el total que se debe pagar para jugar todas las pencas posibles es de USD2,46x1056.

Teniendo en cuenta que el PBI de Estados Unidos es de USD1,47x1013, se necesitarían solamente 1,67x1043 Estados Unidos para pagar todas las pencas...

Así que, Alejandro, no vale que juegues todas las pencas :)

Pero seamos más conservadores... Supongamos que solo me interesa acertar ganador o empate en todos los partidos, sin necesidad de acertar el resultado exacto. Entonces para cada partido tengo 3 posibilidades (1 a 0, 0 a 0 o 0 a 1), y la cantidad total de pencas es de 332 = 1,85x1015, o en plata, USD9,25x1015, que es unas 630 veces más que el PBI de Estados Unidos...