Convertir un branch en una carpeta

Un compañero me ha pedido que meta los cambios que estaba haciendo en un branch de git en una carpeta del branch master.

Estos son los pasos que he seguido, seguramente no sea lo óptimo pero al menos funcionan.

Lo primero al ser un fork de otra librería, he tenido que actualizar el branch master. Para ello hay que hacer lo siguiente:


cd carpeta/del/projecto
git remote add upstream git@github.com:[AUTOR ORIGINAL]/[NOMBRE DE LA LIBRERIA].git
git remote -v
git fetch upstream
git checkout master
git merge upstream/master

En este punto tendremos actualizado nuestro repositorio. Una vez que tengamos actualizado procedemos a convertir los branches en carpetas

Para cada branch habría que hacer lo siguiente:


mkdir [branch_one]
cd [branch_one]
git clone git@github.com:[NUESTRO_USUARIO]/[NOMBRE DE LA LIBRERIA].git
git checkout [branch_one]
cd ..
git add [branch_one]/*
git commit -a
git push

Y así convertimos nuestros branch en carpetas.

Compilando NeuroScope

Neuroscope es una herramienta de visualización de datos de EEG de suite de NeuroSuite.

La misma suite ofrece un tutorial de compilación e instalación en su propia web, pero como tutorial oficial, le faltan algunos detalles, que espero solventar con este.

Sistema operativo usado es ubuntu 15.04 LTS

A lo largo del tutorial usare ccmake para construir las librerías. Por lo que empezamos por su instalación si no lo tenemos instalado:

sudo apt-get install g++ cmake cmake-curses-gui libqt4-dev

libqt4-dev es un requerimiento para Neuroscope, por lo que lo vamos instalando para después. Así preparamos el entorno todo junto.

Otro de los requisitos de  Neuroscope es una librería propia del Suite; LibClustersShared.

Lo instalamos:

Tener en cuenta que dependiendo de donde nos encontremos los comandos tendrán que tener permiso de superusuario.


sudo apt-get install libqtwebkit-dev
wget https://sourceforge.net/projects/neurosuite/files/sources/libklustersshared-2.0.0.tar.gz
tar xvf libklustersshared-2.0.0.tar.gz
mkdir libklustersshared-build
cd libclustersshared-build
ccmake ../libklustersshared-2.0.0
#usar c para configurar y una vez esta todo como deseamos, g para generar la build.
#Build type, podemos poner: Release
sudo make
sudo make install

Después de instalar LibClusterShared, podemos compilar e instalar Neuroscope sin problemas, para ello ejecutamos los siguientes comandos:


wget https://sourceforge.net/projects/neurosuite/files/sources/neuroscope-2.0.0.tar.gz
tar xvf neuroscope-2.0.0.tar.gz
mkdir neuroscope-build
cd neuroscope-build/
ccmake ../neuroscope-2.0.0
#usar c para configurar y una vez esta todo como deseamos, g para generar la build.
#Build type, podemos poner: Release
sudo make
sudo make install

Y ya tenemos Neuroscope instalado.

Al ejecutarlo puede que nos de el siguiente error, o algún otro error parecido por culpa de las librerías:


neuroscope: error while loading shared libraries: libklustersshared.so.2: cannot open shared object file: No such file or directory

Este error se puede soluciona de muchas maneras tal y como explican en este post. La manera más fácil y la que me ha funcionad a mi es la siguiente:

Editar el documento /etc/ld.so.conf para que se vea así una vez editado:


$ cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib

Una vez editado, para actualizar el cache ejecutar el siguiente comando:

sudo ldconfig

Y podeis comprobarlo que todo esta bien con el siguiente comando:

ldconfig -p | grep local

Y ahora si! NeuroScope ejecutara sin problemas!

 

Usar dropbox para saber la direccion IP de tus ordenadores

A veces nos toca trabajar en algún entorno en el que los amables administradores de red nos cambian la IP. Y si nos lo cambian cuando estamos en casa, perdemos la conexión a nuestras maquinas.

Llevaba tiempo intentando solucionar el problema de como encontrar la dirección sin saber la dirección. Se me ocurrieron varias cosas, que me imagino que al lector también se le ocurrirán. Hasta que di con una solución simple; todos mis ordenadores están conectados a dropbox, dropbox guarda el IP de cada maquina que accede a nuestra cuenta, por lo que, simplemente accediendo al panel de control de dropbox podemos acceder a las direcciones que nos interesan.

ip_dropboxLa dirección IP puede ser algo que quizá no utilicemos en nuestro día a día, pero si nos conectamos por FTP o SSH a nuestro ordenador y nuestra dirección cambia es un truco que nos puede venir bien.

Multiples cuentas de dropbox en linux

Dropbox nos ha ayudado a aumentar nuestra creatividad gracias al recorte de espacio que ha realizado este 4 de Marzo. No se si tenemos que darle las gracias por aumentarnos exponencialmente el espacio en dropbox y crearnos dropboxdependencia en los últimos años, o mandarle a la mierda por quitárnoslo todo de golpe. Es algo que podremos discutir con Guido van Rossum en Bilbao ya que viene a la conferencia de EuroPython 2015 que estamos organizando.

El tema es que algunos nos hemos pasado a la versión de pago, en mi caso mi empresa ha optado por contratar un servicio business, pero este servicio no se incorpora con tu cuenta personal, y en linux no tienen soporte para poder tener las dos cuentas activas al mismo tiempo. Los de windows no os preocupéis ahí todo funciona perfectamente.

Mirando algunos tutoriales y perdiendo algo de tiempo he podido abrir dos instancias de dropbox y conectar dos cuentas a la vez en linux. En mi caso esta todo probado en ubuntu 14.04, pero me imagino que no tendréis problemas para poder hacer lo mismo en las demás distribuciones.

Para tener múltiples cuentas, hay que tener múltiples instancias de dropbox abierta. La instalación por defecto no te deja abrir varias instancias por lo que necesitamos instalarlo otra vez en una localización, obviamente, distinta a la que ya esta instalado.

Instalando dropbox

Para volver a instalar dropbox podemos descargar el código desde su pagina web o github.

github

git clone https://github.com/dropbox/nautilus-dropbox.git

web, podeis usar wget o descargar desde la web directamente

https://www.dropbox.com/download?dl=packages/nautilus-dropbox-1.4.0.tar.bz2

Recomendacion personal, descargar las dos versiones y hacer un merge del repositorio git a lo descargado de la web. Esto os actualizara algunos ficheros y os quitara algunos errores que tiene la versión web.

Como hacer el merge; Muy sencillo.

Utilizar vuestro IDE favorito, consola nautilus, thunar… extraer la version web a una carpeta conocida, descargar la version git usando el codigo de arriva, y copiar todo el contenido de la carpeta git a la carpeta de la version web.

La versión de git no tiene algunos ficheros para poder instalar desde código y de esta manera tendréis la versión más actual con los documentos necesarios para instalar desde el código.

Dentro de la carpeta de nuestro dropbox instalado ejecutamos los comandos para instalar la nueva instancia de dropbox.

./configure

Durante este proceso puede que se necesite instalar librerías que no tenemos instalados. En mi caso fueron docutils-common y libnautilus-extension-dev , pero esto depende de lo que tengamos instalado en el sistema. Con sudo apt-get install podemos instalarlo cuando el comando nos de el error por que no ha encontrado la librería y volver a ejecutar el comando sin ningún problema.

make

Según en que carpeta estemos puede que sea necesario tener permisos de superusuario, lo arreglamos poniendo un sudo por delante.

make install DESTDIR=/opt/local/

Si vamos a instalar en una carpeta restringida es necesario tener permisos de superusuario, con poner un sudo delante arreglado.

Se creara una estructura de librerías en la carpeta DESTDIR. Y tendremos el ejecutable de dropbox en  DESTDIR/usr/bin/dropbox

Primera ejecucion de dropbox.

HOME=$HOME/.dropbox-alt DESTDIR/usr/bin/dropbox start -i

Se puede cambiar dropbox-alt por lo que nos apetezca. Instalara las librerías de dropbox ahí e intentara poner la carpeta de dropbox por defecto dentro de esa.

Una vez se instale dropbox estará ejecutándose y si tienes otra instancia, estará ejecutándose junto a la otra.

Para ejecutar un dropbox existente

A partir de la primera ejecución podemos usar el siguiente comando para ejecutar nuestro dropbox.

HOME=$HOME/.dropbox-alt /path/to/your/.dropbox-alt/dropboxd

Script para startup

Para que se inicie automaticamente lo más sencillo es crear un script e incorporarlo a las aplicaciones que se inician automaticamente. En Ubuntu con Unity existe una aplicacion que gestiona este tipo de aplicaciones que se llama StartUp Applications.

Para ello creamos el script en un lugar conocido y que no nos moleste como puede ser

nano ~/.scripts/dropbox-alt.sh

y copiamos lo siguiente cambiando las partes que nos interesan

#!/bin/bash
HOME=$HOME/.dropbox-alt /path/to/your/.dropbox-alt/dropboxd

Le damos permisos de ejecucion al script

sudo chmod +x ~/.scripts/dropbox-alt.sh

Finalmente añadimos este script con la opción add de StartUp Applications. Siendo el comando este script y el resto de datos el que queremos meter nosotros como referencia para que no se nos olvide que es lo que estamos iniciando. Y el siguiente reinicio nuestro dropbox empezara junto el que esta instalado por defecto.

Si quisiéramos tener más cuentas en principio tendríamos que seguir estos pasos para cada una de las cuentas.

Actualización 1:

Al aplicar estos pasos a unos compañeros, dropbox daba un error de que la carpeta .dropbox-alt no existe, pero funciona perfectamente, si se quiere evitar el problema se puede crear la carpeta previamente.

Dropbox no guarda el demonio dentro de la carpeta .dropbox-alt sino dentro de la carpeta .dropbox-dist que se encuentra en esta carpeta, por lo que el comando para ejecutar dropboxd varia y pasa a ser el siguiente. Tener en cuenta también a la hora de hacer el script.

#!/bin/bash
HOME=$HOME/.dropbox-alt /path/to/your/.dropbox-alt/.dropbox-dist/dropboxd

Escaner de la Radiofrecuencia

Por circunstancias de la vida, como siempre, he acabado en una sala fría de radiofrecuencia y como no, con escáneres de una que se realizan durante el tratamiento o la operación (como lo queramos llamarlo) en mis manos.

La radiofrecuencia es un método para quemar tumores e imperfecciones con un sistema de microondas. Para guiar el sistema se usa ultrasonido (ECO), y cuando ponen el sistema en marcha para saber si ha funcionado correctamente se usa el escáner TAC.

En mi caso puedo acceder a estos datos libremente y existe software para investigadores en el que se pueden ver libremente. Uno de los más utilizados es itksnap, este ademas ofrece herramientas para poder salsear a nuestro gusto en las imágenes DICOM que están nuestros escáneres.

En mi caso realice una función muy básica, cambiar la escala de colores que por defecto viene en grises. Poniendo una en el que se puede ver claramente como la onda se genera externamente y llega a atravesar el cuerpo. Tal y como se puede ver en la siguiente imagen.

ezgif.com-crop

Arreglando chapuzas con chapuzas (parte 1)

Hay ciertas ocasiones en la vida en la que nos toca hacernos algún escáner. Ya sea por que se nos ha roto la pierna, por prevención a una patología peligrosa o para controlar alguna enfermedad que nos pueda estar afectando de manera no deseada en nuestro cuerpo. Un escáner puede ser o bien un TAC o una RM. Resumiendo ambas técnicas un TAC son un montón de cámaras láser que giran sobre un eje y obtienen la imagen tridimensional mientras la persona se mueve. Y la RM obtiene la imagen mediante ondas de sonido, mientras que el paciente esta quieto.

La diferencia en las imágenes entre ambas es que en el TAC se ven mejor las partes duras como los huesos y en las RM las partes “blandas”. Los médicos te mandaran a uno u otra dependiendo de lo que tengas o de lo que cueste al hospital mandarte a las pruebas, dado que generalmente algunos de estos servicios suelen ser privados, y por lo tanto no son parte del hospital. Siendo muy caros para la sanidad (gratis para el paciente).

La gente curiosa que les gusta salsear en sus escáneres puede usar distintos lenguajes de programación como python, R, matlab, java… para procesar las imágenes, o simplemente usar cualquier visor de imágenes medicas y salsear lo que se pueda, para ello tenemos ITK-SNAP o 3D slicer, muy buenas aplicaciones sin licencia para dar resoluciones médicas pero suficiente para lo que nos proponemos, ademas ambos son gratuitos para uso particular o investigación.

Pero cuando vamos a nuestro centro de salud favorito, en mi caso a Osakidetza, a pedir los datos/imágenes de los escáneres, y los empiezo a visualizar empiezan los problemas. ¿Problemas? ¿Que problemas? pero… ¿si tenemos todo controlado? tenemos las aplicaciones listas, sabemos lo básico de imágenes medicas, ¿que puede fallar?.

Vamos por partes.

Primero empezamos con el tipo de imágenes medicas que existen, aquí podemos ampliarnos todo lo que queramos pero nos centraremos en dos formatos, DICOM y NIFTI. DICOM es una imagen con cabecera, en la cabecera aparece información extra, en la que te da el tamaño real del pixel, cuantas imágenes conforman el corte y más información útil ademas de información de relleno como la fecha de creación y datos del paciente etc. Para tener el cuerpo entero, lo que denominamos corte, a base de DICOM necesitas todas las imágenes, este numero varia dependiendo de como se haya efectuado el escáner. El problema de estas imágenes es que las informaciones importantes de las cabeceras se guardan en variables privadas y a pesar de que existen apalabrados unas directrices para un mejor entendimiento y no haber problemas a la hora de procesar las imágenes cada fabricante insiste en guardarlo a su manera con sus variables.

Un NIFTI por otro lado es un único fichero en el cual aparece el corte entero agrupando, cambiando cada pixel por voxels y también tiene una cabecera con similar información que el DICOM. Este formato fue originalmente creado y se usa mayormente para imágenes neuronales, y tienes estándares que hacen que todos los niftis puedan ser compatibles con todos. Pero generalmente no se usa este formato y para obtener este formato necesitamos las imágenes DICOM con las cabeceras en un formato que podamos reconocerlos (o al menos el conversor).

Segundo de los problemas es la codificación, si ya de por si puede ser un problema las cabeceras que traen los DICOMs podéis imaginaros el problema que puede ser que la cabecera venga en latin-8 y la imagen en utf-8. Pues esto pasa y  A MENUDO, por no decir SIEMPRE. Por lo que tenemos que estar preparados para lo peor. Porque intentar leer una imagen medica y darnos cuentas que el error es por esta tontería nos puede llevar horas incluso días…

Y el fallo no se exactamente por donde viene si por una gran organización de Osakidetza, la gran idea de querer privatizar su propio escáner de los propios fabricantes o por que el operario que me pasa los escáneres a CD me los pasa en un formato que ni él sabe, y todo se puede solucionar de mil maneras, aunque solo una solución valida: USAR EN TODOS LOS ESCÁNERES EL MISMO SISTEMA DE CODIFICACIÓN Y EXPORTAR SIEMPRE DE LA MISMA MANERA CON LA MISMA MAQUINA. Con la misma versión etc.

En mi caso el mayor problema era que algunas imágenes en formato DICOM solo se podían leer en matlab. ninguna aplicación ni otro lenguaje de programación podía leerlo ni en forma de binario porque la manera de codificarlo era diferente entre la cabecera y la imagen. Por lo que cree un script chapucero con ayuda de un experto en matlab (yo no había usado matlab hasta ese día),  que lee las imágenes y las transforma cambiando la cabecera con otra imagen de ejemplo que encontramos en la red. Así creamos otra colección de imágenes con una cabecera con la misma codificación que la nuestra y la opción de poder abrirlo en otras plataformas incluso también poder convertirlo a NIFTI. Al final creamos una chapuza para arreglar la chapuza que nos dan de Osakidetza.

Vamos con el script:

 % Creas una carpeta y metes dentro este script. En esa misma carpeta creas
% una carpeta que se llame "data" por ejemplo y metes ahi las carpetas que quede tal que
% ~/data/00000000/todoslosdicoms

sep = '/';
dirOr = 'data';
dirDes = 'converted';
iniFi = 3;
% Buscar un dicom de ejemplo y asignar su ruta a continuacion
exampleDicomInfoDir = '/lugar/en/el/sistema/dicom_de_ejemplo.dcm';

actDir = pwd;
rutaDestino = [actDir, sep, dirDes, sep];
actDir = [actDir, sep, dirOr, sep];
lst = dir(actDir);

for i = iniFi:length(lst)
compDir = [actDir, lst(i).name, sep];
rutDest = [rutaDestino, lst(i).name, sep];

if exist(rutDest,'dir') == 0
mkdir(rutDest)
end

inDir = dir(compDir);
for j = iniFi: length(inDir)
rutaIn = [compDir, inDir(j).name];

Dread=dicomread(rutaIn);
% We save DICOM files.
slice = j-2;
if (slice<10)
indice=['00',num2str(slice)];
elseif (slice<100)
indice=['0',num2str(slice)];
else
indice=num2str(slice);
end

rutaSave = [rutDest, indice, '.dcm'];
info = dicominfo(exampleDicomInfoDir);
info.InstanceNumber = slice;
dicomwrite(Dread, rutaSave, info);
end
end

 

 

 

 

 

 

hundir la flota

Hace unos meses Osakidetza puso en marcha un servicio que toda persona estancada en frente de su pantalla y preocupado por su propio bienestar lo agradece: La carpeta de salud. Un servicio que permite ver y consultar tu estado a cambio de hacer unos “pocos” clicks.

Todo esto requiere un sacrificio, como todo en Osakidetza, te tienes que levantar de tu cómoda silla a tu centro de salud más cercano y después de esperar la cola de las señoras que van a buscar cita a sus maridos porque no lo saben hacer por Internet y otros tantos que van a por medicamentos de crónicos que no saben que ya no hay que ir allí, te toca a ti. Pides que te activen la carpeta y la señora súper alegre diciendo ¡uyyy que emoción! ¡eres el primero! ¡veamos que tal sale!, ya empezamos mal… …pero bueno, todo por no tener que salir de casa para revisar mi estado de salud de vez en cuando.

Para activar la carpeta me piden la tarjeta ONA, una tarjeta con chip, esa tecnología que  quedo obsoleta antes de poder ser desarrollada, para poder acceder a la cuenta de la carpeta mediante este chip. No lo tengo, y ya no los hacen, por lo que me es imposible acceder a esta tarjeta y a este mecanismo de entrada, ademas tampoco tengo un lector de tarjetas por lo que tampoco me sirve este tipo de mecanismo para acceder a mi cuenta. La única opción que me queda, y la que tienen por defecto es, crear una cuenta y una contraseña con un -lo que llaman- juego de barcos, lo explico a continuación:

Juego de barcos:

Se basa en que cada usuario tiene un numero aleatorio para 16 letras, y cada vez que accedes al sistema este te pedirá 3 letras aleatorios donde el usuario deberá de meter los números que corresponden.

Por lo que para acceder a la carpeta me crean, a lo que me doy la libertad de llamar un sistema de cinco contraseñas, la primera es un nombre de usuario, es un valor que no tiene nada que ver con tu nombre ni con la carpeta, es un numero de orden en el que te registras, como por ejemplo I00000321, después tienes la contraseña, la verdadera, la única que puedes cambiar a placer si eres capaz de navegar en la web de la empresa gestora sin dar de baja tu carpeta o liarla de alguna otra manera. No se puede cambiar en la misma carpeta. Yo hice un par de intentos y no pude, desistí. Y finalmente tienes las tres letras del juego de barcos, que nunca me habían tocado las pelotas tanto en un juego. Hacen parecer los insultos del League Of Legends en halagos y admiraciones.

Una vez te activan la carpeta sales del centro de salud sin tener la contraseña completa, ya que te mandan la contraseña al móvil y el nombre de usuario y el juego de barcos al mail. Por supuesto todo a destiempo, pero eso da igual, no lo quieres al momento y es cuestión de menos de 30 minutos.

La carpeta esta muy bien, y funciona a la perfección, obtienes los análisis a los 5 días de hacértelos los informes de los TAC/RM que te haces en 1 día, las consultas que vas a tener con opción de mandártelos a casa, pero cada vez que quiero entro este era el proceso que seguía debido al sistema que tenían planeado:

  1. Abro el correo y busco el nombre de usuario
  2. Miro en el móvil la contraseña
  3. Miro las letras que me piden
  4. Miro los números correspondientes para cada letra

Para más inri los programas de el formulario tiene deshabilitado la opción de auto completarlos, por lo que no se pueden usar complementos estándares para memorizar el usuario y el juego de barcos aunque sea, y solo tener que memorizar la contraseña. Por lo que para mi el acceder a la carpeta se convierte en un acceso de 4 pasos. Cuando en un sistema de registro habitual tienes un único paso y en cuentas seguras como las  bancarias te añaden un segundo paso, como tarjetas o contraseñas que te mandan a móviles, que son segundos pasos, pero “rapidos”.

Para el problema que tenia he llegado a una solución, no se si es la mejor o la más optima, pero es una solución: Usar GreaseMonkey, un addon de mozilla firefox, para ejecutar un script que te autocompleta los datos de la carpeta.

La solución se consigue de la siguiente manera (solo lo he probado en Mozilla Firefox):

1. Instalamos desde el buscador de addons/componentes de Firefox el componente GreaseMonkey.

Este paso nos añadirá el componente GreaseMonkey a nuestro navegador, (una cara de un mono a la derecha y arriba de nuestro navegador).

2. Añadimos un nuevo script:

Para ello nos dirigimos al menú de GreaseMonkey, la cara de mono  nueva que nos ha salido, y seleccionamos la quinta opción “new user script”/”nuevo script de usuario”/… según el idioma en el que tenemos y nos saldra una ventana parecida a esta:

new1

Rellenamos los dos primeros campos con lo que nos plazca, el primero es el nombre del script, y el segundo el namespace en el que trabaja, para el script que vamos a crear el namespace no es importante y el nombre es como lo identificaremos, por lo que cada uno que lo ponga como quiera.

OK, para finalizar.

3. El script.

Después de dar al OK aparecera otra ventana para escribir directamente el script, una ventana parecida a esta:

script

En esta ventana es donde se tendrá que escribir nuestro script, si sabes de javascript poco hay que explicarte de lo que tienes que hacer a partir de ahora, pero sino estos son los siguientes pasos, primero copia la siguiente plantilla a la ventana que te ha salido (da igual que se elimine lo que este en la ventana o lo copies después del contenido):

var erabiltzailea = "I0000231";
var pasahitza = "12345678";
var itsas = ["A","B","D","E","F","G","H","I","J","K","L","M","N","O","P","R"];
var numitsas = [1,2,3,6,4,5,6,7,1,2,3,4,5,6,1,2,3];
var inputs, index;
inputs = document.getElementsByTagName('input');
for (index = 0; index < inputs.length; ++index) {
if(inputs[index].name == "numJuegoBarcos")
inputs[index].value=erabiltzailea;
else if(inputs[index].name == "clave")
inputs[index].value=pasahitza;
else if(inputs[index].name.indexOf("valorClavesAdicionales") != -1){
inputs[index].value=numitsas[itsas.indexOf(inputs[index].name[inputs[index].name.indexOf("\[")+1])];
}
}

Una vez que este todo copiado (y puedes editarlo) tienes que hacer los siguientes cambios: tienes que poner (por ultima vez), tu usuario, contraseña y el juego de barcos. Para ello tienes que editar las primeras lineas del código:

Despues de erabiltzailea pondremos nuestro usuario entre comillas, en nuestro caso esta puesto I0000231, vosotros ponéis el vuestro. En pasahitza, vuestra contraseña. La parte más “difícil” de editar viene en la sección de los barcos, la variable itsas hay que dejarla supuestamente como esta, pero no esta mal que reviséis que las letras están en orden, como en vuestro “juego”. y en la variable numitsas ponéis con la misma estructura, entre [ ] y separado por comas  los números de cada letra en el mismo orden.

var erabiltzailea = "I0000231";
var pasahitza = "12345678";
var itsas = ["A","B","D","E","F","G","H","I","J","K","L","M","N","O","P","R"];
var numitsas = [1,2,3,6,4,5,6,7,1,2,3,4,5,6,1,2,3];

3.1 Cuestiones de seguridad:

El script almacena todo los datos en texto plano, por lo que tiene seguridad cero. Cualquiera que acceda a tu ordenador y ver el script puede acceder a los datos y si quiere a la carpeta de salud. Por lo que si quieres añadirle seguridad puedes hacer varias cosas, dejar algún campo vació, principalmente el de la contraseña, así tendrás un campo oculto y cualquiera que acceda al script le faltara un dato para poder acceder a la carpeta, y memorizar una contraseña no es tan complicado.

También para los mas quisquillosos existe la opción de encriptar el código, pero yo no he entrado hasta este punto. Si alguien quiere aportar algo sobre el tema, bienvenido sea.

4. Para finalizar hay que decirle al script que se ejecute en en la web que deseamos, en nuestro caso la web de la carpeta de salud de Osakidetza.

En este paso tenemos que acceder a la siguiente ventana de configuración de GreaseMonkey, a la cual se puede acceder de distintas maneras, la más rápida con la cuarta opcion “Manage user scripts” de GreaseMonkey, ahi tendremos todos nuestros scripts activos, entre ellos el script creado recientemente, con el nombre que hemos puesto. Le damos a preferencias y en la ventana que nos sale, en la primera pestaña, en el primer boton a la derecha le damos a add/Añadir. Finalmente nos quedara una coleccion de ventanas como esta:

addon

En al ultima ventana que nos sale tenemos que poner el url donde queremos que se ejecute nuestro script, yo tengo puesto este:

https://micarpetasalud.osakidetza.net/b65CarpetaSaludWar/login/inicio*

pero si preferis podeis poner tambien este otro, u otro que os guste más:

https://micarpetasalud.osakidetza.net/*

El asterisco es para que nos acepten todas las paginas que tengan como base la url que indicamos y también ejecute el script en el resto. En el caso de la carpeta de salud esta en dos idiomas, el login tiene varias opciones que añade después del url de incio por lo que el asterisco nos permite que nuestro script se ejecute en las paginas de las dos idiomas. En el caso del url más pequeño, es para que se ejecute en casi todas las paginas de la carpeta de salud entre ellos el del login, esto nos puede prever de algún cambio de url repentino, cosa que no creo que pase.

Y por arte de magia el formulario sera rellenado correctamente y la flota de barcos hundida para nuestro beneficio.