Autosugerencias usando MySQL índices fulltext

Interesante seríe de tres artículos que nos muestra como crear un autosuggest tipo Google usando los índices full-text de MySQL. El método no es nada sencillo (php, mysql y listo), por lo que no será fácil probarlo, pero tampoco complicado o imposible (se necesita ser un usuario algo más avanzado).
Se trata de coger el fichero del índice full-text y usando un programa C, que es necesario compilar junto a MySQL, accederá a los términos que cumplan el texto base del auto-suggest y lo devolverá.
Como ya he comentado se trata de una aplicación externa, por lo que su integración con nuestra aplicación web deberá ejecutarla como proceso externo.
Implementing an AutoSuggest feature using MySQL fulltext indices

Comparativas de licencias opensource

Seguro que a alguno le pasa como a mí que se pierde entre tanta licencia. Si formas parte de mi grupo, te vendrá bien esta comparativa sobre licencias opensource que se basa en 4 preguntas:

  • ¿Puedo darle mi nombre al trabajo derivado?
  • ¿Debería el trabajo derivado continuar siendo opensource?
  • ¿Puedo cambiar el tipo de licencia del trabajo derivado?
  • ¿Puedo vender el trabajo derivado?

Los tipos de licencia que comenta son:

Open Source licenses comparison table

$fx(): librería javascript para animaciones

$fx() es una librería que nos permite realizar animaciones de elementos HTML de forma sencilla. Altera las propiedades CSS a lo largo del tiempo pasando solo una pequeña configuración. Además se pueden combinar efectos, grupos de ellos, encadenarlos o ejecutarlos en paralelo, incluso indicar diferentes callbacks para dar una mayor flexibilidad.
Para aquellos que necesiten tan solo hacer animaciones y no quieran cargar todo el core de jQuery o Mootools, les puede venir muy bien.
$fx()
Vía / Script & Style

UI.Layout: plugin de jQuery para crear layouts

UI.Layout es un plugin para jQuery que nos permite crear layouts en nuestras aplicaciones web, ya sean complejos o sencillos. Con este plugin podemos añadir toolbars, menús, paneles de ayuda, status bars, …

Entre sus características encontramos:

  • Sencillez: potente pero fácil de usar y de aprender
  • Layouts ilimitados: 5 regiones por layout
  • Docenas de opciones: cada aspecto es personalizable, globalmente y por región
  • Control total de las CSS: docenas de clases auto-generadas crean cualquiero aspecto UI
  • Extensible: callbacks, métodos y utilidades especiales
  • Botones personalizados: puedes integrar tus propios botones
  • Collapsable: cada panel puede ser cerrado, usando la animación que desees
  • Ocultable: los paneles se puede ocultar completamente, de inicio o en cualquier momento
  • Redimensionables: cada panel se puede redimensionar, automáticamente o indicando límites
  • Slidable
  • Cabeceras y pies de página: para cada región
  • Hotkeys: puede usarse cursores o teclas para definir hotkeys
  • Se puede usar cualquier elemento para los paneles
  • Integrable con cualquier widget o plugin jQuery

UI-Layout

Vía / WebAppers

jQuery 1.3

Leo en aNieto2K que ha salido a la luz la versión 1.3 de jQuery. Entre las novedades nos encontramos con un nuevo selector de elementos (Sizzle), delegación de eventos, el elemento Event, inyección HTML reescrita.
Andrés lo cuenta muy bien en su blog.
jQuery 1.3
Vía / aNieto2k

Crear daemons con PHP

Muy buen tutorial que nos explica paso a paso cómo crear un daemon para Linux usando PHP. A parte de la explicación del desarrollo del script, haciendo uso de la librería System_Daemon, me gustaría destacar que aunque muchas veces usamos el cron, no siempre es lo más adecuado, ya que el cron solo nos permite ejecutar el script como máximo cada minuto y que si el script anterior no ha finalizado, se ejecutarían dos procesos a la vez, lo cual puede que no sea lo más conveniente.
Create daemons in PHP

phc: compilador PHP

phc es un compilador de PHP (un poco verde aún) que nos permite crear ejecutables con el código de un script PHP.

Para los desarrolladores de PHP nos ofrece las siguientes posibilidades:

  • Compilar código PHP en ejecutables optimizados
  • Compliar aplicaciones web en extensiones optimizadas
  • Formatear el código PHP de forma “bonita”
  • Ofuscar el código PHP
  • Combinar varios scripts PHP en uno solo
  • Optimizar el código PHP usando optimizaciones de complicación (experimental)

Ahora tengo dos dudas, si todo fuera optimizado y no se tratara de una versión inicial (por ahora no admite programación orientada a objetos):

  • ¿En Apache se pueden ejecutar los compilados en el cgi-bin?, juraría que sí pero no lo tengo muy claro.
  • ¿Qué es más eficiente: Apache preparado para interpretar PHP o ejecutar un compilado? siempre es más eficiente ejecutar que interpretar, pero no estoy tan puesto en Apache para saber qué puede ser más rápido.

phc

Monitorizar la subida de ficheros en PHP

Algo que echo en falta de PHP es la posibilidad de saber en qué porcentaje se ha subido un fichero (por ejemplo para mostrar una barra de progreso), algo que si permiten otros lenguajes de programación.
Para poder realizarlo en PHP es necesario tener instalado APC, que mediante el parámetro APC_UPLOAD_PROGRESS permite monitorizar el progreso del upload.
El tutorial explica muy detalladamente cómo realizar un file uploader en PHP, explicando los siguientes aspectos: instalación de APC, cómo monitoriza APC, clases de PHP básicas, implementación del uploader y ampliación de las clases para mostrar el progreso.
Monitoring File Uploads using Ajax and PHP