sábado, 23 de junio de 2012

SGCE 2012

La semana pasada tuve la oportunidad de dar una presentación en el SGCE 2012, estas charlas conocidas como lightning talks duraron alrededor de 20 minutos en las cuales se dieron a conocer algunos temas para despertar la curiosidad de los participantes.

El tema que presenté fue Desarrollo Web en Scala, para el demo escogí Play framework ya que es uno de los mas usados en este tipo de desarrollo y además es al que le está dando impulso Typesafe que es la compañía fundada por el creador del lenguaje Scala.

En el transcurso de esta semana estará disponible el código del demo, mientras tanto les comparto los slides de la presentación:

domingo, 18 de septiembre de 2011

Travesía en la compra de una tablet

Hacía ya tiempo que me estaba dando vueltas en la cabeza el obtener una tablet, luego al ver a @chochosmx en el SGCE2011 corriendo algunos ejemplos de Scala en su netbook me puse a pensar: - Que tal si mejor me compro una netbook? -.

En fin en eso estuvieron parte de mis pensamientos las últimas semanas y según yo ya me había decidido a adquirir una tableta con Android, entonces que mejor que la Motorola XOOM pues hasta donde tenía entendido era una de las mejores (y pocas) comercializadas en México.

Paso un poco de tiempo y me encontré que en una de las tiendas comerciales mas conocidas había una oferta en la que dicha tableta estaba un 25% por abajo de su precio, entnces me dije a mi mismo: - Esto es una señal - por lo que me dispuse a ir e intercambiarla por el precio solicitado, sin embargo cual fue mi sorpresa que al llegar a la antes mencionda tienda comercial con nombre de ciudad británica, la oferta ya había expirado... :-(

Dada la desilusión sufrida me puse a dar vueltas por la plaza comercial en la que me encontraba y me metí a otra tienda comercial que a mis ojos fué como un palacio pues ahí encontré una variedad mucho mayor de tabletas que en aquella otra que había roto mi corazón, encontré la tan esperada Galaxy Tab 10.1, la misma Motorola XOOM, un modelo de Toshiba y una mas de una marca que hasta ese momento desconocía: la Eee Pad Trasformer de Asus ...

Pues entonces me puse a comparar las opciones que tenía a la vista: capacidad de almacenamiento interno, soporte para almacenamiento externo, duración de pila, accesorios disponibles, soporte en México, versión del sistema operativo, materiales de elaboración y un montón de etcéteras.

Después de esa ardua investigación mi decisión fue: (fanfarrias por favor... :-D) la Eee Pad Trasformer de Asus, me convenció por varias razones que guardaré para un artículo posterior en el que haré un comparativo de las tabletas que evalué, por el momento sólo puedo decir que estoy bastante contento con mi decisión y que de hecho este artículo lo estoy escribiendo cómodamente desde el teclado incluido con la tablet así como la foto también fue tomada con la tablet.


viernes, 26 de noviembre de 2010

shlCon

La semana pasada se llevó a cabo el shlCon, evento en el cual se conjuntaron varias ponencias con gente de mucha experiencia en sus áreas de especialidad, hubieron pláticas que cubrieron diversos temas, desde lenguajes de programación hasta resolución de conflictos en el trabajo.
Este evento fue organizado por Spring Hispano en conjunto con la Universidad Popular Autónoma del Estado de Puebla (UPAEP), desde principio a fin fuimos atendidos de manera excelente por los organizadores, haciendo que nos sintiéramos  como en casa :-).
Tuve la suerte de ser invitado al dicho evento para dar un par de pláticas, una de Introducción a Scala y otra de Complex Event Processing, la primera de ellas su objetivo principal es dar a conocer el lenguaje sus características principales y ayudar a dar los primeros pasos con este, la segunda se trata de dar a conocer una técnica que si bien no se basa en conceptos muy nuevos, nos ayuda a ver de manera diferente el tratamiento de eventos y como pueden conjuntarse para crear aplicaciones escalables y con bajo acoplamiento.
Me encontré con mucha gente ya conocida como: @MachinesAreUs@neodevelop@domix@JuanKaram@Ivanhoe y algunos que tuve el placer de conocerlos personalmente como a @juwe.
Al finalizar el primer día del evento tuvimos la oportunidad de convivir en uno de los centros de entretenimiento más concurridos de Cholula llamado "Los containers", un lugar atípico pero bastante agradable y por si fuera poco tenía lugares para todos los gustos :-D.
En fin, particularmente me la pasé muy bien y me gustaría agradecer a @neodevelop@domix y a todo el personal de la UPAEP el haberme invitado a este magnífico evento ;-).
Para aquellos que no pudieron asistir les comparto el material que presente, si tienen alguna duda comentario o mejora a éste les agradecería me contactaran ;-).


jueves, 4 de noviembre de 2010

Scala-MUG vive!!!

Scala-MUG Logo

Hace un par de meses di una plática de Introducción a Scala en las  16a reunión de SpringHispano, gracias a una invitación que me hicieron @neodevelop y @domix.

En esa sesión comenté acerca de una idea que venia dándome vueltas desde hace tiempo: Crear una "Tribu" de Scala, que así es como son conocidas las comunidades en el mundo Scala.

Bueno pues después de exponer esta idea, varios de los asistentes entre ellos @MachinesAreUs a quien tuve el gusto de escuchar en su ponencia acerca de Modularización Efectiva y también @abaddon_gtz que fue de los mas entusiastas, les pareció una buena idea y me comentaron que con gusto participarían en la comunidad, entonces me comprometí a crear la Tribu en el corto plazo.

Este proyecto fue postergado por la excesiva carga de trabajo que tuve por esos días, sin embargo algo que me motivó para poner manos a la obra a pesar del trabajo fue la insistencia y apoyo de los colegas antes mencionados.

Entonces me di a la tarea de crear-configurar-idear el nombre, logo, grupo de discusión, canal de IRC, cuenta de twitter y sitio para albergar dicha comunidad.

Pues bien, hoy finalizo el inicio de la comunidad Scala-MUG (Scala Mexican Users Group), esperando que esta Tribu se extienda por todo el largo y ancho del país para incrementar-apoyar el uso de este extraordinario lenguaje llamado Scala.

Así que hoy... Scala-MUG vive!!!

 

viernes, 9 de abril de 2010

Un modelo de ramas exitoso en Git

En días pasados Sergio me paso la liga a este excelente artículo, que creo que es una lectura obligada para todos aquellos que usamos DVCS's para llevar el control de versiones de nuestros proyectos.
 
En el artículo se describe como llevarlo con Git, sin embargo puede ser usado con cualquier DVCS, en mi caso con Mercurial.
A successful Git branching model: "In this post I present the development model that I’ve introduced for all of my projects (both at work and private) about a year ago, and which has turned out to be very successful. I’ve been meaning to write about it for a while now, but I’ve never really found the time to do so thoroughly, until now. I won’t talk about any of the projects’ details, merely about the branching strategy and release management."

El modelo que se describe se ajusta muy bien a mi visión de como llevar un modelo de ramas con un DVCS y creo que es muy fácil de implementar, claro está con disciplina y comunicación entre los miembros del equipo.

jueves, 10 de septiembre de 2009

Comet

Actualmente estoy trabajando en un proyecto que entre muchos requerimientos tecnológicos está el de refrescar la pantalla del browser sin interacción del usuario, esto se puede obtener de manera mas o menos sencilla con una técnica llamada Comet, este termino lo acuño Alex Russell quién es creador del Dojo Toolkit, también es conocida como Reverse Ajax, HTTP Server Push, entre otros nombres.

Esta técnica se basa en una mezcla de tecnologías y estándares tales como JavaScript, JSON y Java Servlets. La idea general es abrir una sesión y suscribirse a un Servlet manteniendo de alguna manera suspendida esa conexión esperando que suceda algún evento en el servidor y avisar al browser de dicho evento, como se puede observar en el siguiente diagrama, el cuál es una versión minimalista del que se muestra en el artículo original de Alex Russell:

Comet hosted by Ember


Existen en la red diferentes implementaciones que soportan este modelo tales como CometD que es un proyecto de la Dojo Foundation, DWR, que es una de las implementaciones con mas tiempo en el mercado, los famosos continuations de Jetty y los Future Response Servlet y Abstract Asynchronous Servlet de Oracle Web Logic.

Mucha de estas son implementaciones que están acopladas a los servidores para los que fueron desarrolladas o a un a las librerías de JavaScript propias

También existe una implementación de Jean Francois Arcand, uno de los principales desarrolladores de Grizzly llamada Atmosphere, que pretende ser una implementación cross-application-server, la cual al parecer es bastante sencilla de aplicar a proyectos legacy como nuevos.

Cabe destacar que todos estos frameworks pueden ser parcial o totalmente reemplazados por el suspendable request que es parte de la especificación Servlet 3.0, ya que esta será la manera estándar de llevar a cabo el modelo Comet.

Sin embargo tomando en cuenta que falta algún tiempo para que esta especificación salga a la luz y se generalice su uso, mientras esto sucede podemos hacer uso de los frameworks mencionados anteriormente.

Una de las preguntas que viene de inmediato a nuestras cabezas es: ¿Cuál es el mejor framework?, la respuesta correcta no existe, todos tienen ventajas y desventajas, sin embargo tenemos que evaluar cual se adecua mejor a nuestras necesidades, por ahora para mi las implementaciones de Oracle y Atmosphere son las mas se ajustan al proyecto antes mencionado, por lo cual son en las que estaré profundizando un poco mas en artículos posteriores ;).

Temporalmente

Debido a algunos no-acuerdos financieros con mi anterior hosting, tomé la decisión de no contratar nuevamente el servicio.

Temporalmente estaré usando mi cuenta de MobileMe para hostear a The Geek Inside, aunque probablemente pasará lo que en la mayoría de los sistemas que son temporales: Se queden en producción por largo tiempo.

Y como no se quedó en producción el hosting temporal, después de una "ardua" labor de evaluación The Geek Inside usará Blogger como plataforma de blogging ya que es un servicio que me brinda muchos beneficios y además está respaldado por Google.

Los artículos publicados anteriormente los migraré de manera paulatina, por lo que agradezco su comprensión y apoyo para esta transición.