Backup de datos de Amazon S3 a tu disco duro

Amazon S3 funciona estupendamente para descargar de tráfico cualquier página web moviendo los ficheros estáticos (sobre todo imágenes y/o vídeos) a su espacio de almacenamiento. Por precaución siempre es conveniente mantener una copia de seguridad de esos archivos, y buscando información en Google casi todo lo que he encontrado era para hacerlo al revés: hacer copia de seguridad de nuestro disco duro en Amazon S3.

Rebuscando un poco más he encontrado un programa que hace las dos cosas, y bastante más. Se llama DragonDisk y no solamente permite gestionar los buckets de Amazon S3 sino que también permite sincronizar de S3 a nuestro disco duro o viceversa.

Lo he probado con un bucket y funciona perfectamente. Además es multiplataforma (Windows / Mac / GNU Linux).

Instalar Hauppauge MiniStick-HD en Linux

Hace tiempo me compré este cacharrito que permite ver la tele en el ordenador, y aquí dejo copiadas las instrucciones para instalarlo en Ubuntu:

– Lo primero es instalar el paquete linux-firmware-nonfree. A continuación instalamos MeTV y reiniciamos el ordenador.

– Una vez hecho esto al arrancar MeTV nos habrá detectado el sintonizador y podremos buscar canales. En el desplegable de países nos aparece España, pero al escanear usando esa zona solamente nos aparecen unos pocos canales.

– Nos descargamos entonces el paquete w-scan, que contiene la utilidad para escanear canales, y (asegurándonos de haber cerrado del todo MeTV) ejecutamos

sudo w_scan -ft -X -c ES >> channels.conf

– Después de un rato escaneando nos habrá generado un fichero channels.conf que podremos cargar en MeTV. Antes de hacerlo lo abrimos con un editor de textos y eliminamos los acentos, eñes, etc… para que no haya errores al hacer la importación en MeTV.

Máquinas virtuales para Internet Explorer

En cualquier desarrollo web hay que comprobar que se ve correctamente en todos los navegadores. Si usamos GNU Linux no tenemos el Internet Explorer, así que debemos ingeniárnoslas para hacer las pruebas.

La misma gente de Microsoft nos lo pone muy fácil: han creado una página desde donde se pueden descargar ficheros para máquinas virtuales que tienen las versiones de Internet Explorer desde la 6 a la 11. Basta con instalarse  VirtualBox y descargar estas máquinas virtuales para poder hacer pruebas con todas las versiones de Internet Explorer que queramos.

Este es el enlace para la descarga: https://modern.ie/en-us/virtualization-tools#downloads

Usar la tecla Alt en Photoshop con Linux

El único programa para el que no he encontrado un equivalente en GNU Linux es Adobe Photoshop. Sé que GIMP es un excelente programa pero yo no consigo hacerme con él y por eso uso Adobe Photoshop a través de WINE.

Funciona muy bien, esta gente de WINE son unos cracks, pero hay una pequeña cosa que me estaba irritando, una pequeña china en el zapato. En Photoshop se utiliza la tecla Alt como modificador de algunas herramientas; por ejemplo si tenemos seleccionada la lupa haciendo clic en la imagen la agrandamos y haciendo Alt – clic la reducimos. Sin embargo en Gnome la tecla Alt también se utiliza para mover una ventana pinchando sobre cualquier parte de ella, y esto es una gozada porque no hace falta mover el ratón hasta colocarlo exactamente en la barra de título, podemos mover la ventana pulsando Alt y moviéndola desde cualquier punto de la ventana.

Esto hace que si en Photoshop intentamos pulsar Alt y pinchar en una imagen esta no se reduce, el sistema operativo da preferencia a la acción de mover la ventana, y esto es un fastidio. Podría modificar las preferencias de GNOME y desasignar la tecla Alt del movimiento de la ventana, pero también llevo mucho tiempo usándola y no quiero cambiarla.

¿La solución? Pulsar primero la tecla de Windows y luego Alt. No estoy muy seguro de por qué funciona, pero es así. Aunque es un poco más engorroso porque nos obliga a pulsar una tecla más como las dos están pegadas realmente no es muy complicado de hacer, y recuperamos el modificador Alt para las herramientas de Photoshop.

Nota adicional: para incluir fuentes en Photoshop deberemos copiarlas a la carpeta .wine/drive_c/windows/Fonts de nuestro usuario y luego asegurarnos de reiniciar WINE mediante el comando

wineserver -k

Extensión Google Chrome para videos de YouTube que se cuelgan esperando a clickberry.tv

Antes de cambiar de ordenador utilizaba Ubuntu 12.10 32 bits y me pasaba una cosa muy extraña: en muchas páginas había incrustados videos de YouTube que no podía ver; el navegador Google Chrome se quedaba mostrando el mensaje “Esperando a clickberry.tv” durante un buen rato y finalmente mostraba un mensaje de error en el vídeo.

Al cambiar el ordenador e instalar Ubuntu 13.10 64 bits pensaba que el problema se solucionaría pero resulta que no, me sigue pasando lo mismo. Después de mucho buscar en Google no he encontrado ninguna solución, ni siquiera he podido encontrar referencias de que esto le pase a alguien más.

Como el problema era bastante molesto decidí investigar las extensiones de Chrome para intentar solucionar el asunto. Resulta que las extensiones son simplemente HTML, CSS y JS, así que resulta muy sencillo hacer una. Este es el código JS que soluciona el problema:

$(document).find("iframe").each(function()
{
	var src = $(this).attr("src");

	if (src.indexOf("youtube.com/embed") > -1)
	{
		var code = src.split("/embed/")[1].split("?")[0];
		var button = $(document.createElement("div"));
		button.addClass("button");
		button.html(chrome.i18n.getMessage("button_caption"));
		button.click(function()
		{
			window.open("http://www.youtube.com/watch?v=" + code);
		});
		button.insertBefore($(this));
	}
});

Realmente no soluciona el problema, el video incrustado sigue esperando a clickberry.tv, pero la extensión añade un botón encima que abre el video en la página de YouTube, donde se ve sin problemas.

La extensión está disponible de forma gratuita en la Chrome Web Store.

Cargar un programa al inicio con retardo

Es posible que alguna vez necesitemos que un programa se inicie al arrancar Ubuntu pero con cierto retardo, por ejemplo pasados dos minutos. Para eso tenemos que añadir el programa en la aplicación “Startup Applications”, pero en lugar de poner simplemente el nombre del ejecutable del programa pondremos esto:

bash -c "sleep 2m && /ruta/del/ejecutable"

Con el código del ejemplo (sleep 2m) retrasaremos dos minutos la ejecución del programa, si quisiéramos que fueran treinta segundos pondríamos sleep 30 (por defecto el argumento de sleep es en segundos).

Túnel SSH para acceder a máquina remota

Mi conexión a Internet no tiene IP fija, y eso supone a veces un problema. Hay veces que por motivos de seguridad el acceso a un servidor está restringido a ciertas direcciones IP y si no tengo IP fija no me la pueden autorizar.

En estos casos lo que hago es dar la dirección IP de algún servidor que tengo contratado (servidor intermedio) y que no tiene restricción de IPs; entro por SSH a mi servidor y desde ahí hago SSH al servidor final. Esto funciona bien, pero es un poco engorroso, así que es mejor utilizar un túnel SSH. Lo que hace el túnel es conectar un puerto de mi ordenador con el puerto 22 del servidor final a través del servidor intermedio. El comando para hacer esto es:

sudo ssh -Nf -L localhost:32:SERVIDOR_FINAL:22 USUARIO_INTERMEDIO@SERVIDOR_INTERMEDIO

Una vez hecho esto, conectando al puerto 32 de mi localhost estaré accediendo al puerto 22 del servidor final. Si, por ejemplo, quisiera subir un fichero a ese servidor, podría hacerlo con el comando scp:

scp -P 32 /home/koas/fichero.jpg USUARIO_FINAL@localhost:/home/www/fichero.jpg

Enviar paquetes UDP desde línea de comandos

Estoy haciendo un programa para poder hacer una consola tipo Firebug pero para código PHP, y la idea es que el PHP envíe datos a esa consola mediante UDP. He empezado a hacer el programa y para hacer pruebas rápidas del servidor necesitaba enviar paquetes UDP. La solución más sencilla es un programa que se llama sendip, que permite enviar paquetes de distintos tipos a cualquier destino.

Para instalarlo en Ubuntu:

sudo apt-get install sendip

Una vez instalado, el uso es muy sencillo:

sudo sendip -p ipv4 -p udp -is 192.168.0.199 -us 5000 -ud 1947 -d "Soy un paquete udp" localhost

Los parámetros son estos:

  • -p ipv4: le indica al programa que usaremos  ipV4.
  • -p udp: le indica al programa que usaremos UDP.
  • -is 192.168.0.199: es la dirección IP de origen del paquete.
  • -us 5000: puerto de origen.
  • -ud 1947: puerto de destino.
  • -d “Soy un paquete udp”: los datos a enviar.
  • localhost: el host al que enviaremos el paquete.

SUOP, un operador móvil colaborativo

Hoy me he encontrado con esta empresa, SUOP, que es un operador móvil colaborativo. La idea en la que se basa es sencilla: tener una comunidad de usuarios que sea la base de la empresa, que decidan qué servicios quieren que se les ofrezca y que colaboren entre ellos y con la empresa para que todos ganen.

La verdad es que me ha costado un poco entender el concepto, porque es algo que no había visto nunca aplicado en una empresa como un operador de telecomunicaciones. En otros ámbitos sí lo he visto y sé que funciona muy bien, siendo el mejor ejemplo el sistema operativo GNU / Linux. Cuando no sé cómo hacer algo busco en Internet y encuentro foros donde alguien que sabe más que yo me ayuda y me explica cómo hacerlo. Si necesito un programa que haga algo busco a ver si alguien ya lo ha hecho y, si no existe y puedo hacerlo yo, lo hago y lo pongo a disposición de los demás usuarios.

Bien, pues este concepto de comunidad y de colaboración es lo que esta gente ha tomado como base de su empresa. En lugar de gastar dinero en, por ejemplo, un servicio de atención al cliente (que además en el 99% de los casos suele ser de calidad bastante mediocre, o al menos es la sensación que he tenido yo cuando he tenido que llamar a cualquier servicio técnico) en SUOP ese servicio técnico lo dan otros usuarios de la empresa con conocimientos técnicos. A cambio de este servicio se van acumulando puntos que luego se canjean por dinero. Este dinero se puede cobrar, cambiarlo por saldo o donarlo a una ONG. Pongo aquí un pequeño video en el que explican en qué consiste su empresa:

 

En fin, que la idea me gusta, me he registrado con ellos  y estoy seguro de que va a ser un éxito, igual que lo ha sido GNU / Linux. ¿Una operadora de telecomunicaciones, que son probablemente los mayores exponentes de “empresas tiburón” que hay en el mundo, que se rige por una filosofía Ubuntu (soy porque nosotros somos)? Sí, por favor, muchas gracias.