https://paquita.masto.host/polkillas

El masculino plural genérico mal entendido

La respuesta a este tuit del cipotudo Soto Ivars revela el problema lingüístico real que ha existido siempre con el masculino genérico. El autor del tuit se refiere a niños y niñas, mientras que el machista que responde lo ha entendido sin tener en cuenta a las niñas. Por eso se lo teme, porque si pensara en las niñas seguro que no le parecería mal que dibujen muñecas y vestiditos (ay, también, ese diminitivo despectivo…).

No me acaban de convencer ninguna de las soluciones a este problema. La más cercana a lo que los filólogos llamaban antes «el genio de la lengua» creo que sería el morfema -e , pero ni me gusta mucho ni creo que cuaje. Y creo que es una solución española porque ya tenemos tres géneros: masculino, femenino y neutro: este/a/o, así que tener un cuarto género [+ animado – masculino -femenino] no sería el fin del mundo. Pero, evidentemente, la discusión sobre este tema no es nunca lingüística, y pocas veces sociolingüística.

Nextcloud 19 en la Raspberry Pi. 1 Pasos previos

Se me ha corrompido la tarjeta SD de la Raspberry y llevaba un tiempo sin hacer copia de seguridad, así que me va a ser más sencillo empezar desde 0 que intentar recuperarla. Para poner al mal tiempo buena cara, aprovecharé para actualizar mi tutorial de instalación.

Cables y conexiones

La Raspberry necesita unas cuantas cosas para poder arrancar:

  • Cable miniUSB de carga de al menos 2V. Ojo, que no todos los cargadores de móviles valen, aunque sean miniUSB, por el voltaje. Una vez se me estropeó este cable y provocaba apagones aleatorios de al Raspberry, merece la pena utilizar uno bueno, que dure.
  • Cable de red Ethernet o adaptador wifi USB para tener red.

Puesto que vamos a usar la Raspberry como servidor Nextcloud, necesitamos mucho espacio de disco duro. Aunque ya hay tarjetas SD de por lo menos 128 Gb, es preferible tener un disco duro externo y conectarlo. Si tienes un disco externo que no necesite carga, sería ideal, pero como no suele ser el caso también viene bien un concentrador (hub) USB que dé carga y, a ser posible, con USB 3.0 para que vaya más rápido. Yo uso uno de Amazon Basics.

También es recomendable tener un teclado y ratón USB, no valen los antiguos PS2, y un cable HDMI para conectarla a un monitor. Los usaremos solo la primera vez que arranquemos la Raspberry, pero sin ellos no podremos continuar.

Preparación de Raspberry Pi OS

Si queremos empezar desde cero nuestro servidor, la opción más sencilla es descargar el sistema operativo de la web de la fundación Raspberry. Después de haber probado varias opciones, no veo muchas ventajas a NOOBS, que es teóricamente el sistema más sencillo, así que recomiendo instalar Raspberry Pi OS (antes llamado Raspbian) directamente. Si te asusta que no haya un escritorio, puedes instalar la versión completa pero es preferible la versión lite porque gasta menos memoria, que queda libre para el resto de cosas que queramos instalar: servidor web, base de datos, servidor de búsqueda, reconocimiento óptico de caracteres, etc.

La forma más fácil para descargar cualquiera de las dos versiones es ir a la web que he enlazado antes, seleccionar Raspberry Pi OS (o ir directamente aquí) y pulsar en «Download ZIP». Puede ser incluso más rápido bajarlo por vía torrent pero para ello necesitamos un cliente como uTorrent en Windows o Transmission en Linux.

Una vez descargado, hay que descomprimir el archivo .zip: hacemos doble clic sobre él y, se abra lo que se abra, buscamos la opción «Descomprimir»; lo más sencillo, en el escritorio.

Una vez tenemos un archivo con extensión .img, hay que grabar esa imagen en una tarjeta SD de, al menos, 4 Gb. Se puede usar SDFormatter en Windows y Mac; y balenaEtcher en Windows, Mac y Linux.

Es fácil: abrimos SDFormatter, metemos nuestra contraseña si nos lo pide o pulsamos Sí y, en la ventana, seleccionamos «Option». Ahí cambiamos FORMAT SIZE ADJUSTMENT a ON por si acaso la tarjeta tuviera varias particiones. Varias letras (F:, G:), para entendernos. De esta forma las eliminamos y la tarjeta queda como nueva.

SD Formatter

La letra (G: en este caso) puee variar

La letra (G: en este caso) puede variar

Luego con el Win32DiskImager, algo parecido: metemos nuestra contraseña si nos lo pide o pulsamos Sí y, en la ventana, seleccionamos la tarjeta en la casilla Device (se puede comprobar la letra en el Explorador de Windows si no estamos seguros) y el archivo .img pulsando el icono de la carpeta.

Win32 Disk Imager

Por cierto, que si no tienes un portátil con adaptador SD, se puede comprar un adaptador USB por menos de un euro en Deal Extreme.

En balenaEtcher, el proceso es todavía más sencillo.  En el primer paso, seleccionamos el archivo que nos hemos descargado (en este caso, no hace falta descomprimirlo, balenaEtcher funciona con el zip) y en el segundo probablemente no tengamos que hacer nada si solo tenemos una unidad extraíble insertada. En caso contrario, selecciona la unidad que sea pulsando en «Change». Ojo con esto, que como seleccionamos el disco que no sea, lo vamos a borrar entero. Por último, pulsamos «Flash». Pedirá confirmación y/o la contraseña de administrador y se pondrá a la tarea.

Una vez ha concluido con éxito la copia del archivo .img a la tarjeta SD, llega el momento de insertarla en la Raspberry apagada y solo después de asegurarnos de que ha quedado bien insertada la arrancamos enchufando el cargador miniUSB y conectando con un cable HDMI la Raspberry a un monitor.

El sistema ya está instalado y, si hemos optado por la versión Lite, veremos esto.

arranque de Raspbian Lite

La imagen es de una versión anterior, pero sirve para hacerse una idea.

Puede asustar o, si tienes una edad, recordarte a los viejos ordenadores Amstrad, Spectrum o Commodore. La ventaja de no tener un escritorio es que se gasta mucha menos memoria. Pero si te decidiste por la versión con escritorio, lo único que tendrás que hacer en posteriores entradas es abrir la aplicación «Terminal» y escribir ahí los comandos.

Comillas españolas o latinas en Ubuntu (desde 18.04 hasta 19.10)

Truco rápido: para escribir las comillas españolas o latinas en Gnome, concretamente en Ubuntu desde la versión 18.04 LTS, solo hay que pulsar AltGr + Z para « y AltGr + X para ».

Click Control

Bla

Suscribirse a un calendario en el Cloud de Educamadrid

He creado un calendario en el Cloud de mi instituto para señalar las fechas más importantes y que quien quiera puedar consultarlo en el móvil. Sin embargo, hay un pequeño problema en Android que hay que solucionar antes de que podamos tener estas fechas (Puertas Abiertas, Evaluaciones, etc.) en el calendario del móvil.

El paso previo es instalar ICSx⁵. Es una pequeña app que nos permite suscribirnos a calendarios, que es lo que queremos hacer. Lo podemos encontrar en Google Play, donde cuesta 1,49 €, un precio pequeño para lo útil que es. Además, para los más manitas, se puede encontrar en F-Droid de forma abierta y gratuita. Puedes pulsar los botones a continuación para instalarlo.

ICSx⁵

Instalar ICSx⁵ desde Google Play

ICSx5 en F-Droid

Instalar ICSx5 desde F-Droid

Una vez hemos instalado esta app, podemos visitar el calendario del instituto. Puedes pulsar el enlace anterior o copiar y pegar la dirección en el navegador (Firefox, Chrome, etc.). Es esta: http://cloud.educa.madrid.org/index.php/apps/calendar/p/E8VP1UU913STRCFR/Instituto.

Al entrar, veremos esto:

Pulsamos en el botón «Suscribirse»  y se abrirá ICSx⁵, con la opción Suscribirse a calendario.

Pulsamos la flecha para avanzar y nos deja cambiar el nombre del calendario y el color con el que aparecerán los eventos en nuestro calendario. Cuando lo configuramos a nuestro gusto, pulsamos el tick de arriba a la derecha.

Es muy probable que nos aparezca un mensaje de error como el de la imagen a continuación.  Si la sincronización automática está desactivada, no tendremos los eventos del calendario. Para ello, debemos pulsar el botón de menú, los tres puntos de arriba.

    

En la ventana que aparece, basta con sincronizar una vez al día, aunque se puede poner el intervalo que se prefiera.

Cuando pulsemos Guardar, habremos terminado y podremos comprobar que ya tenemos en el calendario del móvil los eventos (por ahora, están solo las Jornadas de Puertas Abiertas, estamos todavía de pruebas).

Algunos archivos del curso

Podéis descargarlos en http://cloud.educa.madrid.org/index.php/s/uyVClNsQhGT18W9.

(Sin título)

Mi cabeza, un es cansado.
Mi corazón, un vosotros pleno.
Vuestra sonrisa, vuestros ojos claros
son mi foco en los días largos
de este verano que empezó
sin haber llegado aún.
Busco la combinación feliz
de una palabras que casen
de manera natural y extraña,
que casen para contar qué siento
al ver vuestras risas complementarias.
Gracias por ser, por estar
y por sonreír. Solo vosotras
sois mi vida.

Firefó Cuantun

Me hago mayor y ya no me entero de mis fricadas como antes. Cuando salió la versión Quantum de Firefox (la que llevaba el número 57 si no recuerdo mal) la extensiones pasaron un mal rato porque tuvieron que adaptarse a una arquitectura nueva. Entre ellas, alguna de mis favoritas, como NoScript, aunque finalmente se recuperaron. Y resulta que a estas alturas estoy descubriendo que con Quantum, las extensiones ya no necesitan una versión móvil, sino que se instala la misma que en escritorio. Y soy feliz con mi NoScript y con mis Contraseñas de Nextcloud, en el móvil. Mola.

Nextcloud 15 (10). Búsqueda de texto completo

Esta entrada supera los límites de las entradas anteriores. Hasta ahora, todo lo que hemos hecho en Nextcloud lo hemos podido hacer con nuestra Raspberrry Pi, pero esta característica supera sus capacidades.

La búsqueda de texto completo es una de las cosas más interesantes que puede hacer Nextcloud. Se trata de buscar texto. [Abucheos ante el chiste malo].

A ver, al instalar Nextcloud nos aparece en la barra de arriba una lupa con la que podemos buscar archivos, y en diferentes apps podemos buscar en sus contenidos (marcadores, RSS, etc.). Pero solo podemos buscar en los nombres de los archivos. Y cuando recordamos una frase del archivo pero no su nombre, ¿qué hacemos? Por ejemplo, más de una vez me ha pasado, preparando un examen, querer encontrar aquel examen en el que puse un texto concreto, pero no recuerdo en qué examen fue. Si busco «examen» me van a salir todos los exámenes que he ido preparando a lo largo del tiempo, pero no puedo buscar por las palabras del texto, con lo que me será muy difícil encontrar ese examen en concreto.

Sin embargo, con el ecosistema de apps de Búsqueda de Texto Completo, la lupa sí va a poder buscar en el contenido de los archivos. En el ejemplo, si busco «Ondas do mar de Vigo», no me buscará solo archivos que se llamen así (probablemente ninguno), sino que encontrará todos los archivos que contengan ese texto: una antología de textos de la Edad Media, un powerpoint en el que puse el poema y, por fin, el examen donde puse ese texto.

Lo malo de la búsqueda de texto completo es que es una función que exige mucho al servidor, está basada en Java y en mi instalación, que todavía no he completado, utiliza 1 Gb de memoria RAM. Y eso es más que la memoria disponible en cualquier modelo de Raspberry. Por lo tanto, he tenido que instalarlo en otro ordenador. Para estas pruebas estoy utilizando mi ordenador de sobremesa, aunque mi intención es dedicar mi viejo portátil Acer a esto.

Bueno, al lío. La instalación de la búsqueda de texto completo es la tarea más complicada que he conseguido hasta ahora en Nextcloud. Hace unos años, recién bifurcado Nextcloud de Owncloud, conseguí instalar la versión que había entonces, pero estaba basada en una tecnología diferente (Apache Solr) y cuando cambiaron a la actual (ElasticSearch) me superó la tarea y de vez en cuando he echado un vistazo para intentar encontrar qué hacía mal, pero hasta hoy 20 de marzo, después de haber sido padre, no he conseguido encontrar lo que hacía mal al instalar ElasticSearch.

Los pasos que he dado están sacados de la documentación oficial de ElasticSearch y de un blog que enlazaré después.

Lo primero es instalar un par de paquetes que permiten seguir las instrucciones, entre ellos la versión abierta de Java. Ojo, no en la Raspberry sino en el ordenador más potente en el que vamos a instalar ElasticSearch:

sudo apt-get install apt-transport-https curl net-tools openjdk-8-jre

A continuación añadimos el repositorio a APT:

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Descargamos  e instalamos la firma GPG para que apt no dé errores:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Actualizamos la información e instalamos ElasticSearch y Kibana. No tengo ni idea de qué es Kibana, esto es software complejo y su estructura me supera, pero parece que es necesdario.

sudo apt-get update && sudo apt-get install elasticsearch kibana

A continuación hay que instalar en ElasticSearch el «ingestment-plugin», que creo haber entendido se encarga de introducir en la base de datos lo que vamos a buscar después. Para ello vamos al directorio:

cd /usr/share/elasticsearch/bin

y ejecutamos esta orden:

sudo ./elasticsearch-plugin install ingest-attachment

Ahora podemos arrancar los servicios de ElasticSearch y Kibana y configurar que se ejecuten siempre al arrancar el ordenador:

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
sudo systemctl start kibana
sudo systemctl enable kibana

ElasticSearch está configurado para instalaciones inmensas distribuidas en varios servidores, de tal forma que cada conjunto es un clúster que se puede distribuir en nodos.  Ahora tenemos que configurar nuestra instancia con el nombre del clúster y del nodo que queramos, aunque nuestra instancia sea muy humilde. Editamos el archivo de configuración con

sudo nano /etc/elasticsearch/elasticsearch.yml

y buscamos cluster-name  (recuerda que en Nano el atajo de teclado para buscar es CTRL+W) y node-name. Descomentamos estas dos líneas eliminando la almohadilla (#) del principio y ponemos como nombre del clúster y del nodo lo que queramos:

cluster.name: nextcloud
node.name: nodonube

Por ejemplo. Guardamos y salimos, aunque después volveremos a este archivo, porque necesitamos un dato adicional. con el que llegamos ael paso que me faltaba. Por defecto, ElasticSearch está configurado para escuchar solo peticiones del ordenador/servidor en el que esté instalado. Puesto que en nuestro caso las peticiones las va a hacer la Raspberry, tenemos que cambiar esto. Para ello, podemos seguir los siguientes pasos.

En primer lugar, debemos descubrir cuál es la dirección IP del ordenador en el que hemos instalado ElasticSearch. Para ello ejecutamos ifconfig (que viene del paquete net-tools que hemos instalado al principio).

Dependiendo de si está conectado por wifi o por cable, cambiará. En mi ejemplo, está conectado al router por cable Ethernet y hay que mirar en la sección enp2s0, el apartido inet.

Con esta dirección IP de cuatro cifras, volvemos a editar la configuración de Elasticsearch con sudo nano /etc/elasticsearch/elasticsearch.yml. Buscamos el apartado network.host, lo descomentamos borrando la almohadilla y cambiamos la dirección por la que acabamos de encontrar.  También añadimos una nueva línea para indicar que Elasticsearch no solo escuche a su propio ordenador sino que acepte peticiones de otros servidores en la red porque, si no, la Raspberry no podrá utilizarlo.  Lo hacemos con network.bind_host: 0. Debe quedar así:

network.host: 192.168.0.XXX
network.bind_host: 0

Guardamos y salimos. Con esto ya tenemos configurado Elasticsearch. Ahora tenemos que ir a Nextcloud para configurar las apps de búsqueda.

Lo primero es instalarlas. Las que son obligatorias son tres: «Full text search»,  «Full text search – Elasticsearch Platform» y «Full text search – Files». Como en alguna ocasión anterior, cuando llegue la siguiente versión de Nextcloud, estos nombres deberían estar ya traducidos al español, gracias a un servidor. También podemos instalar el resto, para buscar en los marcadores (Bookmarks) y algo más complejo: extraer las palabras de los archivos en los que hay texto guardado como imagen (muchos pdf, por ejemplo, con «OCR».

Pulsamos «Descargar y activar» para cada app que queramos instalar. Como se puede ver, yo me he instalado todas, para probarlas.

Una vez instalados, debemos configurarlas. En el menú de configuración vamos al apartado de Administración y  seleccionamos «Búsqueda de texto completo».

 

En «General», indicamos como plataforma Elasticsearch. Se supone que en un futuro habrá otras plataformas, incluyendo la que se usaba en versiones anteriores de Nextcloud (Solr) pero por ahora solo hay una.  También marcamos la casilla.

En Elastic Search señalamos la dirección del servidor donde está instalado y añadimos el puerto (el estándar, como se ve, es el 9200, aunque se puede cambiar en la configuración de Elasticsearch). Le damos un nombre al índice y dejamos el tokenizador estándar, habría que cambiarlo para idiomas que sean más complejos.

En el resto de opciones dejo lo que he puesto yo, pero dependerá de lo que cada uno quiera conseguir con la búsqueda.

Me queda pendiente probar el OCR, pero por ahora estoy satisfecho con haber sido capaz de instalar y configurar esto. Seguiremos probando cosillas de Nextcloud cuando salga la inminente versión 16.

 

Lúa

Cargar más