La pelicula de Facebook

July 19th, 2010

Ya hasta sale la película de Facebook, no puedo esperar para verla.

  • Share/Bookmark

Java4Ever

June 26th, 2010

Muy buen video para este finde, gracias Mauro por pasarmelo

  • Share/Bookmark

Esto es desarrollo enserio

June 10th, 2010

Acabo de ver este video y me quedo sorprendido, me encanto el profesionalismo de esta gente, el trabajo con Scrum, Unit Testing, Functional Automated Testing, Continuos Integration, Network Meetings, Java, falto mas PHP :P , que lejos estamos.

  • Share/Bookmark

Hay cambios aunque no se note

June 10th, 2010

Últimamente paso mucho tiempo reflexionando sobre si vengo haciendo las cosas bien o si estoy por el camino correcto y tengo mis serias dudas dado que todo esta muy tranquilo a mi parecer, si no veo cambio a la vista no me parece que las cosas avancen, mi cabeza me dice que algo hay que hacer para generar el cambio. A efectos de estas reflexiones me pasaron dos cosas interesantes en estos días.

Hablando con Beto unos días atraz me consulto sobre un proyecto que había desarrollado un tiempo atraz para generar código C# para .NET, más conocido como Gentidades, y me decia que no podía hacer funcionar una cosa del mismo. Hablando con el me hizo recordar que dicha herramienta contaba con una GUI para administrar el modelo de datos, generar la capa de acceso a datos y genarar interfaces gráficas para windows; cosa que había olvidado por completo, y me enorgullecí de mi mismo por un lado de lo que había hecho pero por el otro me apeno no haber continuado desarrollandolo, pensando para mis adentros me dije, me pagan para programar cada pavada todos los días y para algo tan interesante y divertido como el Gentidades nunca pude conseguir un peso de finaciamiento.

Por otro lado, hace unos minutos atraz estaba viendo mi blog y en la parte “acerca de mí”, escrita hace un buen tiempo atraz, ví que puse que deseaba algun día conocer Tokio y como mis lectores saben a principios de año tuve la enorme suerte de poder ir, osea que por gracia divina o lo que sea pude cumplir uno de mis sueños de toda mí vida, conocer la grán ciudad oriental y su cultura.

Estas cosas me hicieron darme cuenta de pequeñas cosas que me pasan día a día y las olvido o se me pasan por alto pero que generan un cambió constante, tan constante que parece tranquidad. Todavía no se si estoy por el camino correcto ni vengo haciendo bien las cosas, creo que nunca lo sabré hasta el final, igualmente no me quejo y seguiré a la esperá del gran cambio.

  • Share/Bookmark

La vida del Geek

June 9th, 2010

Mierda, no puedo sentirme más identificado con esto…. sobre todo la parte de durmiendo.

  • Share/Bookmark

Estos son políticos carajo

June 9th, 2010

Sin palabras, me dio piel de gallina de solo escucharlo.

  • Share/Bookmark

Encontrar problemas con ZendServer y Zend Studio

June 9th, 2010

Debo admitir que Php casi siempre fue una herramienta bastante tosca a comparación de herramientas mas amigables como las suites Visual Studio de Microsoft. Los desarrolladores de PHP amamos nuestro entorno de trabajo y la forma que hacemos las cosas, vi sigue siendo y será la mejor IDE para PHP. El tema es que aveces trabajamos con gente no tan enferma como nosotros que prefieren pantallitas, iconitos y botoncitos y grandes carteles rojos para saber que algo no esta bien y corregir los problemas.

Acabo de ver un video de Zend donde muestra una herramienta de detección de errores y problemas en el servidor (Zend Server), para que el Sysadmin pase el problema al desarrollador y este pueda desde su entorno de trabajo(Zend Studio), visualizar los problemas detectados por el sysadmin y corregirlos. Verdaderamente me pareció algo excelente, los dejo con el video.

  • Share/Bookmark

Embebed Forms en Symfony, una forma fácil

June 3rd, 2010

Los formularios embebidos de symfony son una características muy buena del framework, el problema es que utilizarlos es bastante complicado y existe poca documentación oficial al respecto.

Toda esta duda me surgió debido a este video de Francois donde vi un nuevo método de Propel 1.5 para facilitar el proceso de embeber fomularios. El tema es que en varios proyectos que estoy llevando a cabo no tengo pensado migrar a nuevas versiones de symfony en un corto plazo, por eso quise facilitarme la vida implementando algo parecido. Vean el video para ver de lo que les hablo.

mergeRelation from Francois Zaninotto on Vimeo.

He trabajado un poco en el tema y realice una pequeña implementación para facilitar el trabajo parecida a la que se ve en el video, aquí la explicación.

El modelo

Todo parte de la suposición que tenemos una tabla 1 (tbl1) y otra tabla 2 (tbl2) que posee una relación con la primera, a travez del campo tbl1_id, deberemos respetar esta notación siempre para utilizar esta utilidad, la relación debe definirse a travez del campo tabla padre nombre seguido por _id, por ejemplo xxx_id.

Aquí un schema de ejemplo.

Generamos todo, modelo, forms, filters, sql

./symfony propel:build-all

Luego cargar las nuevas tablas a la base. Si no hay datos

./symfony propel:insert-sql

Modificaciones en las clases bases

Ahora, el siguiente paso es modificar la clase base de los forms para contar con los métodos reutilizables a fin de embeber formularios. Personalmente pienso que el mejor lugar es lib/forms/BaseFormPropel.class.php, si conocen un lugar mas apropiado para ubicarlos acepto la recomendación. Los métodos a añadir son tres.

loadAsEmbebedForm : Que añade la relación como un formulario embebido, se utilizará en el método configure de la clase Form del padre.

bindObjectToEmbebed : Al guardar, en caso de realizarse cambios, asocia el objeto padre a los objetos hijos de los formularios embebidos, se llama por bind.

is_seted_value : bindObjectToEmbebed lo utiliza para saber si se produjeron cambios en el formulario embebido.

bind : Redefinimos el metodo para llamar a bindObjectToEmbebed antes de realizar el bind de la clase base. El único que utilizaremos nosotros será loadAsEmbebedForm, los otros se invocarán automaticamente cuando corresponda. Debería quedarles algo así

El widget sfWidgetFormInputAjaxDelete

Luego será necesario que incorporen el widget sfWidgetFormInputAjaxDelete.class.php (lib/widget/) , este creará una entrada de texto con un boton X el cual al ser cliqueado invocará a la accion del modulo que especifiquen para borrar el elemento. Esta acciòn deberá ser implementada por ustedes en el modulo que les parezca.

Deberán tener instalado ysJQueryRevolutionsPlugin para que este widget funcione

http://www.symfony-project.org/plugins/ysJQueryRevolutionsPlugin

Configurar el Formulario Embebido

Con esto tenemos configurada nuestra instalación para embeber todos los formularios que querramos. Veamos como sería para embeber en Tbl1 el formulario Tbl2, lo único que deberemos hacer es configurar el form del modelo Tbl1 (tabla padre) para contener a Tbl2 (tabla hija). Para esto vamos a modificar el método configure utilizando el método recientemente añadido a la clase BaseFormPropel, loadAsEmbebedForm.

class Tbl1Form extends BaseTbl1Form {
public function configure() {
$this->loadAsEmbebedForm(’tbl2′, ‘thetext’, ‘demo/deleteTbl2′);
}
}

Aquí deberán pasar como argumentos al método el nombre del modelo hijo, el método para leer la propiedad que se utilizará como etiqueta del formulario embebido y la URI para la acción que borrará el formulario embebido.
Al terminar deberían probar con alguno módulo que utilice el form y les saldría una cosa parecida a esta.sshot-1

Eso es todo amigos, les parece sencillo ?

  • Share/Bookmark

A Gentle Introduction to symfony

May 25th, 2010

Asi se titula el nuevo libro de Fabien sobre Symfony, la piedra que faltaba. Todavía no lo leí mucho, pero aparentemente es una reedición del la Guía Definitiva adaptada para Symfony 1.4.

He notado que no esta el link de descarga de la versión en pdf y tampoco vi la versión para Propel, este libro esta escrito para Doctrine, espero ver pronto ambos links.

Pueden encontrar este libro mediante el siguiente enlace.

http://www.symfony-project.org/gentle-introduction/1_4/en/

  • Share/Bookmark

Google TV !

May 21st, 2010

Llegamos tarde con la TVDigital, google se puso la pilas.

http://discover.sonystyle.com/internettv/

  • Share/Bookmark