Configurar “impresión silenciosa” (silent print) en Firefox

Imagina que trabajas con una aplicación web desde la que tienes que imprimir algo de manera repetida y requieres cierta agilidad, por ejemplo tickets de compra o recibos. Si pulsas imprimir el navegador abrirá una pantalla para seleccionar la impresora, haciéndote perder unos segundos en tener que dar un nuevo click para confirmar la impresión. ¿Se puede configurar el navegador para que esta impresión sea silenciosa? ¿Para que directamente mande el documento a la impresora predeterminada sin preguntar? Se puede. Veamos como hacerlo con Firefox.

Bueno, como pasos previos tendríamos que tener la impresora deseada configurada como predeterminada y además deberíamos ya haber definido las preferencias de impresión (cabecera, pie, márgenes, etc) a nuestro gusto. Suponiendo que eso esté listo pasamos a configurar Firefox por pasos.

  • Escribimos about:config en la barra del navegador. Nos llevará a una pantalla de confirmación donde aceptaremos sin miedo y esta nos redirigirá al buscador de características.
  • Buscamos la característica print.always_print_silent escribiéndolo tal cual. Ahora hay dos opciones:
  • Si existe hacemos doble click o click en el botón de alternar que aparecerá a la derecha y la dejamos con el valor true.
  • Si no existe ya nos saldrá una barra con la opción de añadir esta nueva característica pulsando el botón con el símbolo + situado a la derecha. Debemos definirla como boolean. Una vez definida le damos el valor true.

Tras eso reiniciamos el navegador y podemos comprobar que si mandamos una página a la impresora ya no nos pide seleccionar qué máquina queremos usar, la envía directamente a la predeterminada.

Tipos de RAID más comunes

Me pregunta un amigo que és un RAID así que ya me ha dado una excusa para escribir una entrada sobre esto: RAID es el acrónimo de Redundant Array of Independent Discs, que en castellano sería Matriz Redundante de Discos Independientes. Y si ahora acabo aquí con razón te quejarías de que el título del post es engañoso. Una vez visto el significado vamos a explicarlo: el RAID es un sistema de almacenamiento que utiliza varios discos duros de forma conjunta para almacenar y replicar la información. Existen distintos tipos de configuraciones según busquemos mejorar la velocidad o la seguridad de nuestros datos, o el balance más equilibrado entre ellas. Vamos a ver cuáles son los tipos más habituales, ilustradas con unos gráficos sacados de la wikipedia:

RAID 0

También llamado Stripped Volume. Es uno de los tipos más básicos de RAID y requiere de solo dos discos. Cuando lo configuramos así ambos discos funcionan como uno solo, sumando sus tamaños, y la información se distribuye de forma equitativa entre ambos discos. Esto duplica la velocidad de escritura y de lectura pero reduce la tolerancia a fallos: si se estropea uno de los discos perderemos todos los datos pues no hay paridad ni respaldo.

RAID 1

También llamado Espejo, o Mirror en inglés. Como el RAID 0 requiere solo de dos discos, ambos del mismo tamaño. Básicamente lo que se hace en esta configuración es escribir los mismos datos en los dos discos, uno sería el “espejo” del otro. El gran problema de este tipo de RAID es que solo podemos usar la mitad del espacio disponible pues la otra mitad estará dedicada a replicación, como ventajas nos da una pequeña mejora en la velocidad de lectura y una gran tolerancia a fallos: si falla uno de los discos tenemos todos los datos en el otro que, además, se volverán a duplicar cuando sustituyamos el disco roto.

RAID 5

El RAID 5, o de paridad distribuida, es uno de los más usados en entornos empresariales por su buena combinación de rendimiento, aprovechamiento de discos y tolerancia a fallos. Aquí ya necesitaremos al menos 3 discos para empezar a trabajar. Con esta configuración cada vez que se escribe un bloque de datos se escribe tambien un bloque de paridad en su misma división. Esto permitirá que en caso de que rompa uno de los discos los datos puedan recuperarse al reconstruir el raid, aunque si rompiesen dos discos ya sí perderíamos toda la información. Respecto al RAID 1 se aprovecha más espacio, pues dispondríamos de un espacio igual al número de discos menos uno: por ejemplo con 4 discos de 2 teras tendríamos 6 teras disponibles. También conseguimos una mejora de la velocidad de lectura en una proporción similar, aunque no así en la escritura. La cantidad de discos que se puden montar en RAID 5 es teóricamente ilimitada, pero hay que tener en cuenta que cuantos más discos tenga la matriz más probabilidades hay de que falle uno.

RAID 6

Similar al RAID 5 pero añadiendo un segundo nivel de paridad. Esto permitiría recuperar los datos en caso de que fallen dos de los discos, aunque en lugar de sacrificar el espacio de un disco para paridad sacrificaríamos el de dos. Para la configuración del ejemplo anterior, 4 discos de 2 teras, tendríamos 4 teras disponibles en lugar de 6. Aunque logra una mejora en la velocidad de lectura algo menor que la del RAID 5 penaliza la escritura al tener que hacer más cálculos de paridad. Puede ser más recomendable que un RAID 5 si se quiere utilizar un número grande de discos al tener una mayor tolerancia a fallos.

RAID 10

El RAID 10, o RAID 1+0, es básicamente una combinación de un RAID 1 y un RAID 0. Es una configuración muy popular a la hora de montar servidores de bases de datos por su buena combinación de velocidad con tolerancia a fallos. Requiere al menos cuatro discos y han de ser siempre un número par. Básicamente se monta primero cada par de discos haciendo un RAID 1, con uno replicando al otro, y después se hace un RAID 0 sobre esos conjuntos de discos. Es bastante robusto pues podrían fallar a la vez un disco de cada par sin perder datos. Existe también una opción similar pero a la inversa que sería el RAID 0+1, pero es poco utilizado por tener una menor tolerancia a fallos. También, con un mayor número de discos, podríamos hablar de un RAID 100: consiste en coger dos matrices de discos en RAID 10 y aplicar sobre ellas un RAID 0 a mayores, o de un RAID 101: lo mismo pero aplicando un RAID 1 a las matrices en RAID 10.

Existen más configuraciones que las aquí citadas, tanto básicas como combinadas (RAID 2, RAID 3, RAID 4, RAID 30, RAID 50…). puedes verlas todas en el artículo de Wikipedia del que saqué las imágenes de ejemplo, donde también tienes explicaciones más detalladas de algunas de las configuraciones aquí explicadas.

Collapse OS: ¿Un sistema operativo para un futuro Mad Max o algo más?

Virgil Dupras es un programador quebequés que cree que el actual sistema de producción capitalista tiene fecha de caducidad: 2030. Calcula que para ese año un colpaso económico acabará con la actual cadena de suministros e impedirá que se pueda producir más electrónica de consumo masivamente durante décadas. Dice el refrán que “hombre precavido vale por dos” y Dupras a estas alturas debe valer ya por cuatro: en previsión de este posible colapso lleva un tiempo trabajando en un sistema operativo libre, licencia GNU 3.0, llamado Collapse OS. Ha sido a raíz de una entrevista en Vice que el proyecto ha saltado estos días a la luz pública y, tras leerla, ha despertado mi interés y me ha inspirado otra idea.

¿Cual es el objetivo de Collapse OS? Pues proveernos de una serie de herramientas básicas para trabajar con pequeños microprocesadores z80 de 8 bits, puesto que son populares, están presentes en muchos productos y podrían encontrarse con facilidad y extraerse de viejos equipos desechados en vertederos, trasteros y puntos limpios. De momento, según su hoja de ruta, ya ha logrado hacerlo funcionar en un miniordenador RC2014 Classic y en una Sega Master System. Sus próximos objetivos serían calculadoras científicas TI83+ y TI84+ y un viejo ordenador TRS-80 de finales de los 70. Hoy por hoy Collapse OS ya permite algo varias cosas fundamentales: editar texto, autorreplicarse, soporte de algunas interfaces de entrada/salida como puertos ACIA o teclados PS/2 , leer y escribir datos en tarjetas SD y en chips de almacenamiento AT28 EEPROM y compilar código para procesadores z80. La lista de interfaces de la que recoger datos de entrada, de otros procesadores para los que compilar código y de unidades de almacenamiento que soportar está recogida en dicho plan y esperan que pueda ir creciendo conforme se acerca la fecha de su anunciado colapso. Si quieres colaborar puedes visitar la página del proyecto en GITHub.

Procesador Zilog Z80

¿Por qué me ha interesado el proyecto? Pues porque es software libre, es creativo y porque creo que tiene un potencial más allá de un eventual colapso económico/industrial: creo que nos podría permitir reciclar mucho material electrónico. Ya hace años algunos recodaréis que participé en un proyecto que llamamos “trashware” junto a un programador italiano en el que ensamblamos equipos a base de piezas rescatadas de la basura que donamos a proyectos educativos de países en vías de desarrollo. ¿Podría este Collapse OS ser una oportunidad para dar nueva vida a mucho material que estaba condenado a la basura? Creo que merece la pena pensarlo, porque estamos pensando en “reciclar cuando llegue el colapso” y tal vez deberíamos verlo como “reciclar para que el colapso no llegue

Optimizar el arranque de Windows 10

Si tu Windows 10 tarda en arrancar es muy posible que sea porque tiene demasiadas aplicaciones que se lanzan durante el inicio. Puede haber otras causas, sí, pero lo más habitual es que haya demasiados programas ejecutándose durante el arranque y también es muy posible que no necesitamos que todos ellos lo hagan en ese momento.

Aunque existen herramientas para optimizar esto realmente no necesitamos ninguna: el sistema operativo ya la trae de serie. Basta con abrir el administrador de tareas (podemos hacerlo de forma directa pulsando Ctrl+Shift+Esc o pulsando el mítico Ctrl+Alt+Supr y seleccionando el administrador en la lista de opciones).

Una vez abierto pulsamos la pestaña Inicio y allí podremos ver qué programas se ejecutan durante la carga:

Realmente puedes deshabilitar todo lo que hay ahí ya que ninguno de esos programas afectaría de forma crítica al sistema, aunque es posible que quieras tener alguno de ellos (por ejemplo, yo tengo el Outlook configurado para que se abra en el inicio porque suele olvidárseme y el el trabajo lo necesito habitualmente). Cuando hayas quitado lo que no quieras en esa sección el equipo debería tardar algo menos en iniciar.

Exportar la configuración de las VPN de Windows a otros equipos

El otro día me cambiaron el equipo en el curro y me puse a pensar “Ahora a configurar el montón de conexiones VPN de los clientes ¿hay una forma más rápida?” Pues claro que la hay: puedes exportarla de un equipo a otro simplemente copiando el fichero rasphone.pbk ¿Cómo lo hago? Simplemente buscándolo, copiando y pegando, nada más. Te lo puedes llevar en un pendrive o guardártelo en una ubicación en la nube para descargalo de cualquier otro equipo.

¿Cuál es la ruta?

En Windows XP (si todavía lo usas): C:\Documents and Settings\All Users\Datos de programa\Microsoft\Network\Connections\Pbk\rasphone.pbk

En los Windows posteriores (Vista, 7, 8, 10) tienes dos rutas:

Redes creadas para todos los usuarios: C:\ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk

Redes creadas para un usuario en particular: %userprofile%\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk

Cuando lo copias en otro equipo Windows basta con ejecutarlo, un simple doble click, y ya realizará la conexión a la VPN.

Solucionando el error 809 en Windows al intentar conectar una VPN con L2TP/IPSec.

Hoy configuraba en el trabajo un compañero una conexión VPN a través del firewall de un cliente nuevo y se encontraba siempre con el mismo código de error: el 809.

En principio todos los datos parecían correctos y en mi equipo (Xubuntu) y el de otro compañero (Mac) funcionaba, así que parecía que era algo relativo a la configuración de Windows. Tras un rato de búsqueda por Google me encontré con lo siguiente: Windows por defecto no puede establecer conexiones seguras con servidores que estén ubicados tras un dispositivo que haga NAT.

Entonces ¿cómo solucionamos esto?. Pues siguiendo estos pasos para cambiar esta configuración en el registro:

  • Abrimos el editor de registro regedit
  • Buscamos la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
  • Añadimos un nuevo valor de DWORD de 32 bits que se llame AssumeUDPEncapsulationContextOnSendRule
  • Buscamos también la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy
  • Si no existe la clave IPsecThroughNAT la creamos y le ponemos como valor 2, en caso de que exista modificamos su valor a 2.
  • Reiniciamos el equipo.

El valor 2 en estas claves implica que Windows permitirá realizar asociaciones de seguridad tanto si el cliente como el servidor se encuentran tras un dispositivo que haga NAT.

Cómo hacer una captura de vídeo en una máquina virtual de Virtual Box

Desde Virtual Box 4.3 existe la opción de realizar una captura de vídeo de la pantalla de la máquina virtual, sin necesidad de software adicional.

Para acceder al menú de captura de vídeo basta con ir al menú de configuración de la máquina, seleccionar Pantalla en el menú de la izquierda e ir a la pestaña de Captura de Vídeo. Ahí marcamos el check de Habilitar Captura de Vídeo.

Un punto importante a tener en cuenta es que hay que configurar el tamaño de fotograma para que sea igual a la resolución de pantalla de la máquina. De no hacerlo de forma correcta los fotogramas saldrán cortados.

¿Cómo forzar que la instrucción “net use /delete” no nos pida confirmación para desmontar una unidad de red?

Vamos con un tip rápido sobre sistemas operativos. Si en Windows queremos desmontar una unidad de red desde un script utilizaremos el comando net use con el parámetro /delete. El problema es que este nos pedirá confirmación, por lo que si es una tarea automatizada se quedará esperando la respuesta ¿Cómo podemos forzar que se desconecte la unidad? Pues con el parámetro /y después del /delete.

La cosa sería más o menos la siguiente:

#Así para desmontar todas
net use * /delete /y

#Cambiando * por el nombre de la unidad 
#desconectamos solo esa
net use x: /delete /y

La opción /y hará que se interprete “yes” como respuesta por defecto a todas las peticiones de confirmación.

Activar Windows Subsystem for Linux en Windows 10 e instalar una distribución de Linux

Ya en su día hablamos aquí sobre cómo activar el bash de Ubuntu en Windows10. Vamos a actualizar y ampliar un poco esto viendo cómo activar el Windows Subsystem for Linux en Windows y cómo instalar después una distribución de Linux:

El primer paso es activar en nuestro Windows 10 la característica del subsistema para Linux. Para eso tenemos que abrir el PowerShell y ejecutar el siguiente comando:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Tras esto toca reiniciar para completar la activacion. Una vez realizado tenemos dos opciones para instalar nuestra distribución. La primera y más cómoda, para las versiones más actualizadas de Windows 10, es hacerlo directamente desde el Windows Store, la tienda de aplicaciones de Microsoft. Están disponibles Ubuntu, OpenSuse, KaliLinux, Debian y la versión Enterprise de Suse para servidores.

La otra opción es descargar e instalar manualmente. Podéis buscar el paquete appx y descargarlo desde el navegador o podéis serviros de cURL para hacerlo desde el PowerShell con el siguiente comando:

curl.exe -L -o ubuntu-1804.appx https://aka.ms/wsl-ubuntu-1804

En el ejemplo descargaríamos la versión 18.04 de Ubuntu. Tendrías que cambiar la version por la que corresponda.

Una vez descargado tendríamos que desempaquetar e instalar. Desde PowerShell sería así, poniendo las rutas y el nombre de fichero que corresponda:

Expand-Archive ~/Ubuntu.appx ~/Ubuntu

Una vez abierto buscamos el archivo .exe de nuestra distribución, en este caso sería Ubuntu.exe y lo ejecutamos.

Por comodidad se recomienda añadir ese fichero ejecutable al path de Windows, de esta forma podrás invocarlo desde cualquier parte sin tener que escribir toda la ruta.

Un último apunte importante: la distribución de Linux debe estar almacenada en el mismo disco duro donde está instalado el sistema operativo. En caso contrario mostrará un error en la ejecución.

Hacer un reseteo a parámetros de fábrica (hard reset) de un router Technicolor TG582n

No hace mucho tiempo se popularizaron unos mensajes humorísticos en cadena en las redes sociales sobre padres que ponían tareas a sus hijos para adivinar la contraseña del wifi. Comenté que si tuviera un hijo adolescente al que no le da la cabeza para buscar cómo resetear un router ya ni me esforzaría en que intente estudiar. Esta chanza me hizo descubrir que hay mucha gente (supuestamente “nativa digital“) que no sabe la diferencia entre reiniciar un router y resetearlo, e incluso que ni conoce la posibilidad de resetear.

El Technicolor TG582n es uno de los modelos más populares de la actualidad, un modelo de gama económica que muchos proveedores de internet instalan a sus clientes.

¿En qué consiste el reseteo?

Cuando ejecutamos un reseteo devolvemos determinados ajustes del router a los parámetros de fábrica por defecto. Esto no implica, por ejemplo, eliminar actualizaciones del firmware sino reinicializar algunos parámetros, entre ellos:

  • Usuario y contraseña del router
  • Nombre y contraseña de la wifi
  • Servidor DNS predeterminado
  • Excepciones y configuración del firewall
  • Redirección de puertos

¿Cómo ejecutamos el resteo?

Es muy simple. Si te fijas en la foto de abajo verás que señalamos un agujero que está al lado del botón de encendido, bajo el cual está grabada la palabra reset:

Technicolor TG582n
Fig 1: Botón de reset

Para ejecutar el reseteo basta con coger un clip, aguja, alambre… un objeto que pueda entrar por el agujero y empujar hasta que notemos que el botón que hay dentro cede y llega a su tope. Una vez llegue aguantamos unos 15-20 segundos y soltamos. El router se reiniciará solo tras esto. Una vez veamos que la luz de WLAN deja de parpadear el router estará reinciado.

¿Cuales son los parámetros de fábrica?

Esta cuestión es compleja, porque cada distribuidor puede haber alterado los suyos. Generalmente la IP por defecto suele ser la 192.168.0.1 o la 192.168.1.1, aunque he visto alguna compañía que lo traía en otro rango. El usuario por defecto suele ser admin o administrator y la contraseña admin. En cuanto al usuario y contraseña de la wifi por defecto, generalmente están impresas en una pegatina en la parte inferior del router. Seguramente en el manual de instrucciones que acompaña al router vengan todos estos datos.