Hackathon Google OpenSocial - Latam

Iniciada la mañana y luego del desayuno comenzaron las charlas; quién rompió el silencio fue Guibert Englebienne (CTO y fundador de Globant) con una presentación muy divertida que transitaba desde su perfil en facebook hasta por qué globant impulsaba OpenSocial.

Continuó Patrick Chanezon (API evangelist de Google) quién presentó "making the web better" contando el compromiso de google en hacer la web mejor (mas social) mediante una analogía con una actividad del jardín de su hija (dibujos de ella incluídos en los slides); en esta misma charla estuvo Lane Liabraaten (uno de los desarrolladores de Opensocial) mostrando el "Hello world" y algunas aplicaciones útiles.

Luego estuvo Jason Hoffman (CTO y fundador de Joyent) mostrando la apuesta de Joyent en las redes sociales (Venden plataformas) y finalmente se presentaron: hi5 (CEO), myspace (estuvo uno de la línea directiva), sónico y votsu.

Pasado el tiempo de charlas sirvieron pizzas a todos e invitaron a una sesión de masajes en su sector de relax ya que inmediatamente iba a comenzar el Hackathon que duraría 5 hs. Aprovechamos y nos pusimos manos a la obra. En esas cinco horas pasamos de los esquemas en papel al diseño y de los diagramas a código.

Coding style

Había 160 programadores de los cuales muchos desistieron y otros no llegaron a nada en concreto.

Concluido el tiempo llegó el momento de la verdad. Las aplicaciones se presentaban en un proyector ante el auditorio y los jurados (Jason, Patrick, Guilbert, el de myspace y otros 2 de Globant).

Auditorio

Luego de varias aplicaciones y algunos problemas técnicos nos tocó subir (últimos). La presentación fue realmente un éxito, el streaming funcionó bien y se vió una reacción muy positiva del auditorio.

Presentando

Lo cierto es que estuvo realmente muy bueno. Quedamos muy conformes con la aplicación y la experiencia fue muy positiva.

Livra obtuvo el 3er puesto y nos trajimos un iPod Nano ;).

La aplicación se llama "Mirados" y te permite mantener un streaming de audio y video en vivo desde tu webcam a todos los que vean tu perfil. Tiene un chat y una lista de usuarios online (Con un thumbnail de la foto de su perfil). Así se ve la aplicación en tu profile de Orkut/Hi5/iGoogle/Sónico/myspace.

profile

Y así en el "canvas" (Aplicación "maximizada")

canvas

Leopard Install - Blogging Live :)

Tenemos Leopard en la oficina :)!! Como hoy es noche de Wii ( si si.. insistimos ) yo aprovecho y voy a bloggear live la instalacion, en una Mac Intel y en una G4.

Stay Tuned for Updates!! 

18:48 - Acabo de poner el DVD en la INTEL - Let the fun Begins. 

18:49 - Restarteando y va a empezar la Instalacion. Me pide elegir el idioma, y ahora empezamos a seguir instrucciones, aceptando el Agreement y elijo destination disk. En Customize hay opciones para printer drivers , lenguajes, fonts adicionales y x11 ( si tenes problemas de espacio esto puede ser un tip importante. ). Ahora esta corriendo la instalacion y va por el 3%

19:04 - 35% completed - no dice cuanto va a tardar ( o al menos no lo veo ). se escuchan gritos desde el Wii sector :) 

19:12 - 80% completed - me mata la ansiedad 

19:45 - termino de chequear todo y ahora lo esta instalando. 16 minutes remaining

20:00 - Install Succeeded - ni uno mas ni uno menos. 16 minutos exactos sumados a la hora anterior. ahora esta restarteando. 

20:03 - mantuvo el wallpaper, las cosas que tenia en el desktop, la barra transparente arriba es MUY FEA, la calidad del video de bienvenida es INCREIBLE, estoy moviendo el dock para abajo para ver el 3d ( lo uso al costado y no se ve en 3d ) 

20:08 - los rounded corners del menu estan BUENISIMOS, la transparencia me sigue pareciendo FEA, el dock nuevo no esta mal, pero los iconos estan como muy mezclados.  el Mail me upgradeo los mensajes, me desactivo el mailtag, y el growlMail.. mi primer Email..  Lottery Results - you may be a winner :) jajajaja. voy a probar un par de cosas mas. El finder nuevo me gusta.. quick look es GENIAL, los stacks con carpetas tambien estan buenos.

20:15 - probe spaces, esta muy muy bueno. ahora le toca la instalacion a la otra INTEL y despues a la G4 - la semana que viene hago Review COMPLETO de Leopard.

Espero que les haya gustado la transmision :)

51 x 10^9

Por doquier! Como buenos descendientes de Golgafrinchans, muchos de nosotros hemos pasado algún tiempo pensando por qué estamos aquí. Cual es la respuesta a la vida, al universo.

Bueno.

Hoy no es tu dia de suerte. Sin embargo vamos a plantearte* un desafío un poco mas cercano a nuestras humanas posibilidades.

"Si son escritos en ingles los números enteros desde el 1 al 999.999.999 ordenados alfabéticamente y concatenados. ¿Cual es la letra 51.000.000.000?"

Es decir, si escribimos los números desde el 1 al 999.999.999 ignorando espacios, puntuación y nexos. Los ordenamos alfabeticamente de manera que los primeros seis numeros sean:

  • eight
  • eighteen
  • eighteenmillioneight
  • eighteenmillioneighteen
  • eighteenmillioneighteenthousand

Y el último:

  • twothousandtwohundredtwo

entonces leyendo desde arriba hacia abajo (Y de izquierda a derecha) la letra número 28 completa el número eighteenmillion.

La letra 51.000.000.000 también completa uno de los numeros!.

¿Cual es? y ¿Cual es la suma de todos los números hasta ese punto?

Ah pero.. Qué tan complejo puede ser escribir unos numeritos?

Son 1.000.000.000 numeros. Si cada numero tuviese en promedio 60 letras, deberías escribir un total de 60.000.000.000 letras. Eso es 60 mil millones. Por lo tanto si estás interesado en solucionarlo te recomendamos que empieces ahora y reces que la criónica se vuelva una ciencia cierta.

Podes mandarnos tus respuestas a geeks@livra.com!

* [Problema original de ITA]

iLivra

Habiendo pasado un tiempo prudencial como para poder hacer un análisis de verdad -dejando de lado al apple fanboy que tengo adentro- me toco el turno de contar como es un día normal trabajando con os x. Lo voy a dividir en 2 partes, el switch de mi windows box a mi mac y después voy a contarles como es un día normal de trabajo.

EL SWITCH

El switch de windows a os x fue muy simple ( demasiado para mi gusto ) con solamente un par de puntos complicados.

Ni bien la prendí, tuve solamente que configurar las cosas básicas, como el idioma y la zona horaria, y personalizar un poco el sistema operativo para que quede mas parecido a lo que estoy acostumbrado en mi iBook. Cuando termine todo esto empece el switch.

Documentos - abrí el finder, network, busque mi pc, conectar y listo, drag and drop de una a la otra.

Bookmarks - si bien yo acostumbro a tener todo en del.icio.us ( http://del.icio.us/gugote ), para alguien que no lo usa es tan simple como browsear al profile del Firefox ( asumo por el bien de la humanidad que nadie mas usa IE ) y importar los bookmarks.

Multibrowser support - Siendo diseñador necesito chequear los sitios en todos los browsers, Firefox, Safari, ( Camino ), y IE. Para testear IE decidí NO instalar ninguna virtual machine, ni bootcamp ni parallels ni nada que se le parezca, no quiero hacer tanto lío solo para testear en el Browser of DOOM. La solución? Remote Desktop from Microsoft :) y una compu en la oficina que no la use nadie directamente ( Gracias Printserver!! )

Software - solo 3 cosas que no son "out of the box" son necesarias para trabajar, mi editor de imagenes preferido, mi editor de texto preferido y mi cliente de ftp preferido. Si bien por supuesto tengo mas cosas instaladas que considero fundamentales ( Quicksilver, AdiumX, VoodooPad Lite, Remote Desktop ) ninguna es escencial para mi dia a dia ni tengo algo que diga " uh como extraño tal programa de mi windows ".

Los 2 puntos medio raros son:

Emails - este fue un tema medio complicado ( un 5 del 1 al 10 ) porque usaba outlook, y tiene un formato diferente a Mail. Si hubiera usado Entourage, hubiera sido mas simple. Pero bueno, instale Thunderbird, importe los emails ahi primero y de ahi los pase a Mail. ( hay que copiar todas las carpetas y renombrar los files, pero eso ya es motivo de otro post )

SVN - este tambien es un tema que no pude cerrar del switch, que es que el svn funcione bien, ya que si bien puedo hacer un checkout de los files, no puedo commitear por un tema de como maneja el windows un archivo de configuración del svn.

UN DÍA NORMAL

En un día normal, llego a la oficina, prendo mi mac y bajo los emails en Mail, que con sus smart mailboxes y el flag/unread ya me alcanza para tener todo filtrado y organizado perfectamente (y de una manera mas cómoda que antes en outlook). Si quisiera algo mucho mas completo puedo poner el plugin de MailTags ( también usado en la oficina ) que integra todo con iCal y podes "taggear" los emails etc.

Hago el update de cada proyecto y mi todoList para este dia en mi VoodooPad Lite, excelente versión gratis de esta app, que es como una miniWiki en formato de texto donde podes linkear diferentes paginas del mismo documento y evitas tener un montonazo de documentitos sueltos por todos lados.

Safari para browsear todo (Basecamp, sites, blogs ) y Firefox para desarrollar. Si bien el webKit tiene algo parecido al Firebug ( muy parecido, esta muy bueno deberían probarlo ) sigue siendo mucho mas simple de usar el Firebug.

Firefox también saca mucha ventaja en el aspecto plugins (webdeveloper Toolbar, colorPickr blabla) pero pierde muchísimo en el aspecto de performance, y mas todavía con safari 3.

Una vez que estoy conforme con los resultados que tengo, prendo el remote, y debuggeo en IE.
El editor de imagenes y el cliente de ftp funcionan exactamente igual que en pc, no noto ninguna diferencia.

Despues bueno, nada, solo tengo que preocuparme por trabajar.

No mas cosas que se cuelgan, no mas "reiniciar", pura estabilidad, mas simple todo, la mitad de clicks que antes…

RESUMEN

El paso de una a otra fue muy bueno, muy simple y si bien tengo una ibook hace bastante, nunca habia echo un switch, y fue mucho mas fácil de lo que creia.
Creo que si pudiera solucionar lo del SVN seria un 10 perfecto, pero lo dejamos en 9,50.
Todavia en la oficina se escuchan los tipicos chistes de " ah pero es una mac eso.. ", pero siempre tengo algo que es mas comodo de usar o mas lindo para ver y vamos ganando adeptos, pero el ejemplo mas claro es el de uno de los desarrolladores estrella, que cuando la vio dijo " uia parece de juguete. yo voy a traer un playstation 3 para programar " pero horas despues lo vi instalando en su pc algo muy parecido al exposé…

Ahora, si dejando paso a mi apple fanboy, me despido con 2 palabras.

Apple rules.

PD: wordpress deberia arreglar el soporte de rich text para safari. o por ahi deberia arreglarlo yo? :)

Coders are Users

En Livra este es el año de hacer las cosas increíblemente bien. Hablando de software eso quiere decir simplicidad (Don’t make me think), estabilidad, escalabilidad, modularidad y belleza (si el lenguaje lo permite).

Pero mantenerse fiel a las practicas del eXtreme Programming escribiendo código escalable y bello es difícil. El tradeoff entre hack/velocidad vs. belleza/lentitud queda a criterio de cada programador.

Este paper habla de quantificar los beneficios de la modularidad. Cuando escribimos una aplicación tenemos que tener en mente a los usuarios. Pero los usuarios no son solo lo que van a usar la aplicación.

Nuestros compañeros programadores son usuarios de nuestro código. El que instala y mantiene el servidor donde corren nuestras aplicaciones es también usuario de nuestro código. Entonces hay que pensar en ellos, pensar en que la funcionalidad que estamos plasmando en código no tengan que esforzarse nuevamente en plasmarla ellos, pensar en las herramientas y lenguajes que hablan para hacer los modulos, librerias, wrappers y servicios mas amigables que puedan encontrar. Y no dejar que el árbol nos tape el bosque, si bien puedo ahorrar 1 hora en no limpiar una interfaz o no hacer configurable cierto modulo, esa hora nos ahorra muchas mas adelante.

En cuanto al coding en si hay que tener mas presente las palabras de Brian Kernighan en ‘The Practice of Programming‘:

“Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it”

imagínense entonces cuanto le costaría a OTRO/A coder debbuguear lo que escribimos si somos mas listos que claros.

Este otro articulo habla de no pasarse para el otro lado con la abstracción y la modularidad. Hace poco en varias de las aplicaciones internas de Livra hicimos un cambio para que sean mas configurables, para esto tuvimos que decidir que parte deberia ser configurable y cual no, esa es una zona bastante gris (como dice en el articulo, el ‘business logic’ pertenece al código). La url de las bases de datos, users, passwords, urls de servicios que usamos, etc, debería ser configurable, pero si el protocolo interno de nuestra aplicación usa strings que empiezan con “__error:__” como mensajes de que algo malo paso, eso debería ser configurable?…

« Previous Entries