Zoomimage – jQuery

Zoomimage es otro plugin para jquery diseñado para crear galerías de imágenes estilo lightbox.

El script cuenta con las funcionalidades típicas en este tipo de galerías e incluye:

  • Preload de imagenes
  • Permite agrupar las imágenes en galerías
  • Escala las imágenes para que encajen en la pantalla del usuario
  • Navegación rápida con teclado

La novedad de este plugin radica en el efecto que se les aplica a las imágenes al ser ampliadas, logrando una animación muy convincente.

Zoomimage es un plugin gratuito que viene con el script jquery, las imágenes y las hojas de estilo necesarias listas para descargar y usar en nuestros proyectos.

Ver demo de zoomimage y descargar el código

Monetizar las entradas antiguas de un blog

¿No deseas molestar a tus usuarios habituales con publicidad pero te gustaría sacar algunos euros de tu blog? Vía catswhocode descubro una ingeniosa solución que se basa en mostrar publicidad solo en los posts con más de n días de antigüedad.

En la web original del artículo comparten el código necesario para aplicarlo a wordpress. Basta con añadir la siguiente función al fichero functions.php:

function is_old_post($post_id=null){
   $days = 15;
   global $wp_query;
   if(is_single() || is_page()) {
      if(!$post_id) {
         $post_id = $wp_query->post->ID;
      }
      $current_date = time();
      $offset = $days *60*60*24;
      $post_id = get_post($post_id);
      $post_date = mysql2date('U',$post_id->post_date);
      $cunning_math = $post_date + $offset;
      $test = $current_date - $cunning_math;
      if($test > 0){
         $return = true;
      }else{
         $return = false;
      }
   }else{
      $return = false;
   }
   return $return;
}

Y realizar la llamada necesaria desde el template modificando el fichero single.php

<?php if(is_old_post()){ ?>
Insertar el código de la publicidad aquí
<?php } ?>

Condicionales en CSS

En ocasiones hacer compatible un diseño web con los browsers más habituales se complica y terminamos por recurrir a los famosos IE hacks.

A medida que el número de hacks utilizados empieza a ser notorio, el tamaño de los ficheros css aumenta e inevitablemente la velocidad de carga se resiente. Los condicionales CSS son un recurso interesante que permiten separar los hacks para internet explorer del css principal y cargarlos solo cuando los visitantes accedan desde este navegador, evitando la sobrecarga del resto (firefox,opera,chrome,etc).

El código se introduce dentro del head del html y su uso es así de sencillo:

<!--[if IE]>
   <link rel="stylesheet" href="http://todos-los-ie.css" type="text/css" media="screen" />
<![endif]-->

<!--[if lte IE 7]>
   <link rel="stylesheet" href="http://ie7.css" type="text/css" media="screen" />
<![endif]-->

<!--[if IE 6]>
   <link rel="stylesheet" href="http://ie6.css" type="text/css" media="screen" />
<![endif]-->

Los condicionales css no forman parte del estandar HTML y solo son interpretados por motor de renderizado Triton (Internet Explorer).

iPhone por encima de Windows Mobile en EE.UU

Las declaraciones Steve Jobs, allá por otoño, asegurando que el iphone ya superaba a windows mobile en el mercado de smartphones estadounidense se confirma por consultoras independientes. De esta manera el terminal de Apple sube hasta la segunda posición, solo superado (aunque ampliamente) por las blackberry de RIM, y roza ya los 9 millones de usuarios.

Las tendencias presagian un alentador futuro próximo a Apple, RIM y Android. Por el contrario Windows Mobile parece estancarse y Nokia no consigue dar pie con bola en este segmento del mercado por más que lo intenta.
macbook_ballmer_425
La noticia me ha recordado unas declaraciones de Steve Ballmer, actual CEO de microsoft, donde aseguraba que el iphone sería un fracaso y se reía, literalmente, del terminal de Apple.

No existe ninguna posibilidad de que el iPhone alcance una cuota de mercado significativa. Ninguna. Se trata de un producto de 500 dólares que requiere de una tarifa de datos, debe ser el teléfono más caro del mundo. Es posible que ganen mucho dinero, pero si echas un vistazo a los 1.300 millones de móviles vendidos, prefiero tener nuestro software en un 60%, 70 e incluso un 80% de ellos, en lugar del 2 o 3%, que es lo que Apple puede alcanzar

Ballmer siempre se ha caracterizado por sus declaraciones controvertidas, y por lo general poco acertadas, así que tampoco hay que darle demasiada importancia si bien resulta gracioso releerlas ahora y constatar el FAIL. Seguir leyendo

Wordpress 2.9

Ya esta listo para su descarga/actualización el nuevo wordpress 2.9, codename Carmen.
wordpress-2-9
Esta versión trae un buen puñado de novedades y pequeñas mejoras entre las que destacan:

  • Papelera de reciclaje para artículos y comentarios. Útil para esos posts que hemos eliminado accidentalmente
  • Editor de imágenes integrado. Permite recortar, editar, rotar, voltear y cambiar el tamaño de las imágenes. Este es el primer paso de varias mejoras multimedia planeadas
  • Actualización de plugins mejorada. Ya es posible actualizar todos los plugins en un click
  • Embed de vídeos simplificado. Crea automáticamente el embed de un vídeo al detectar la url del mismo en un post, de momento funciona con YouTube, Daily Motion, Blip.tv, Flickr, Hulu, Viddler, Qik, Revision3, Scribd, Google Video, Photobucket, PollDaddy y WordPress.tv

En total esta versión cuenta con cerca de 500 tickets, bugs coregidos y mejoras desarrolladas por el equipo de wordprees y más de 140 contribuidores.

Ver post original y lista completa de novedades en wordpress 2.9 Carmen

10 comandos de consola Linux

  • Mostrar RAM libre

    free
  • Ver espacio libre en disco

    df -h
  • Montar una iso como si de un directorio se tratase

    mount /path/to/file.iso /mnt/cdrom -oloop
  • Extraer el audio de un AVI

    mencoder nombre_del_video -of rawaudio -oac mp3lame -ovc copy -o nombre_del_mp3″
  • Capturar pantalla en vídeo (El parámetro “r” indica los frames por segundos a capturar)

    ffmpeg -f x11grab -s 1024×768 -r 15 -i :0.0 -sameq -vcodec mpeg4 /tmp/out.avi
  • Mostrar listado e información sobre el hardware de nuestro equipo

    lshw
  • Convertir las imágenes de un directorio en un pdf multi página

    convert -adjoin -page A4 *.jpeg multipage.pdf
  • Extraer la parte de un vídeo a nuevo archivo

    ffmpeg -vcodec copy -acodec copy -i orginalfile -ss 00:01:30 -t 0:0:20 newfile
  • Convertir una partición ext3 a ext4 sin formatear (Se recomienda hacer un backup primero por si acaso)

    tune2fs -O extents,uninit_bg,dir_index /dev/yourpartition

    Una vez finalizado el comando anterior, asegurate de lanzar el siguiente comando para dejarlo en un estado consistente

    fsck -pDf /dev/yourpartition

    Ya solo te queda modificar el archivo /etc/fstab y reemplazar ext3 por ext4 para las particiones modificadas

  • Detener la ejecución de un programa (firefox en el ejemplo)

    sudo killall firefox

Fuentes:
20 Great Linux / Unix Terminal Commands (Command-line)
10 Useful Linux / Unix Commands
Another 10 Useful Linux Commands

Los videos más vistos de 2009

Como cada año por estas fechas los distintos motores de búsqueda dan su lista de “lo más buscado del año” y youtube hace lo propio con los vídeos más vistos del 2009. El top 5 de este año suma 248 millones de vistas, casi nada, y son los siguientes:

David After Dentist

JK Wedding Entrance Dance

New Moon Movie Trailer

Evian Roller Babies

Susan Boyle – Singer – Britains Got Talent 2009

Este vídeo no acepta la reproducción en sites externos, ver en youtube

Fuente: fayerwayer

Popularidad de los navegadores web (2002-2009)

Hoy descubro una gráfica interactiva en flash que muestra las popularidad de los distintos navegadores a lo largo de los últimos años (Enero 2002 – Agosto 2009) basado en las estadísticas de w3.org.
estadisticas-browsers
Firefox lidera la lista hoy por hoy con algo más del 47% aunque aún queda lejos del récord histórico que marco IE6 en septiembre del 2005 con un 69.80%.

Ver gráfica

Fuente: microsiervos
Vía: anieto2k

Entrevista con Mariano Sáenz de pindonga.tv

Ayer le dedicaron un post a Mariano Saenz en maestrosdelweb. El post incluía la siguiente entrevista en vídeo y me gusto mucho (como casi todo lo que hace este argentino):

Además de mejorandolaweb y pindonga, sites de los que ya hemos hablado por aquí alguna vez, descubro que Mariano es autor/colaborador de al menos cuatro proyectos más muy orientados al publico argentino.

Destaca Tusecreto, site que no conocía y con el que me he echado unas risas esta tarde. Este proyecto creado en 2005 fue Diseñado, programado y lanzado en menos de 5 horas y obtuvo cientos de menciones y notas en televisión, radio, revistas, diarios y webs. Llegaron incluso a publicar un libro recopilatorio de TuSecreto que se agotó inmediatamente.

El artículo cuenta con varias citas entre las que destaco la siguiente:

No se necesitan grandes recursos para comunicar una idea, lo único que debemos entender es que internet no es televisión y que una idea muy sencilla puede ser muy efectiva si está bien implementada

Recomiendo la lectura de el post completo en maestrosdelweb: Entrevista a Marinao Sáenz

Perfiles de usuario

Inspirado por un artículo de illasaron donde muestra las estadísticas de la web me he animado a hacer la versión de proyecto-f.

Sistemas operativos

Windows es el ganador indiscutible con XP a la cabeza. Llama la atención que NT represente más del 14% de las visitas realizadas desde el SO de los de redmon. Los usuarios de linux suponen el 11,17%, superando a OSX, y se coloca como el segundo SO más usado por lo visitantes.

  • 80,90% => Windows

    1. 57,81% => XP
    2. 16,65% => Vista
    3. 14,58% => NT
    4. 10,71% => 7
    5. 0,26% => Server 2003
  • 11,17% => Linux
  • 7,83% => Macintosh

    1. 64,00% => Intel 10.6 Snow leopard
    2. 17,33% => Intel 10.5 Leopard
    3. 17,33% => Intel 10.4 Tiger
    4. 1,33% => PPC
  • 0.1% => Iphone

Navegadores

Entre los browsers Firefox es el rey y representa casi el 75% de las visitas.
Seguir leyendo

Parsear HTML con PHP

PHP Simple HTML DOM Parser es una librería pensada para manipular código HTML de forma sencilla con PHP. Siguiendo una sintaxis que recuerda a jQuery, permite acceder a tags, modificar elementos HTML o extraer contenido en poquísimas lineas de código.

Veamos un par de ejemplos:

  • Acceder a elementos HTML

    // Create DOM from URL or file
    $html = file_get_html(‘http://www.google.com/’);

    // Find all images
    foreach($html->find(‘img’) as $element)
    echo $element->src . ‘<br>’;

    // Find all links
    foreach($html->find(‘a’) as $element)
    echo $element->href . ‘<br>’;

  • Modificar elementos HTML

    // Create DOM from string
    $html = str_get_html(‘<div id=”hello”>Hello</div><div id=”world”>World</div>’);

    $html->find(‘div’, 1)->class = ‘bar’;

    $html->find(‘div[id=hello]‘, 0)->innertext = ‘foo’;

    echo $html; // Output: <div id=”hello”>foo</div><div id=”world” class=”bar”>World</div>

  • Extraer contenido

    // Dump contents (without tags) from HTML
    echo file_get_html(‘http://www.google.com/’)->plaintext;

Simple HTML DOM Parser requiere PHP 5 o superior para su correcto funcionamiento y es capaz de trabajar con HTML no valido.

Web oficial de Simple HTML DOM Parser
Descargar desde sourceforge

Vía sentidoweb

jQuery Google feed API

La popularización del concepto web 2.0 trajo consigo millones de páginas que hacían uso de Feeds, ajax y diseños simples y limpios. Por motivos de seguridad las llamadas ajax están limitadas a nuestro propio dominio siendo imposible, por ejemplo, realizar la lectura de un feed rss externo a nuestro site mediante javascript.

Este tipo de limitaciones se suelen solventar con un proxy del lado del servidor que realiza la lectura del feed y nos la devuelve aunque existen soluciones más sencillas como el plugin que vemos hoy. Básicamente se trata de un plugin para jquery que crea una capa de abstracción sobre la Google Feeds API permitiendo la lectura de cualquier rss bajo cualquier dominio. Además el contenido es convertido a JSON automáticamente dejándolo listo para trabajar con el cómodamente con javascript.

Su uso es muy sencillo, por ejemplo:

<script src="jquery.js">
<script src="jquery.jgfeed.js">
<script>
$.jGFeed('http://feeds.feedburner.com/jQueryHowto',
function(feeds){
  // Check for errors
  if(!feeds){
    // there was an error
    return false;
  }
  // do whatever you want with feeds here
  for (var i=0; i < feeds.entries.length; i++) {
    var entry = feeds.entries[i];
    // Entry title
    entry.title;
  }
}, 10);
</script>

El script acepta los siguientes parámetros:

  • URL – Dirección del feed a cargar
  • Callback - Función a ejecutar cuando la lectura haya sido completada
  • Num – Número de entradas a cargar
  • Key – Google API key a usar mientras se cargan los RSS

Una vez terminada la lectura y conversión a JSON, el contenido sigue la siguiente estructura:

{
  "title":"Blog Title",
  "link":"http://www.example.com",
  "author":"Author Name",
  "description":"Blog description.",
  "type":"RSS type (atom10, etc.)",
  "entries":[
    {
      "title":"Blog entry title 1",
      "link":"http://www.example.com/entry-1.html",
      "author":"Post Author Name",
      "publishedDate":"Mon, 25 May 2009 07:07:00 -0700",
      "contentSnippet":"Short blog post snippet ...",
      "content":"Longer snippet of the blog post",
      "categories":[
        "category 1",
        "category 2",
        "category 3"
      ]
    },
    {
      "title":"Blog entry title 2",
      "link":"http://www.example.com/entry-2.html",
      "author":"Post Author Name",
      "publishedDate":"Mon, 25 May 2009 07:07:00 -0700",
      "contentSnippet":"Short blog post snippet ...",
      "content":"Longer snippet of the blog post",
      "categories":[
        "category 3",
        "category 2",
        "category 1"
      ]
    },
    ...
}

Enlaces:
descargar jQuery Google feed API
Artículo original del autor del plugin