103

Archivo de la categoría ‘programacion’

Symfony estará en Netbeans 7.0

Ya es oficial: Symfony estará soportado en Netbeans 7.0, lo que supone un gran empujón y un adelantamiento por la derecha a Zend Framework.

Leí el llamamiento en Symfony.es y voté sin mucha convicción para que estuviese soportado en la próxima versión de Netbeans.  Hubo incluso alguna artimaña y alguien cambió el título del apartado por CakePHP, que fue rápidamente subsanado. Lo que no pensaba es que las diferencias iban a ser tan grandes: Symfony 469 votos, CakePHP tiene 58 y Zend Framework 43.

Veremos que tal se lleva a cabo la integración y si realmente hay funcionalidades en Netbeans que ayuden al desarrollador. De momento, parece que acerté eligiendo Symfony Framework entre los otros muchos que hay.

Lunes, noviembre 17th, 2008

Elbot gana el Loebner Prize 2008

ElbotElbot, robot de inteligencia artifical desarrollado por Fred Roberts de la empresa Artificial Solutions, ha sido galardonado con el Loebner Prize de este año. El robot se ha acercado bastante a pasar el Test de Turing, ideado por el famoso matemático Alan Turing, que consiste en tratar de hacer pasar a una máquina inteligente como humana frente a un juez con el que se comunica por mensajes de texto.

En 1990, Hugh Loebner decidió instaurar un premio de $100.000 y una medalla de oro a quien lograse desarrollar un bot que pasase el Test de Turing, algo no conseguido aún. Sin embargo, cada año otorga una medalla de bronce y $3.000 a quien más se acerque.

La empresa Artifcial Solutions se dedica a la implantación comercial de este tipo de bots. Algunos ejemplos se pueden ver en Ikea con el bot Anna y recientemente en BuyVIP, donde podemos hablar con Luna.

Hay otra iniciativa de software libre muy interesante que ganó los premios de 2000,2001 y 2004, el proyecto A.L.I.C.E., que además trata de instaurar un estándard de configuración llamado AIML. Con ficheros AIML puedes configurar y tratar la base de conocimiento de este bot.

Se puede bajar e instalar libremente, incluso enchufarlo a algunos messengers. A priori, sabiendo que se interactúa con un robot, las conversaciones pueden parecer triviales. Pero vaya, hice la prueba y más de uno picó y creyó por un tiempo que hablaba con una persona de carne y hueso.

Sábado, octubre 18th, 2008

Save The Developers – Todos contra IE6

He estado involucrado en un par de proyectos en los últimos tiempos que incluían una fuerte carga de diseño. Por lo tanto la compatibilidad con distintos navegadores de los usuarios finales era algo muy a tener en cuenta.

Esto siempre supone un gran esfuerzo y lleva bastante más tiempo de lo que parece a primera vista. Pero es especialmente irritante encontrarse con un navegador que no cumple estándards y además está bastante retrasado con respecto al resto. Y es más irritante aún si tiene una gran cuota de mercado por una presunta situación monopolística, que implica que debes adaptarlo todo para que funcione sí o sí.

En plena batalla de compatibilidad y momentos de desesperación, no está de más pasarse por savethedevelopers.org, apoyar la causa y tomárselo con buen humor.

Say no to IE6!

Lunes, septiembre 15th, 2008

Frameworks PHP

Llego tarde a esto de los Frameworks en PHP. Siempre he renegado de Rails y similares por su capacidad de “meterse donde no le llaman” a la hora de optimizar u organizar el código, que para eso estoy yo :D . Es como cuando a los que hemos aprendido HTML “a pelo” con el Notepad, lo intentábamos después con Dreamweaver y añade (o añadía, no lo uso desde hace años) etiquetas extra. No nos gusta, queremos mantener el control. Los Frameworks de PHP emulan un poco ese comportamiento tipo Dreamweaver, quizá poniendo más código del que hace falta.

Pero bueno, hay que renovarse y explorar nuevos caminos.

Lo primero ha sido elegir uno. Parece que el “state of the art” en PHP está entre CakePHP, Zend y Symfony. Por lo que he leído por ahí este último es el más completo, a la vez que el más complicado. Prefiero empezar con algo así, antes que luego tener que cambiar. Ya que nos remangamos, hagámoslo con todas las consecuencias.

Me han convencido las ventajas promete:

- Adopta un modelo MVC. Separando el Modelo (lógica de la aplicación) ,la vista (capa de presentación) y controlador (la parte que controla la interacción)

- Object-relational Mapping (ORM). Mediante el cual se crean automáticamente objetos que dan acceso a funciones de base de datos (recuperación, inserción, etc…)

- Preparado para internacionalización y localización.

- Fácil creación de formularios y validación

- Cache integrada.

- Funciones de AJAX.

- Módulo de autenticación ya preparado.

- Código independiente a base de datos.

Además, mis antiguos compañeros de Yahoo! lo van a empezar a utilizar y han sido tan majetes de hacer una buena presentación y dejarla pública.

Teóricamente, te lo da todo hecho para que lo hagas todo bajo unas determinadas “Buenas Prácticas”. En definitiva, todo creado para poder hacer las cosas rápidas y mantenibles, que es lo que buscaba. Veremos si da los resultados esperados!

Viernes, julio 18th, 2008

WebMonkey: El Retorno

Me he enterado esta mañana y me ha alegrado el día. Webmonkey fue para muchos una referencia a la hora de empezar en esto de la programación Web. Pero bajó mucho (muchísimo) el nivel, hasta el punto de convertirse en una sucursal barata de Macromedia, con artículos (y escasos) de Flash y poco más.

Ha vuelto y parece que con la misma frescura con la que empezó.

Según entro me encuentro con un tutorial para dar los primeros pasos en Python. Algo muy oportuno, ya que Python va a dar que hablar en las próximas fechas gracias al empujón que le va a dar la plataforma  Google App Engine.  Es decir, están buscando las nuevas tendencias del sector.

Además se ha modernizado y es mucho más del estilo “web 2.0″, permitiendo a los usuarios incluir contenido, tutoriales, etc…

Espero que tenga el éxito que se merece y salga de la decadencia en la que ha estado algunos años. Yo ya estoy suscrito!

Lunes, mayo 19th, 2008

Error 404 en WordPress 2.5 para páginas estáticas

word pressDespués de actualizar a Worpress 2.5 he tenido un único problema (que haya visto hasta ahora). Las páginas propiamente dichas daban error 404. Esto afecta sólo si tienes un permalink customizado, parece ser que si usas el que viene por defecto no hay problema.

He probado varias cosas, pero la mejor solución la he encontrado en helpdeskgeek.com . Lo explica muy bien, pero he encontrado un pequeño fallo en el código, así que dejo por aquí mi solución.

Hay que editar el fichero wp-includes/rewrite.php y modificar un par de líneas:

if ( 0 === strpos($structure, ‘%postname%’) ||
0 === strpos($structure, ‘%category%’) ||
0 === strpos($structure, ‘%tag%’) ||
0 === strpos($structure, ‘%author%’) )
$this->use_verbose_page_rules = true;

Cambiar por:

if ( 0 === strpos($structure, ‘%postname%’) ||
0 === strpos($structure, ‘%category%’) ||
0 === strpos($structure, ‘%tag%’) ||
0 === strpos($structure, ‘%author%’) ||
$this->using_index_permalinks() )
$this->use_verbose_page_rules = true;

En negrita están las nuevas líneas. Después de cambiarlo habría que ir a Plugins/Permalinks y forzar una regerneración. Para eso se puede seleccionar “Default”, por ejemplo, y volver a seleccionar el permalink que queráis.

Parece que ha habido bastantes problemas (1,2,3,4,5) con esta actualización, ¡suerte con el upgrade!

Martes, abril 15th, 2008

Cache con PHP

Cache php LiteLa optimización de un sistema es algo que llega tarde o temprano, y cuanto antes se empiece uno a plantear soluciones para no consumir recursos, mejor y más escalables serán los desarrollos.

Esto aplicado a un sitio web dinámico, como lo son casi todos hoy en día, tiene como primer paso reducir la carga de procesamiento al que sometemos al servidor cada vez que se realiza una petición. Si vamos a mostrar el mismo contenido a todos los usuarios durante las próximas horas, ¿por qué hacer trabajar al sistema para que haga una consulta a la base de datos, o ejecutar una script cada vez si el resultado va a ser el mismo?

Para evitar esto podemos hacer “cache” de contenidos, es decir, hacerlos estáticos, y solo regenerarlos cada cierto tiempo. Con esto el sistema no sólo tendrá menos carga de proceso y memoria, también será mucho más rápido.

Hay varias alternativas y de las que he evaluado me quedo con la librería Cache_Lite, por sencillez y versatilidad. He escrito un ejemplo completo que sirve par a ver cóm funciona y dejo por aquí.

(más…)

Domingo, febrero 10th, 2008

OpenId, ahora con Yahoo!

OpenId Yahoo DoorMe ha encantado la decsión de Yahoo! de apostar por OpenID, algo realmente interesante para extender este sistema de autentificación descentralizado, ya en uso por parte de otros servicios conocidos como AOL, Orange, Technorati o LiveJournal, por poner algunos ejemplos.

La principal característica de este sistema es que cualquier usuario puede utilizar un único login en cualquier servicio web que tenga este sistema para validar usuarios, de forma que no tendrá que hacerse múltiples cuentas, una en cada sitio, y tener que recordar múltiples contraseñas.

El funcionamiento es simple. Cuando nuestro usuario introduce su login y password en el sistema, éste se pone en contacto con un servidor de identidad OpenID, que validará las credenciales del usuario.

Pero hay más.

(más…)

Miércoles, enero 23rd, 2008

Un vistazo a las APIs Web

Para entender completamente el movimiento que ha supuesto lo que se llama Web 2.0 hay que entender también el fenómeno de las APIs web. Básicamente, una API es una puerta a una aplicación, en este caso una aplicación Web, que nos deja interactuar de forma estandarizada, haciendo queries para recuperar contenido, subirlo o manipularlo. No es algo que se haya inventado para la web, pero su uso desde hace unos años en este entorno está ganando mucha fuerza.

Gracias a esto, hay un tipo de sites que ha prosperado que son los llamados mash-ups, que se basan en agregar diferentes APIs con contendidos propios (aunque puede que incluso no sea el caso). Un ejemplo de mash-up sería agregar Mapas de Google, con fotos de Flickr y datos de tráfico de alguna otra fuente.

(más…)

Martes, diciembre 25th, 2007

En Trío Calavera (Object, Youtube, WordPress)

Sirva este mini-post de alivio para aquellos que han tratado de poner vídeos de YouTube en WordPress 2.x y han visto como el editor “inteligente” a lo clip de Office de Windows les rompía el código. Ayer me estuve dando de cabezazos por ello hasta la desesperación.

Parece ser que la estructura de la etiqueta <object> que YouTube propone no es del todo del agrado del editor de WordPress y la transforma. La estructura correcta es la de aquí abajo:

<object type=”application/x-shockwave-flash” style=”width:425px;height:350px” data=”http://www.youtube.com/v/XXXXXXXXXXX“><param name=”movie” value=”http://www.youtube.com/v/XXXXXXXXXXX” /></object>

Encontrada en varios sitios “salvadores”, que se merecen un aplauso o por lo menos un link:

http://www.miniplug.tv/16-03-2006/youtube-wordpress-2-y-xhtml/

http://www.galder.net/2006/06/01/videos-de-youtube-en-wordpress-202/

http://aliciapac.blogspot.com/2006/05/videos-de-youtube-en-wordpress-2.html

… y ahora sí, el post.

Miércoles, julio 11th, 2007

Inicio Blog

programacion

«123»