Codetcha: CAPTCHA resolviendo Javascript

La verdad es que este CAPTCHA es muy friqui, pero es una idea interesante que quizás se pueda utilizar. Se trata de un CAPTCHA que en vez de tener que escribir una palabra, hay que modificar un código Javascript para que no tenga errores y así validar el formulario.
codetcha.png
Para pasar el CAPTCHA hay que eliminar todos los errores, se puede ir viendo si el código es correcto y si no es así, qué errores sigue habiendo. El código de Codetcha se puede usar para clases o ejemplos de Javascript, porque me da la sensación de que no es muy accesible este CAPTCHA.
Aún así la idea se podría sustituir usando matemáticas en vez de Javascript.
Codetcha

links for 2008-03-19

Diferencias entre count(*) count(col)

Algo a tener muy en cuenta es conocer la diferencia entre count(*) y count(col) en consultas a MySQL.
Cuando realizamos un count(*), lo que hacemos es contar filas, si se trata de una tabla MyISAM y no hay un where, es la forma más rápida de obtener el número de registros de una tabla. Si existe un from o un where, es necesario contar el número de resultados.
Diferente es realizar un count(col), ya que cuenta las filas que tienen esa columna distinta de NULL, por lo que siempre habrá que contar todos los resultados.
Siempre me entra la duda entre count(*) y count(1), las “leyendas urbanas” dicen que es preferible el segundo caso ya que en el primero recuperas todos los datos. Yo sinceramente creo que es lo mismo y recuerdo que un consultor de Oracle también me lo dijo en un proyecto.
COUNT(*) vs COUNT(col)

Javascript para realizar drag y resize

Buen script que nos permite mover nuestras capas mediante drag&drop y cambiarlas de tamaño.
dragresize.png
Funciona con posicionamiento relativo y absoluto de los elementos en la página. Además permite personalizar los estilos mediante CSS. No es obtrusivo. Es posible indicar tamaños máximos y mínimos para las cajas y es compatible con la mayoría de los navegadores.
DragResize
Vía / Ajaxline

Taffy DB: usar JSON de forma similar a SQL

Interesante librería que nos permite acceder a datos JSON mediante una nomenclatura parecida a SQL. Así cuando desarrollemos una capa de Ajax podemos buscar entre los datos, o modificarlos mediante esta librería.

Unos ejemplos de uso serían los siguientes:

products.find({price:{lessthan:10},
type:{not:"Book"}});
friends.insert(
{name:"Brian",
gender:"M",
married:"No",
age:52,
state:"FL",
favorite_foods:["fruit","steak"]
});

Esta librería nos permite en sus 10K hacer consultas, insertar, borrar y actualizar datos, ordenar, realizar bucles, queries avanzadas, ordenar los datos y a parte es compatible con YUI, JQuery, Dojo, Prototype y EXT.

Taffy DB

Vía / AjaxLine

phpffmpeg: clase para manejar ffmpeg

phpffmpeg es una clase que nos permitirá utilizar el programa ffmpeg, pudiendo así manipular y convertir vídeos.

Entre las opciones que nos ofrece, podemos convertir los formatos de vídeo, extraer frames a imágenes y juntar vídeos. Se pueden configurar varios parámetros como el formato de vídeo (entre ellos Flash vídeo), el bitrate del vídeo y el audio, las dimensiones del vídeo y el aspect ratio.

También se puede obtener información sobre el fichero, como la duración, el bitrate, el framerate, formato, tamaño, aspect ratio, si es estéreo y varios detalles más.

phpffmpeg

Consejos para estructuras tus CSS

Buenos consejos para realizar tus estilos CSS bien estructurados.

  • Se sencillo: usa solo que sea estrictamente necesario. No uses muchas capas div y puedes obtener el mismo resultado con una o dos. Si ves que la estructura se complica, quizás estés haciendo algo mal, intenta buscar otra forma muy sencilla.
  • Escrible claro: usa tabulaciones, comentarios para diferenciar partes y nombres que sean claros y explicativos.
  • Se metódico: usa los mismos nombres en tus proyectos. Agrupa por tipología y ordena alfabéticamente para una lectura más sencilla.
  • Organízate: diferencia y define las distintas partes para poder plasmarlas en tus estilos.
  • Resetea los estilos por defecto: debido a las diferencias entre los navegadores es conveniente dar estilos a algunas etiquetas HTML (ul, a, …)
  • Tabula los elementos: no solo uses el tabulador para los distintos estilos de un elemento, sino para crear una estructura de estilos, si un estilo depende de otro, deberá estar por debajo de este y con mayor tabulación.

Write a well structured CSS file without becoming crazy

Vía / CSS Globe