Symfony 2.0 breve introduccion a la version tan esperada

Symfony 2.0

El framework mas maduro para el desarrollo web, ha alcanzado a su version 2.0, cuyo objetivo es rapidez y flexibilidad, segun pruebas realizadas(no me consta) el rendimiento en aplicaciones reales aumenta hasta3 veces mas rapido que Zend Framework, 4 veces mas que Lithium y 6 veces mas que CakePHP.

Segun su pagina en español, la curvatura de aprendizaje se disminuye considerablemente a comparacion de Symfony 1.x, llegando a tomar: 20 minutos para crear una aplicacion, 1 hora para aprenderlo y 1 dia para dominarlo.

Esta versión esta desarrollada en php 5.3, las caracteristicas ya se conocian pero aqui algunas confirmadas por el mismo Fabien Potencier en las presentaciones  del Symfony Live 2010:

  • Reescritura del framework, haciendolo totalmente diferente a la version 1.x, haciendo esto imposible la actualizacion de los proyectos.
  • Nueva estructura de directorios, siendo ahora: app/(config/, cache/ y log/), src/(el codigo de la aplicacion) y web/(controladores frontales del proyecto)
  • Archivos de configuracion se pueden escribir en: PHP, XML, YAML o INI, aunque Symfony 2 internamente siempre usara el formato XML, asi que desde ya sabemos que de preferencia sera usar este formato, para optimizar.
  • Esto talvez sera algo chocante, desaparecen los plugins y es reemplazado por un elemento llamado bundle.
  • La barra de depuracion web, se localiza en la parte inferior.

Ah y aqui la grafica de la plataforma de esta nueva version.

Plataforma Symfony 2.0

Cabe señalar que el lanzamiento sera a finales del 2010, asi que todavia hay tiempo para ir probandolo y ver lo que mas nos conviene para los proyectos.

Mas informacion:

http://www.symfony-project.org/blog/2009/10/27/why-will-symfony-2-0-finally-use-php-5-3

http://symfony-reloaded.org/

http://www.symfony.es/noticias/

Publicado en Programacion, Symfony | Etiquetado , , | 1 Comentario

¿En qué momento se jodió el Perú?

Se que suena algo subido de tono o demasiado crudo el titulo de este post, pero a la vez es la pregunta que todos los peruanos en algun momento de nuestras vidas nos hacemos.. y otros aun nos la seguimos haciendo.

Extraido de youtube:

¿En qué momento se jodió el Perú? Hace décadas que buscamos la respuesta y siempre terminamos echándole la culpa a quienes nos han gobernado. Y por más que querramos deslindar nuestra responsabilidad por la crisis social que asfixia al Perú, compartimos demasiados habitos que nos hacen muy parecidos a quienes culpamos y criticamos. Es esa “viveza” que alimentamos todos, días tras día, la que no nos deja salir del subdesarrollo. ¿Qué tan vivo eres tú?

Espero hayan disfrutado del video.

Publicado en General, Reflexion | Etiquetado , | Deja un comentario

Mysql Workbench plugins exportadores para ORM: propel, doctrine, SQLAlchemy, ActiveRecord, Hibernate, etc

Usas como herramienta de diseño DB a MySQL Workbench? bien aqui una muy buena lista de plugins que permiten exportar en un formato requerido por el usuario entre ellos: propel, doctrine, SQLAlchemy, ActiveRecord, Hibernate, aqui el link => http://ir.pe/1889

Publicado en General | Etiquetado , , , | Deja un comentario

Instalar y corregir errores de TweetDeck en Debian Lenny con KDE 3.5

TweetDeck para los que desconocen es un cliente para: twitter, facebook, linkedin y myspace; desarrollado en la plataforma adobe air, para mayor informacion => http://www.genbeta.com/redes-sociales/tweetdeck-un-cliente-de-twitter-con-grandes-posibilidades que dicho de paso me lo recomendo mi amigo Victor Lozano

¿Como lo instalo? Pues facil solo hay que seguir esta guia que esta muy explicativa => http://uruguayonce.net/2009/05/20/instalar-tweetdeck-en-ubuntu-linux/

Pero si la cosa no termina ahi y al iniciar tu TweetDeck te sale el siguiente mensaje:

Ooops, TweetDeck can’t find your data

TweetDeck is having trouble using some of your machine. Clicking Submit will clear this data so that you continue to use TweetDeck.

Please note that you will have to add your accounts to TweetDeck again.

Y al hacerle clic en el boton OK, nos sale este otro mensaje.

Sorry, Adobe AIR has a problem running on this computer

Y una vez cerrado dicho mensaje no parece funcionar ninguno de los botones, a simple vista pareceria ser problema del propio AdobeAIR.

Bueno talvez esto no les haya pasado a muchos pero a mi si.. (nose si sera x pura suerte xD) ahora luego de buscar en infernet mediante google, bing, yahoo y demas, me encontre con una solucion pero para windows => http://superuser.com/questions/57072/unable-to-use-tweetdeck-on-windows-due-to-ooops-tweetdeck-cant-find-your-data

Asi que decidi tracearlo.. correrlo en la consola mediante:

$ /opt/TweetDeck/bin/TweetDeck

Y curiosamente obtengo lo siguiente:

Unable to access KWallet!

KB: cpsid_49267 (http://go.adobe.com/kb/ts_cpsid_49267_en-us)
Unable to access KWallet!

Asi que el problema parece ser de acceso al KWallet(sip.. toy usando KDE 3.5), en caso de no ternerlo instalarlo mediante:

# apt-get install kwalletmanager

Abrimos dicho programa en Menu – Settings – KDE Wallet y activamos el check Enable the KDE wallet subsystem y aceptamos.

Ahora al abrir nuestro TweetDeck nos saltara una ventanita pidiendonos una clave para este programita que esta accediendo a datos sensibles.

Y eso es todo, espero les haya servido el post.

Nota: Si por caprichos de la vida el TweetDeck nos abre en blanco, no nos desesperemos solo es cosa de navegar hasta /home/nuestro_usuario/.appdata/Adobe/AIR/ELS/ y eliminar una carpeta con nombre similar ah TweetDeckFast.XXXXXXXXXXXXX, ejemplo: $ rm -rf .appdata/Adobe/AIR/ELS/TweetDeckFast.*

Publicado en desktop, Linux, twitter | Etiquetado , , , | 4 comentarios

Instalar plugin sfAssetLibrary en Symfony 1.2

Si lo se, esto talvez sea algo redundante, puesto que en el archivo README del mismo plugin explica como hacerlo, pero en verdad creanme que lo hago para aquellos que talvez recien se esten iniciando con symfony y deseen integrar un gestor multimedia en sus aplicaciones y tambien para tenerlo presente ya que la memoria es fragil.. sobre todo la mia xD!

Ademas porque su README no dice todo puesto que al seguirlo para instalar el plugin este genera errores tales como:

Fatal error: Call to undefined function form_tag() in /ruta/tu/proyecto/plugins/sfAssetsLibraryPlugin/modules/sfAsset/templates/_sidebar_search.php on line 10

Que a simple vista quizas a algunos se les ocurra editar el archivo y ponerle un <?php use_helper(‘Form’) ?> pero al hacerlo nos enredarnos mas.. dandonos como resultado el error del tipo 500: Call to undefined method sfWebRequest::hasErrors.

Bien para evitar tantos enredemos vamos por ello, primero nos descargamos el plugin desde => http://www.symfony-project.org/plugins/sfAssetsLibraryPlugin

Ahora antes de comenzar la instalacion, leemos en su README que este plugin requiere de otro para generar los thumbnail(imagenes redimensionadas) hablamos del sfThumbnailPlugin que tambien procedemos a descargarlo => http://www.symfony-project.org/plugins/sfThumbnailPlugin

Una vez descargados ambos plugins los copiamos a: /ruta/tu/proyecto/plugins/ y descomprimimos cada uno en su carpeta, luego renombramos cada carpeta quedando asi: sfAssetsLibraryPlugin y sfThumbnailPlugin.

Instalamos con el comando ./symfony plugin:publish-assets

Ahora empezamos a generar el modelo, sql e insertamos mediante:

  • ./symfony propel:build-model
  • ./symfony propel:build-sql
  • ./symfony propel:build-insert-sql

O tambien podriamos ahorrarnos tantos comandos resumiendolo en: ./symfony propel:build-all –no-confirmation

Luego de todo esto tenemos que activarlo editando el archivo /ruta/tu/proyecto/config/ProjectConfiguration.class.php donde vemos:

public function setup()
{
// for compatibility / remove and enable only the plugins you want
$this->enableAllPluginsExcept(array(‘sfDoctrinePlugin’, ‘sfCompat10Plugin’));
}

Lo cual nos dice que carga todos los plugins instalados a excepcion del Doctrine y el Compat10, y es aqui mismo donde radica el problema con el error: Fatal error: Call to undefined function form_tag() in..

Asi que tenemos que dejarlo de esta forma:

public function setup()
{
// for compatibility / remove and enable only the plugins you want
$this->enableAllPluginsExcept(array(‘sfDoctrinePlugin’));
}

Ahora activamos este plugin para nuestra aplicacion en /ruta/tu/proyecto/apps/tuaplicacion/config/settings.yml

all:
.settings:
enabled_modules:        [default, sfAsset]

Pasamos a  configurar las opciones de este plugin en /ruta/tu/proyecto/apps/tuaplicacion/config/app.yml, yo lo he editado de la siguiente forma:

all:
sfAssetsLibrary:
upload_dir:       uploads                # Directorio para almacenar los archivos, esto bajo la carpeta web/
check_type:       false                     # Esto lo seteamos a false para evitar la restriccion de formatos archivos
types:            [‘image’, txt, archive, pdf, xls, doc, ppt]  # Si en la opcion anterior esta puesto true, aqui colocamos solo los formatos a permitir
thumbnail_dir:    thumb                  # Directorio donde almacenar los thumbnails de las iamgenes
use_ImageMagick:  false                  # Esto lo seteamos a true si contamos con dicho comando en nuestro server
thumbnails:                              # Nombre y tamaños (in pixels) de los  thumbnails creados al subir los archivos
small:                                 # Mostrado en la pagina de listado
width: 84
height: 84
shave: true                          # Cut strips to constraint the image size
large:                                 # Mostrado en la pagina de detalles
width: 194
height: 152
search_pager_size: 20                    # Numero de resultados por pagina en el modulo busqueda
mass_upload_size:  5                     # Numero maximo de archivos, mostrado en el formulario de mass upload

Bien despues de todo esto limpiamos la cache de nuestro proyecto mediante: ./symfony cc

Y procedemos a aplicar los cambios de la configuracion mediante:

./symfony asset:create-root –application=tuaplicacion

Si todo nos ha salido bien ya deberiamos de poder ver nuestro gestor multimedia en nuestro browser mediante:

http://myproject/backend_dev.php/sfAsset

Espero que le haya servido a muchos.

NOTA: Se ha deformado la indentacion, esto por el wordpress.

Publicado en php, Programacion, Symfony | Etiquetado , , , | 1 Comentario

Windows 7 es como esa ex novia..

En realidad no soy muy partidario de ponerme a hablar mal de la competencia, es decirque no me gusta rajar, pero en este caso hare una excepción xD! puesto que en las listas de correos que estoy suscrito y mis amistades que probaron dicho Sistema Operativo, concuerdan en lo mismo, sip.. tiene errores como mela(oops!!), repito esto no es una experiencia mia, puesto que yo estoy mas que feliz con mi Debian + KDE 4, el texto fue sacado de MundoGeek.net => http://mundogeek.net/archivos/2009/10/23/windows-7-es-como-esa-ex-novia-que/

Y es como sigue:

El lanzamiento de Windows 7 se parece a esa antigua ex-novia que se presenta de repente en tu puerta deseando que volvais a estar juntos. Se ha hecho unos cuantos trabajitos, aparentemente: una reducción de peso, un aumento de pecho, y una rinoplastia, de forma que se parece tanto a tu novia actual como es médicamente posible.

Es guapa, por supuesto, casi demasiado guapa. Todavía usa demasiado maquillaje y tiene esa mirada de desesperación en sus ojos. La dulce fragancia que la rodea son los litros de perfume que utiliza para enmascarar el olor del fracaso.

Pero ahí parada, con ese top escotado, casi te olvidarías por un momento de lo psicópata que fue – cómo acostumbraba a cerrarse en banda en medio de una cita y olvidarse de todo de lo que le hablabas y cómo sólo era realmente feliz cuando le estabas comprando cosas. Casi te olvidarías de cómo tenías que soportar su bagaje emocional y de aquellas noches en las que, sin ninguna razón aparente, simplemente dejaba de hablarte y, cuando le preguntabas qué pasaba, sólo escupía una cadena sin sentido de código hexadecimal y esperaba que entendieras lo que significaba.

Te quejaste de ella durante años antes de decidir finalmente que querías deshacerte de ella, y aquí está de nuevo. Aunque, de alguna manera, ahora parece una persona totalmente distinta.

“Estoy aquí arriba,” te dice cuando te pilla mirando su escote.

Pero por mucho que te tiente, sabes que con el paso de tiempo se aburrirá de ti y dejará de esforzarse como suele hacer. Y entonces estarás de nuevo en el punto de partida: atrapado. Te convencerá de que no tienes otra opción. De que no eres lo suficiente listo para una de las opciones ni suficientemente rico para permitirte la otra.

“Ahora soy diferente,” te dice mientras te observa con mirada inocente. “He cambiado.”

Claro que lo ha hecho. Aparentemente, ahora está interesada en el misticismo o alguna mierda parecida. Le ha ayudado a descubrir su potencial oculto. Pero también significa que tendrás que renovar todo tu mobiliario para adaptarte a su nueva pasión por el feng shui. Y ese no es el único cambio que te tiene preparado. En el segundo en que le permitas mudarse, instalará un nuevo sistema de alarma que no tendrá ninguna utilidad real, a parte de impedir que tus amigos puedan dejarse caer por tu piso para echar una partida de poker.

Ella no te ama, pero tampoco te odia. La verdad es que no le podría importar menos. Simplemente está contigo porque no quiere estar sola. Como todos los seres humanos, especialmente aquellos que sienten que se les ha pasado la hora, quiere sentirse querida y, después de una serie de trabajos perdidos y malas inversiones, necesita un lugar donde quedarse.

Pero en general, ella no está tan mal. Es un 7. Debería valer, supongo.

Bytez

Salu2

Publicado en General, Humor, Windows | Etiquetado , , | 4 comentarios

Instalar HP Laserjet 1020 en Debian/Ubuntu Linux

Hace poco estuve realizando una migracion en una municipalidad y una de las impresoras que en realidad me dio dolores de cabeza.. hasta incluso creo haber tenido una pesadilla con la secretaria usuaria de dicha impresora.. :S, fueron dias de migraña para que mentir, el problema radicaba en que por mas que instalaba el hplip y sus componentes(hpijs, hpjis-ppds, hplip-gui y su bendito plugin que pide al instalar el driver) siempre a la primera instalaba e imprimia normal, pero luego de reiniciar venia el problema de que la impresora siempre iniciaba en modo inactivo.. es decir desconectado y habia que ingresar a Sistema – Administracion – Impresoras y darle clic derecho en la impresora y marcar la casilla de “Activar”

Y el problema recien empezaba puesto que para la migracion se manejaba dos usuarios(el 1ero con permisos de administrador y el segundo con permisos de solo usuario) con el fin de mejorar la seguridad y evitar que el usuario estropee el sistema de alguna forma(recordemos que en ubuntu el usuario root esta desactivado y ahi se usa el comando sudo para acciones de administrador) entonces al haber 2 usuarios y que el primero instalaba la impresora con todo y plugin como lo requeria el proceso, al parecer solo con este usuario se podia imprimir, ya que al iniciar con el otro usuario(sin privilegio alguno) la laserjet 1020 no imprimia ya que como mencione iniciaba en estado inactivo y menos se podia activar :S

Entonces habia 2 posibilidades:

  1. Crear un script para que la impresora inicie en estado Activo cada vez que se logea el usuario sin privilegio alguno.
  2. Dejar al usuario con privilegios de administrador para que funcione normal la impresion y ver que puede hacer un usuario con dichos privilegios.
  3. Y por ultimo.. comprar otra impresora.. xD!

Conversando con el equipo y debatiendo vimos que ninguna de las anteriores era viable salvo la tercera.

Hasta que googleando me tope con este link => http://www.ubuntu-es.org/index.php?q=node/48816

En donde explican como instalar dicha impresora, pero.. xq siempre hay un pero ahi comenten 2 errores que me llevo a no fiarme en un principio, mencionar de donde sacan dicho driver y explicar que tiene conflictos con el plugin que tanto exige durante la instalacion del driver el pack hplip.

Entonces eliminamos la impresora y manos a la obra:

  • Desinstalamos el hplip y demas componentes: sudo apt-get purge hplip* hpijs
  • Instalamos los paquetes necesarios: sudo apt-get install build-essential
  • Descargamos el driver: wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz
  • Descomprimimos: tar -xvf foo2zjs.tar.gz
  • Compilar el uninstall: sudo make uninstall
  • Compilar: make
  • Elegir modelo: ./getweb 1020
  • Instalar: sudo make install install-hotplug cups

Ahora si vamos a Sistemas – Administracion – ImpresorasNuevo

Apagamos y prendemos la impresora y listo!

Ahora la impresora trabaja tranquila en red y localmente sin problemas alguno.

Bytez

Salu2

PD: Solo para aclarar.. todo este lio fue ocasionado por el plugin que siempre insiste en instalarse con el hplip a pesar de instalar el driver foo2zjs.tar.gz

Publicado en General, Linux, Migracion, Windows | Etiquetado , , , | 3 comentarios