LibreOffice Calc: Proteger documentos

La suite ofimática LibreOffice, en su programa de hoja de cálculo Calc, nos ofrece la opción de proteger nuestros ficheros a varios niveles: a nivel de fihcero, a nivel de hoja y a nivel de libro. Veamos cómo hacerlo ahora:

A nivel de fichero: Pulsamos Archivo->Guardar Como y allí, a la hora de guardar podemos marcar la casilla Guardar con Contraseña. También tenemos la opción de utilizar una clave pública para cifrado marcado Cifrar con clave GPG.

A nivel de Hoja: Nos vamos a Herramientas->Proteger Hoja… y nos abrirá un menú donde introducir una contraseña y donde asignar qué podrán hacer los usuarios sin ella.

A nivel de libro: Nos vamos a Herramientas->Proteger Estructura de Libro… y allí definimos una contraseña que será obligatoria para poder modificar la estructura del mismo.

Instalar QGIS en Ubuntu 19.04

Hay un montón de cosas que me gustaría estudiar más a fondo pero tengo poco tiempo para ponerme: contabilidad, sistemas de información geográficos, contabilidad, logística, Python… Pero poco a poco voy mirando alguna cosilla de estos temas. Hoy vamos a ver cómo instalar QGIS en Ubuntu.

QGIS es un Sistema de Información Geográfica (SIG) de código abierto bajo licencia GNU, siendo uno de los más populares y existiendo versiones para Linux, Unix, Mac OSX, Windows y Android.

¿Cómo instalamos en la, hasta el momento, última versión de Ubuntu?

Lo primero es ir al fichero /etc/apt/sources.list y modificarlo con un editor de texto. Allí habría que añadir al final las líneas:

deb     https://qgis.org/ubuntu disco main
deb-src https://qgis.org/ubuntu disco main

Tras esto añadimos la clave pública del repositorio:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key CAEB3DC3BDF7FB45

Y con todo esto ya podemos instalar sin problema:

sudo apt update
sudo apt-get install qgis python3-qgis qgis-plugin-grass

Tras este proceso ya deberías poder disfrutar de QGIS en tu equipo con Ubuntu 19.04.

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.

Alternativas a Google Maps

Hoy por hoy Google Maps se ha vuelto casi un standar a la hora de consultar direcciones informáticamente, algo lógico por ser una aplicación gratuita, por su facilidad de uso y por el gran volumen de información que atesora. Pero no podemos olvidar que esta gratuidad no es tal, al final el usuario paga con sus datos, lo que lleva tanto a usuarios como a desarrolladores a querer prescindir de los servicios de esta compañía y buscar alternativas.

Actualmente diría que las dos más importantes y más usables son HERE y OpenStreetMaps.

HERE Technologies es una empresa actualmente radicada en Holanda pero con una larga trayectoria. Comenzó a mediados de los 80 en los EEUU como Navteq, en 2007 fue adquirida por la finlandesa Nokia para convertise en su división de servicios GIS quien la vendió en 2015 a un consorcio de fabricantes de automóviles alemanes (BWM, Daimler y Audi) interesados en no depender de terceros para sus aplicaciones de navegación y futuros vehículos autónomos. Su servicio de mapas para usuarios se llama HERE We Go y tiene app para PC, Android y Apple. En su acuerdo de privacidad la empresa se compromete a no comerciar con tus datos con terceros. No cuenta con una vista a pie de calle como el Street View de Google Maps y las direcciones de algunos negocios no están actualizadas al 100% pero a la hora de trazar rutas hasta una dirección, guiarnos y posicionarnos es tan fiable como Google Maps.

Here mostrando Santiago de Compostela

OpenStreet Map por su parte es un viejo conocido. Se trata de un proyecto abierto y colaborativo para la creación de mapas editables, se nutren tanto de fuentes públicas como de la colaboración de los usuarios, además de alguna aportación empresarial (Yahoo! y Microsoft han cedido imágenes satélite de sus aplicaciones, también Garmin y Apple han inyectado medios y dinero para mejorar los mapas pues se sirven de ellos en sus aplicaciones). Podéis consultar los mapas desde el navegador. No existe un app oficial para Android o iOS pero sí hay múltiples apps que utilizan sus mapas y su API. Aquí ya hablamos de OSMAnd hace tiempo, en la wiki oficial de OpenStreetMaps podéis ver una lista detallada de aplicaciones que hacen uso de OSM.

Open Street Map mostrando Santiago de Compostela

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.

Encontrar y matar procesos zombie en Linux

No sólo hay zombies en la ficción, también pululan por tu sistema Linux. Tranquilo, la pantalla de tu portátil no se cerrará de golpe mordiéndote la mano y convirtiéndote en un extra de peli de Romero, se trata de un estado en el que pueden entrar algunos procesos secundarios, que aunque terminan se mantienen en la tabla de procesos hasta que termina el principal, ocupando algo de memoria. No son especialmente problemáticos ni consumen mucho, aunque si un programa deja varios procesos hijo por ahí sueltos puede ser un problema para la RAM.

¿Cómo puedo listar los procesos en estado zombie en mi equipo?

Es sencillo. Usando el comando ps podemos listar todos los procesos presentes en la tabla de procesos. Uno de los valores que tendremos en la salida de ps es el estado del proceso, que será Z para los procesos zombie. Por lo tanto, el siguiente comando listará todos los procesos zombie:

ps aux | grep 'Z'

¿Cómo eliminamos un proceso zombie?

En si no podemos matar un proceso zombie con el comando kill porque ya está muerto, la única opción sería hacerlo a través del proceso padre. Para eso necesitamos saber el pid del padre, por lo que haremos la búsqueda de procesos zombie de está forma:

ps ef | grep 'Z'

La tercera columna de la respuesta tendrá el id del proceso padre de nuestro proceso zombie. Para forzar la eliminación de estos procesos hijo zombificados usamos el siguiente comando:

kill -s SIGCHLD pid_del_proceso_padre

Problema de Parada (o problema de Halting)

Vamos con un poco de teoría de la computación ¿Qué es el problema de paro, de parada o de Halting? Consiste en determinar si existe una máquina de Turing capaz de determinar si cualquier Máquina de Turing se va a detener o no. Dada una máquina de Turing M y una palabra w se determinará si M acabará en un número finito de pasos usando w como dato de entrada.

El problema es indecidible, según el propio Turing ninguna máquina de Turing puede resolverlo. Es decir, no puede existir un programa genérico que demuestre que todos los programas del mundo terminan, se puede hacer para un programa concreto pero no existe la solución general.

Existen varias demostraciones de por qué es indecidible, vamos a ver una demostración escrita en javascript.

Imaginemos que alguien escribe una función f que recibe como parámetros una función y sus argumentos, y que tiene un código capaz de comprobar si esta se detendrá o no.

var f = function (funcion, argumentos) { ... }; // Aquí iría un código correcto que supuestamente calcularía si la máquina para o no

Vamos a suponer que esa función está correcta, funciona y nos devuelve true si el programa termina, y false si caería en un bucle infinito. Entonces podríamos usarla como subrutina dentro de otra función más grande llamada g como la que viene a continuación:

var g = function (funcion) {
//Pasamos en el parámetro funcion la función y sus argumentos 
  if (f(funcion,funcion)) {
    while (true); //esto provoca un bucle infinito
  }
  else {
    return false;
  }
}

Esto vendría a decir que g(funcion) termina siempre y cuando funcion(funcion) nunca termina.

Entonces ¿qué ocurre si la pasásemos a la función g como parámetro su propio código? Es decir ¿qué pasa si g evalúa a g? Pues que llegamos a una contradicción: g(g) termina siempre y cuando g(g) nunca termina. Por tanto, al llevarnos a una paradoja dicho algoritmo no puede existir.

Manifesto polo Software Libre na Educación Galega.

Boas días, ides ter que desculpar a falta de movemento no blogue neste verán pero xa podo asegurarvos que o outono vai vir moi enérxico.

O motivo da publicación de hoxe é que fai uns días atopei este manifesto polas redes promovido por varias asociacións galegas de Software Libre, que dende o primeiro momento quixen apoiar. Sempre fun e sempre serei defensor do uso de software libre na administración e na educación, por motivos que xa mostrei neste artigo fai anos. E non so na administración e na educación galegas, penso que a lóxica e o sentido común dictan que toda a Unión Europea debería sumarse a isto. É sinxelo ver, despois do intento de boicot de Trump á chinesa Huawei, o problema tan grande que implica depender en Europa de software forncecido por empresas estadounidenses.

De seguido cópiovos o texto do mesmo:

Polo Software Libre na Educación Galega

O tecido social, asociativo e empresarial do software libre galego queremos amosar a nosa preocupación ante a decisión do Goberno galego de implantar software privativo no ensino público e o dispendio económico de 13,5 millóns de euros en licenzas de código pechado. Malia o publicado na prensa sobre a gratuidade da implantación de software ofimático, ambos acordos recentes, están claramente vinculados desde o punto de vista da planificación. Isto traerá consecuencias, dificultando a interoperabilidade dos sistemas e obstaculizando o uso de estándares abertos na Administración pública.

O convenio asinado entre a Conselleira de Educación, a directora da AMTEGA (Axencia para a Modernización Tecnolóxica de Galicia) e a presidenta de Microsoft España afecta ao tecido produtivo das TIC: incrementa a dependencia tecnolóxica dos futuros profesionais e mingua a súa capacidade de investigación, autoaprendizaxe e adaptación ás ferramentas do mercado, capacidade básica agardada en perfís profesionais tecnolóxicos. Como primeiro aspecto criticable, temos que dicir que o texto do convenio non é público, polo que non podemos deixar de lado preocupacións sobre o seu alcance, garantías e conveniencia. O alumnado de formación profesional informática será instruído nas plataformas privativas de Microsoft®. Isto provocará un efecto contaxio nas nosas empresas TIC converténdoas en consumidoras de tecnoloxía no canto de ser produtoras, por non falar da súa extensión ao ámbito directo das familias.

As empresas de software libre en Galicia son referentes no contexto TIC español. Isto débese en boa medida á capacidade de contar con profesionais cunha formación ampla e coas vantaxes que ofrece o código aberto. Esta tecnoloxía socialmente aberta permite que o alumnado poida investigar en profundidade as ferramentas informáticas innovando novos usos e funcionalidades. Ademais permítelle aos docentes propor metodoloxías innovadoras na aula, como a aprendizaxe baseada en retos ou proxectos. Esta forma de traballar logra recrear a forma de traballo das empresas, mentres que coas solucións privativas non é posíbel adestrarse en desenvolvemento.

O proceso de formación debe garantir que o alumnado acade pericias que posteriormente lle permitan adaptarse de xeito sinxelo á evolución das ferramentas do mercado, fomentar a súa capacidade de autoaprendizaxe para a vida real, polo que o argumento de incorporar no proceso formativo as versións máis novidosas do software privativo, é unha vía morta, antes ben, mingua a capacitación do alumnado nas destrezas altamente valoradas no tecido empresarial galego en xeral, e no sector TIC en particular.

Asemade da preocupación polo almacenamento ou explotación dos datos de perfís persoais dos nosos menores que poida chegar a facer unha multinacional estranxeira, os investimentos en ferramentas de software privativo representan unha lápida para o futuro do alumnado, xa que os desinvestimentos en servizos de software libre representan unha degradación da creación de emprego nas empresas galegas que no futuro poderán empregar ao actual alumnado. Polo contrario, os investimentos en software privativo deixan ás empresas autóctonas como revendedoras de produtos cunhas ínfimas marxes de negocio, repercutindo a maior parte do investimento nas multinacionais estranxeiras e non xerando riqueza local. O investimento en software privativo para a ensinanza aboca o alumnado de vocación tecnolóxica a unha migración forzada, e polo tanto, un apoio ao terríbel proceso de descapitalización que sofre Galicia, ademais de frear o desenvolvemento do tecido empresarial tecnolóxico local.

As asociacións Aberteo, AGASOL, Asociación Informática Amigus, Bricolabs, Comunidade o Zulo, Ghandalf, GPUL, Nova Escola Galega, Proxecto Trasno, Recuncho Maker e Xeopesca, instamos a Xunta de Galicia a desbotar o acordo asinado con Microsoft ao ser prexudicial para a sociedade galega. Ademais convidamos á Consellería de Educación e á AMTEGA a ter cantas reunións sexan necesarias para afortalar a implantación de tecnoloxías libres.

Se estades dacordo coa posición do manifesto podedes sumarvos a apoialo a través desta ligazón.

Cinco extensiones para GNOME muy útiles

Una de las cosas que han hecho que GNOME sea uno de los entornos de escritorio más populares para Linux es la posibilidad de instalar extensiones que nos permiten ampliar sus funcionalidades. Desde aquí os voy a recomendar 5:

Clipboard Manager: Una aplicación de gestión de portapapeles avanzada que te permitirá tener disponible varios elementos copiados o cortados a la vez para luego gestionarlos, similar al app GPaste.

Dash To Dock: Si eres un nostálgico de Unity o has migrado a Linux desde un equipo de Apple puedes usar esta extensión que agrega un dock a tu escritorio en el que podrás anclar las aplicaciones que más uses.

Easy Screencast: Una extensión que te permite grabar lo que pasa en tu escritorio de forma sencilla e intuitiva. Esto puedes hacerlo con un programa externo también, pero la ventaja de esta extensión es que es muy ligera.

Pomodoro Timer: Te permitirá organizar tu tiempo programando una serie de periodos de tiempo de actividad y de descanso en tu trabajo, de forma que puedas estar centrado al 100% en tu tarea sin preocuparte de mirar en el reloj cuánto tiempo llevas en ello.

Refresh WiFi Connections: Realmente solo es útil para usuarios con portátil que cambien bastante de ubicación, si ese es tu caso puede que te interese esta extensión que refresca las conexiones inalámbricas a tu alcance para que se conecte de forma automática, sin tener que hacerlo manualmente.

Nginx en Debian: los comandos más básicos

Vamos a darle un ojo a los comandos más básicos del servidor Nginx para sistemas operativos Debian:

Arrancar Nginx:

Para iniciar Nginx puede ser uno de estos dos comandos, dependiendo de si el gestor de servicios es systemd o sysvinit:

$ sudo systemctl start nginx #systemd
$ sudo service nginx start   #sysvinit

Reiniciar Nginx:

En caso de que necesites reiniciar Nginx sería alguno de estos dos

$ sudo systemctl restart nginx #systemd
$ sudo service nginx restart   #sysvinit

Parar Nginx:

Para detener Nginx:

$ sudo systemctl stop nginx #systemd
$ sudo service nginx stop   #sysvinit

Habilitar arranque en el inicio:

Si queremos que Nginx arranque automáticamente al iniciar el sistema operativo entonces hay que utilizar este:

$ sudo systemctl enable nginx #systemd
$ sudo service nginx enable   #sysvinit

Comprobar la configuración:

Si has hecho cambios en la configuración de Nginx este comando te dirá si la configuración es correcta:

$ sudo nginx -t