Suscribirse al Feed
10Oct

Documental: La verdadera historia de la Internet

Poco tiempo tengo para ver televisión, pero cuando lo hago me gusta ver Discovery Channel o Animal Planet. El caso es que Discovery Channel ha estado transmitiendo algunos documentales llamados: La verdadera historia de la Internet, pero lamentablemente me había perdido algunos de los capítulos. Afortunadamente, nierox ha compartido con todos los cuatro primeros capítulos, que sin duda son una fuente de información valiosa:

Primer capítulo

Capitulo 2: Búsquedas

Capitulo 3: eBay y Amazon

Capitulo 4: Poder Popular

12Sep

Dropbox, almacena documentos online desde Linux

Dropbox es un sistema de almacenamiento online, que permite sincronizar ficheros de manera sencilla a través de drag and drop usando nautilus. Te permite almacenar hasta 2.0 GB y es bastante sencillo de instalar, sin duda bastante interesante.

Instalarlo es muy sencillo, solo debes descargar el paquete adecuado para tu distribución e instalarlo (si es un Ubuntu lo tienes fácil usando GDebi). O puedes añadir estos repositorios para instalarlo vía apt-get:

deb http://www.getdropbox.com/static/ubuntu hardy main
deb-src http://www.getdropbox.com/static/ubuntu hardy main

Si usas Ubuntu 7.0 cambias hardy por gusty ;) Una vez instalado deberás reinciar el nautilus:

killall nautilus

Nota: si estás usando Compiz puede que se bloquee tu equipo. Entonces deberás cerrar y abrir tu sesión.

Después de ello aparecerá un icono en el tray, desde donde podrás gestionar tu cuenta (sino tienes la puedes crear gratuitamente en Dropbox), además de una carpeta en tu home donde podrás guardar/recuperar tus datos.

Además podrás acceder a los ficheros desde cualquier equipo usando un navegador Web:

06Sep

[Tutorial] Evitar hotlinking y sacarle provecho

Muchos sitios que copian nuestro contenido, bien sea de manera automática o manual, cargan además las imagenes que tenemos alojadas en nuestro servidor, lo cual nos roba el ancho de banda que estamos pagando. La idea de esta pequeña guía es enseñarte cómo evitar que te hagan hotlinking, e ir un poco más allá. El hotlinking es una práctica detestable, aunque reconozco que yo mismo lo hice en mis tiempos de ignorancia suprema...

La técnica que utilizaremos consiste en editar el archivo .htaccess que tenemos en la raiz de nuestro servidor. Para los que no saben qué es .htaccess, me permito citar una definición:

es un archivo de configuración en un servidor Web, y contiene comandos en el lenguaje del servidor que le indican cómo debe comportarse en ciertas situaciones. Alguno de los usos más comunes de un archivo htaccess son la restricción del acceso a determinados archivos o carpetas en Internet (o en una intranet) mediante el uso de contraseñas. Adicionamente, los htaccess se usan para redirigir usuarios automáticamente, para bloquear o permitir el acceso al servidor a ciertas direcciones de IP, y para llamar páginas de error customizadas en lugar de las páginas de error 404 standard del servidor. Los servidores Web Apache, y otros servidores que cumplimentan las normas del NCSA pueden usar htaccess.

Además, es ampliamente utilizado por los bloggers, aún cuando no se den cuenta, puesto que es la manera en que Wordpress hace que las URL puedan ser del tipo http://ejemplo.com/url-muy-satanica, en vez de http://ejemplo.com/?p=666. De eso ya había creado un pequeño artículo, que no esta demás nombrar.

Entonces, la idea de este artículo es configurar nuestro servidor a través del .htacces para que realice algunas de las siguientes acciones:

No cargar imágenes alojadas en nuestro servidor en otras páginas

Vamos a tomar como ejemplo mi .htaccess, que de seguro será similar o igual al tuyo, si usas Wordpress. El archivo en cuestión es el siguiente:


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

Si deseamos que ninguna de nuestras imágenes puedan ser cargadas desde otro servidor, simplemente debemos añadir algunas líneas dejando el archivo en el siguiente estado:


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://tuweb.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://tuweb.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tuweb.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tuweb.com/.*$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ - [F,NC,L]
</IfModule>

Donde debes cambiar tuweb, por el nombre de dominio de tu site o blog. Pero nada mejor que entender lo que significan estas extrañas líneas:

  • Las líneas del tipo RewriteCond %{HTTP_REFERER} !^http://tuweb.com$ [NC] básicamente le dicen al servidor que para una petición que no (NO = !) proceda de las URLs indicadas, debe crear una regla...
  • ... la regla es RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ - [F,NC,L], y lo que hace es prohibir (F) la carga de cualquier tipo de imagen (gif|jpg|jpeg|png|bmp), ignorar la diferencia entre mayúsculas y minúsculas (NC) de tal manera que sea igual una petición http://ejemplo.com/imagen.jPg que http://ejemplo.com/imagen.jPG, y por último la L indica que esa será la última regla en ejecutarse en caso de que se cumplan las condiciones.

Solo permitir que algunos sitios carguen nuestras imágenes

Para este caso, la idea es crear una lista blanca de los sitios que pueden cargar nuestras imágenes. Esto es útil, por ejemplo, para permitir a los lectores que nos sigan por medio del feed cargar las imágenes en Google Reader, NetVibes, etc.

Siguiendo con el ejemplo anterior nuestro .htaccess ahora deberá lucir de la siguiente manera:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://tuweb.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://tuweb.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tuweb.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tuweb.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader/view/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader/m/view/.*$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ - [F,NC,L]
</IfModule>

Como ves, lo único que cambia es que añadimos las URL de los sitios permitidos, debajo del nuestro.

Cargar una imagen diferente

Lo típico a hacer aquí, es cargar una imagen que tenga nuestro logo y URL, de tal manera que los lectores del blog que nos hace hotlinking, se vean obligados a entrar a nuestro sitio si quieren ver nuestra imagen.

En este caso, lo que cambia es la última línea (RewriteRule), que es donde ordenamos al servidor a hacer una redirección:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://casidiablo.net$ [NC]
RewriteCond %{HTTP_REFERER} !^http://casidiablo.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.casidiablo.net$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.casidiablo.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader/view/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader/m/view/.*$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ http://casidiablo.net/hotlink.png [R,NC,L]
</IfModule>

El único flag por explicar, teniendo en cuenta que ya explique el resto en el primer ejemplo, es R: redirecciona la petición a la URL indicada. Con esto cuando alguien intente poner la imagen en su Web, el resultado será el siguiente:

hotlinking frustrado

Cargar la misma imagen pero modificada (distorsionada, en blanco y negro, o con una marca de agua)

Este es mi método favorito, aunque requiere algo de programación en PHP. Puesto que el lector de la web que nos hace hotlinking no tiene la culpa, la idea es que hagamos algo más profesional: mostrar la imagen pero con modificaciones. Así, si nos robaran ésta imagen (de 103.95 KB), el navegador mostraría esto (una imagen de 9.01 KB):

hotlinking frustrado

Lo que se hizo fue lo siguiente:

  • Transformar la imagen JPG, lo cual hace que el ancho de banda utilizado sea menor
  • Reducir el tamaño la imagen, lo cual hace que el ancho de banda utilizado sea menor
  • Poner la imagen en blanco y negro, lo cual hace que el ancho de banda utilizado sea menor
  • Poner una marca de agua, para hacerle saber al lector a donde debe dirigirse
  • Mostrar un preview de la imagen original

Para lograr esto, debemos tener las librerías GD para PHP instaladas en el servidor (la mayoría los trae por defecto). Si deseas aprender a hacerlo, continúa leyendo la siguiente página...

1 2
11Ago

Crear lector de feeds de tu blog en Facebook

Facebook se ha convertido en una herramienta imprescindible para muchas personas, y aunque no me gusta en lo absoluto, la gente ama usarlo. Por tanto, de cara al aumento de visitas en nuestro blog, sería bueno tener al tanto de lo que publicamos a nuestros amigos que no saben (ni les interesa) qué es un lector de Feeds. Y puesto que son expertos en el uso del Facebook, es mejor invitarlos a que añadan una aplicación a su perfil, que pedirles que te lean desde el Google Reader.

Siendo así, en este pequeño tutorial vamos a desarrollar una aplicación para Facebook, que utilize nuestro feed para mostrar las entradas recientes. Para ello vamos a necesitar algo de PHP, que es la principal manera de usar el API de Facebook y Magpie RSS una librería para PHP que sirve como parser de RSS.

1. Pasos previos

Antes que nada debemos registrar una cuenta en Facebook (sino la tenemos ya), y añadir la Aplicación Desarrollador (Developer Aplication): http://developers.facebook.com/get_started.php.

Con dicha aplicación podremos administrar nuestras propias aplicaciones, así como obtener nuestra API Key, obligatoria para integarla con Facebook.

1 2 3 4 5 6
08Ago

Dividir una entrada en varias páginas [Wordpress]

Al momento de crear una entrada muy larga, como un tutorial por ejemplo, es posible dividir el post en varias páginas de una manera muy sencilla utilizando las etiquetas <!--nextpage-->. Funciona de manera similar a <!--more-->, pero dividiendo completamente el post. Y usándola podríamos obtener resultados como este:

dividir post

¿Cómo incluir esta característica en nuestra plantilla?

La mayoría de los themes deberían incluir esta importante característica, pero en algunos casos no es así. Por tanto, si la tuya no la posee, tendrás que incluir la función wp_link_pages dentro del archivo single.php (si tu plantilla utiliza ese archivo para mostrar las entradas) o index.php (si se muestran directamente con ese archivo). Los parámetros que podemos pasarle a wp_link_pages son:

  • before (string): Texto que va antes de los links. Por defecto <p>.
  • after (string): Texto que va antes de los links. Por defecto </p>.
  • next_or_number (string): Indica se deben usar los números (number) para las páginas o las palabras Previous y Next (next).
  • nextpagelink (string): Texto del enlace siguiente. Por defecto Next page.
  • previouspagelink (string): Texto del enlace anterior. Por defecto Previous.
  • pagelink (string): Formato para las páginas con número.  Si pones % en el string, será reemplazado con el número de la página.

Por ejemplo:

<?php
wp_link_pages('before=<div class="estilo">Páginas:&after=</div>&pagelink=page %');
?>

Mostraría algo como:

Páginas: Página 1 Página 2 Página 3 Página 4

Todo dentro de etiquetas <div class="estilo">, lo que haría muy fácil el proceso de aplicarle un estilo visual con CSS.

También existe una función llamada link_pages, que hace exactamente lo mismo que wp_link_pages. La diferencia es que link_pages, recibe los parámetros por separado, mientras que wp_link_pages los recibe todos en una cadena. IMPORTANTE: la función link_pages se encuentra en estado deprecated, lo que significa que NO se debe usar; siempre utiliza wp_link_pages.

Hacks en la función wp_link_pages()

Si deseas aplicar algún tipo de comportamiento especial a la función wp_link_pages, puedes hacerlo editando el archivo post-template.php, que se encuentra en wp-includes. Debes estar seguro de lo que haces, porque de lo contrario te puedes llevar un susto ;)

En mi caso, por ejemplo, edite dicha función de tal manera que añadiera las etiquetas <span class="current"> y </span>, para poder aplicar un estilo visual a la "página actual".

dividir post

Lo complicado aquí es que debes tener en cuenta el cambio, cuando hagas una actualización de la versión de Wordpress. Por tanto es más seguro escribir un plugin, o algo más elaborado. Está en ti decidir qué hacer: un hack rápido y peligroso, o un plugin demorado pero seguro.

Happy hack!

05Ago

Simple Tags, excelente plugin para Wordpress

No fue sino hasta hace poco que me di cuenta de la importancia de los tags de las entradas en un blog, y por suspuesto ya era demasiado tarde, ya que etiquetar más de 500 entradas sería una locura. Afortunadamente encontré Simple Tags, un plugin escrito por Amaury BALMER, bastante completo y util que nos permitirá gestionar los tags de una manera bastante simple. Te permite hacer bastantes cosas:

  • Generar etiquetas mientras escribimos, usando como base: las etiquetas que tengamos, el API de Yahoo, o mejor aún el API de Tag The Net.
  • Administrar etiquetas existenes (añadir, modificar, borrar, etc.)
  • Autoenlazar etiquetas dentro de las entradas, lo que permite por ejemplo que, si tenemos una etiqueta llamada "Linux" y en una entrada aparece la palabra linux, se crea un enlace automáticamente hacia dicho tag. Además resulta bastante útil cuando en otro blog hacen copy&paste de alguna entrada, puesto que además de referenciarte (si es que lo hacen) están creando links adicionales a hacia tu blog.
  • Incluir kewords en las cabeceras del blog, una de las principales fuentes de información de los buscadores.
  • Mostrar automáticamente la lista de etiquetas en los canales rss
  • Mostrar las entradas o etiquetas relacionadas con la entrada
  • Crear una nube de etiquetas
  • Edición masiva de etiquetas
  • Y lo mejor: AUTOETIQUETADO, con lo que podemos etiquetar automáticamente TODAS nuestras entradas. Muy útil si, como yo, olvidaste hacerlo al principio.

simpletags

© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS