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.

Descargar la Wikipedia al disco duro

Tenía por casa un portátil DELL Inspiron 7000 del año 99 y no sabía bien qué hacer con él cuando me acordé de que mi padre siempre se queda pasmado con la Wikipedia cuando la ve en mi ordenador, le asombra la cantidad de información que tiene. Me sonaba que se podía descargar al disco duro, así que investigué un poco y efectivamente se puede y además es muy sencillo. Así el portátil podrá ser útil durante unos años más como Wikipedia offline.

Lo primero que haremos será descargarnos Kiwix, que es un programa para visualizar textos de wikis en formato ZIM. Una vez instalado necesitaremos descargarnos el contenido de la Wikipedia en este formato ZIM, para ello podemos hacerlo desde la página de descargas de kiwix.org o a través de este torrent. Yo usé el torrent y hay muchas fuentes, se descargó muy rápido (ojo, son 10GB y eso que no incluye las imágenes). El fichero .zim contiene un volcado de Wikipedia de marzo de 2012.

Una vez tengamos instalado Kiwix simplemente abrimos el fichero .zim y ya tenemos la Wikipedia a nuestra disposición.

iotop: ver procesos que acceden al disco duro

Hay veces que uno está con el ordenador ganándose las lentejas y no está haciendo nada del otro mundo pero se escucha al disco duro “rascando” continuamente. Para saber qué procesos están accediendo al disco existe un programa que se llama iotop. Si lo ejecutamos podremos ver exactamente quién es el responsable de la actividad del disco.

Aquí una pantalla de ejemplo, ejecutando iotop con el parámetro -a (que va guardando el histórico de accesos desde que se inició iotop).

iotop

Para instalarlo, basta con ejecutar

sudo apt-get install iotop

Y luego ejecutarlo como root:

sudo iotop -a