Sincronicar scrolls entre capas con jQuery

Interesante script que permite sincronizar scrolls en diferentes divs para que al mover uno el resto también se muevan

jQuery.fn.synchronizeScroll = function() {
var elements = this;
if (elements.length <= 1) return;
elements.scroll(
function() {
var left = $(this).scrollLeft();
var top = $(this).scrollTop();
elements.each(
function() {
if ($(this).scrollLeft() != left) $(this).scrollLeft(left);
if ($(this).scrollTop() != top) $(this).scrollTop(top);
});
});
}

Synchronizing Scrollbars using JQuery

XSS cheat sheet

Interesante recopilación de ataques XSS. No es un documento válido para aquellos que no sepan nada sobre XSS, sino para quienes tengan ya algún conocimiento y quieran profundizar más sobre el tema.
Además de los ejemplos de posibles ataques, también ofrece herramientas online como codificador de caracteres en hexadecimal, decimal y Base64, y un ofuscador de IP.
XSS (Cross Site Scripting) Cheat Sheet
Vía / abcphp.com

| |

Añadir variables a CSS mediante PHP y htaccess

Curioso script que nos permite añadir variables a nuestras CSS usando para ello PHP y htaccess. No es algo que recomendaría hacer por tema de rendimiento, pero sí para proyectos en los que quienes realicen las páginas no tenga demasiado conocimiento de desarrollo web.
El proceso es sencillo, las css mediante Apache se redireccionan a un script PHP, en las CSS se crean variables del siguiente modo $color: #FFF; y luego el nombre de la variable se usa en cada estilo. El PHP parsea el fichero CSS y sustituye cada aparición de la variable por su correspondiente valor. Se cachea el resultado y se muestra.
Puede que haya modos más eficientes, como que el archivo CSS realmente no exista, y cuando sea así, se ejecute el script y se cachee, así la próxima vez que se acceda, no se pasa por el script PHP.
How to Add Variables to Your CSS Files
Vía / CSS Globe

Convertir WordPress en un CMS

Aunque como usuario me gusta WordPress (aunque cada vez un poquito menos), como desarrollador no me gusta demasiado (por no decir casi nada), pero no quita que su puesto se lo tiene bien ganado y que a veces es imposible no tener que usarlo.
Si además de las funcionalidades de WP, necesitas algo más que te puede aportar un CMS genérico, te puede venir bien este tutorial que explica en pocos pasos cómo convertir WordPress en un CMS.
Para ello el autor mueve el blog a la carpeta /blog y en la home de la página crea una página principal en la que se mostrará un portfolio y los resúmenes de sus diferentes trabajos (teniendo cada trabajo una página individual).
Los cambios incluyen la creación de archivos nuevos para el theme, que recoge los resúmenes de cada apartado del portfolio, los cuales son páginas estáticas que cuelgan de la página principal del portfolio.
Seguro que existe algun plugin que te lo permite hacer, pero la explicación es muy buena y la idea la podemos aprovechar para otras necesidades.
WordPress as CMS tutorial
Vía / dzone

Utilidades para comprobar la calidad del código PHP

5 herramientas para comprobar la calidad de código PHP:

  • PHP_CodeSniffer comprueba si falta algún elemento de código estándar en los scripts PHP, Javascript y CSS
  • phpmd busca en el código PHP posibles problemas como bugs, código no óptimo o expresiones complicadas.
  • phpcpd detector de código PHP copiado/pegado.
  • PHP_Depend herramienta de métricas PHP.
  • PHPUnit framework de unidades de test.

Quality Assurance Tools for PHP

Vía / PHPDeveloper.org

Detección de caras con Javascript y Canvas

Interesante script que usa canvas para detectar rostros en las fotografías. Se basa en openCV y en el post de John Resig para evitar un captcha.
Permite la opción de reconocer una cara o varias caras, este último lo he probado con una foto y no me ha funcionado, pero como bien dice el autor, aún tiene que mejorar más el script.
Interesante opción para servicios como Facebook o Flickr para sus opciones de asociar elementos (usuarios, comentarios, …) a las fotografías. También es útil para avisar de que no se ha subido una cara cuando alguien cambia de avatar.
Face detection in javascript + canvas
Vía / @rafabayona

Bases de datos para tener en cuenta

No solo de MySQL vive el desarrollador web, por lo que está bien conocer estas otras bases de datos:

Alternativas opensource de BigTable de Google:

Alternativas opensource de Amazon Dynamo, almacenamiento distribuido:

Otros proyectos interesantes:

QCon London 2009: Database projects to watch closely

Vía / High Scalability

Tutoriales para crear plugins en jQuery

Lista de manuales/tutoriales que nos ayudan a realizar plugins para jQuery:

jQuery Plugin Development – 10 Tutorials To Get Started

Vía / CSS Globe

Lightcloud: BD clave-valor

Lightcloud es una base de datos basada en clave-valor muy rápida, desarrollada por la gente de Plurk, que llega casi al rendimiento de Memcachedb. Está basado en Tokyo Tyrant.

  • Puede almacenar millones de keys en pocos servidores
  • Escala horizontalmente
  • Los nodos se replican vía master-master, failover automático y balanceo de carga
  • Por ahora solo está para Python, pero el puerto puede ser desarrollado fácilmente en cualquier lenguaje

Lightcloud

Vía / High Scalability