«Producir y nutrir,
producir y no poseer,
obrar y no retener,
acrecentar y no regir,
son el misterio de la vida.»
-
Wikiturismo
¡Oh! Casi me olvido: hemos empezado una nueva línea de trabajo para promover el turismo cultural y desestacionalizado trabajando en la mejora de los contenidos descriptivos en Wikipedia de los diferentes lugares. Con todo el rigor wikipédico, por supuesto.
Le hemos hecho una web propia y todo: https://wikitourism.eu/.
Y, relacionado, en LaOficina hemos colaborado con Pukara para crear una aplicación web ligera para «turismo inteligente» que reutiliza contenidos Wikimedia relacionados con tu localización. Es la primera prueba de concepto, pero nos emociona todo el potencial que propone: Cicerone.Guide. La aplicación es operativa y puede usarse en cualquier parte del mundo. La cantidad de información que ofrecerá dependerá de los contenidos disponibles en los proyectos Wikimedia, especialmente Wikidata, Wikimedia Commons y Wikipedia en español. Esperamos que de de sí mucho en el futuro.
-
Escuela de Wikicronistas
He tenido abandonada esta web un montón de tiempo. Han habido muchas razones pero no pienso entrar en ello. En cualquier caso he seguido haciendo cositas, sobre todo en el entorno Wikimedia. Precisamente un par de ellas son las que hemos denominado «Escuela de Wikicronistas»:
Escuela de Wikicronistas es un proyecto del Área de Cultura y Cine de la Diputación Provincial de Almería realizado por la asociación La Oficina Producciones Culturales en el que trabajamos visitando municipios para mejorar la calidad y contenidos de sus artículos en eswiki y promoviendo la implicación ciudadana en el proyecto, para convertirse en parte activa del mantenimiento y ampliación de los artículos y custodios de la información, y de paso demostrando en la práctica la capacidad directa de intervención en los procomunes digitales más importantes del mundo, con impacto local y global tanto en el área cultural como económica.
Se han realizado dos ediciones (2021 y 2022) y estamos a la expectativa de la tercera, aún sin confirmar. Por lo pronto acabo de habilitar en el Wikimedia Outreach Dashboard una «campaña» donde quedan publicadas las estadísticas de actividad de ambas ediciones: Programa de «Escuela de Wikicronistas».
Los resultados finales son en parte discutibles, pero tanto Diputación como nosotros hemos quedado bastante satisfechos.
Veremos si me animo a escribir más por aquí.
Créditos de la imagen: (Ismael Olea )
-
Now I am a member of the The Document Foundation
Well, it took me some months to tell it here but The Document Foundation has honored me admitting my membership request:
Dear Ismael Olea,
We are pleased to inform you that, as of 2020-01-01, your membership has been officially filed. You are now acknowledged as member of The Document Foundation according to its bylaws.
Kind Regards,
The Document Foundation Membership Committee
Little things that makes you a bit happier. Thank you!
-
Freeplane now published at Flathub
As I advanced in April the Freeplane mind mapping software is now accepted and published at Flathub: https://flathub.org/apps/details/org.freeplane.App.
.
Freeplane is a Mind Mapping, Knowledge Management, Project Management. Develop, organize and communicate your ideas and knowledge in the most effective way.
Freeplane is a fork of Freemind and it is in active development. Now it’s ready for install in any Linux system with just point’n’click through, for example, GNOME Software or any other flatpak compatible software installation manager.
.
Enjoy!
-
Cuáles son todas las localizaciones (l10n) de la lengua española
Un repaso esquemático en beneficio de Recursos Lingüìsticos Abiertos del Español (RLA-ES) y su corrector ortográfico.
Hace tiempo me interesé por cuál sería realmente el funcionamiento de los sistemas de localización de software, en particular los usados en el mundo Linux y software libre. En particular por su relación con el corrector ortográfico para el español que mantiene el proyecto RLA-Es desde hace años y que es el más usado universalmente en nuestro mundillo en toda clase de sistema operativo. Empecé a recopilar datos pero realmente no fueron más que una madeja inconexa que ahora me propongo organizar.
Espero ser tan sintético como claro.
- Cómo se identifican los códigos regionales de lenguas
- IETF BCP 47 Language Tags
- Language Subtag Registry - IANA
- M49 Standard
- Unicode Common Locale Data Repository (CLDR)
- Complitud del corrector RLA-ES
- Siguientes pasos
Cómo se identifican los códigos regionales de lenguas
Si bien han sido de uso normas como ISO 639 e ISO 3166 mi conclusión es que la referencia mundial hoy día es el Unicode Common Locale Data Repository (CLDR), mantenida por el Unicode Consortium y de uso generalizado.
The Unicode CLDR provides key building blocks for software to support the world’s languages, with the largest and most extensive standard repository of locale data available. This data is used by a wide spectrum of companies for their software internationalization and localization, adapting software to the conventions of different languages for such common software tasks.
El CLDR, que usa como herramienta de trabajo un repositorio en Github, publica revisiones del mismo, la última es la CLDR 37 que están disponibles para descarga pública.
Gran parte del mérito del impacto del CLDR en el software actual es porque está implementado en las bibliotecas de software ICU, disponiles para C, C++ y Java, publicadas con licencia libre y usadas por todo el mundo y por toda clase de plataformas software. ICU se mantiene desde http://icu-project.org/. Es muy probable que en este mismo momento estés usando aplicaciones que implementan CLDR porque usan las bibliotecas ICU.
Los datos especificados son enormes y exhaustivos para cubrir todas las lenguas registradas. En nuestro caso sólo atenderemos referencias al español y sus variantes.
A su vez el CLDR implementa normas de las que veremos algún breve detalle:
IETF BCP 47 Language Tags
BCP 47 es la especificación de códigos de lenguas usada por CLDR. Está compuesta por dos RFC concatenados:
y aplicando el IANA Language Subtag Registry.
Al parecer se considera más exacta y práctica que las definiciones de ISO 639 e ISO 3166.
Language Subtag Registry - IANA
Es una lista que establece un código (que denominan subtag) por cada lengua registrada.
Puede examinarse el contenido completo del registro de subetiquetas de lenguas: IANA Language Subtag Registry
Seleccionamos las relacionadas con el español:
%% Type: language Subtag: es Description: Spanish Description: Castilian Added: 2005-10-16 Suppress-Script: Latn %% Type: language Subtag: osp Description: Old Spanish Added: 2009-07-29 %% %% Type: language Subtag: spq Description: Loreto-Ucayali Spanish Added: 2009-07-29 %% Type: variant Subtag: spanglis Description: Spanglish Added: 2017-02-23 Prefix: en Prefix: es Comments: A variety of contact dialects of English and Spanish %% Type: redundant Tag: es-419 Description: Latin American Spanish Added: 2005-07-15
En el corrector ortográfico RLA-ES estamos usando:
%% Type: language Subtag: es Description: Spanish Description: Castilian Added: 2005-10-16 Suppress-Script: Latn
Y descubro otra subtag que podría ser de interés:
%% Type: redundant Tag: es-419 Description: Latin American Spanish Added: 2005-07-15
Consideraciones:
- Hay más registros relacionados con diferentes lenguas de signos hispanas que están fuera del alcance del corrector.
- También hay otros registros de lenguas de países hispánicos diferentes al español que también están fuera del alcance.
M49 Standard
¿Cuál es el origen del código 419? Está definido en el Standard country or area codes for statistical use (M49) y asignado a la región geográfica Latinoamérica. Exactamente:
América Latina y el Caribe 419 No sé cuál es la necesidad práctica de una variante sencillamente porque no la he investigado, pero teniendo en cuenta que está definida como Type: redundant no parece que sea extremadamente prioritaria.
Unicode Common Locale Data Repository (CLDR)
Para nuestro caso examinaremos el contenido del paquete cldr-common-37.0.zip.
Nuestro objetivo es identificar exactamente todos los códigos l10n de lengua española reconocidos para diferentes territorios:
$ ls core/common/main/es*
common/main/es_419.xml common/main/es_HN.xml common/main/es_AR.xml common/main/es_IC.xml common/main/es_BO.xml common/main/es_MX.xml common/main/es_BR.xml common/main/es_NI.xml common/main/es_BZ.xml common/main/es_PA.xml common/main/es_CL.xml common/main/es_PE.xml common/main/es_CO.xml common/main/es_PH.xml common/main/es_CR.xml common/main/es_PR.xml common/main/es_CU.xml common/main/es_PY.xml common/main/es_DO.xml common/main/es_SV.xml common/main/es_EA.xml common/main/es_US.xml common/main/es_EC.xml common/main/es_UY.xml common/main/es_ES.xml common/main/es_VE.xml common/main/es_GQ.xml common/main/es.xml common/main/es_GT.xml
No vamos a examinar los contenidos, pero cualquiera interesado puede descargarlos y examinarlos.
La lista exacta de códigos se puede obtener fácilmente:
$ ls common/main/es* | sed "s/.*\///g"|sed "s/.xml//g"|sort
es es_419 es_AR es_BO es_BR es_BZ es_CL es_CO es_CR es_CU es_DO es_EA es_EC es_ES es_GQ es_GT es_HN es_IC es_MX es_NI es_PA es_PE es_PH es_PR es_PY es_SV es_US es_UY es_VE
Para obtener exactamente la lista, en español, de etiquetas de regiones podemos usar:
$ for a in `ls common/main/es* | sed "s/.*es_*//g"|sed "s/.xml//g"|sort` ; \ do grep "<territory type=\"$a\">" common/main/es.xml ;done
subetiqueta región 419 Latinoamérica AR Argentina BO Bolivia BR Brasil BZ Belice CL Chile CO Colombia CR Costa Rica CU Cuba DO República Dominicana EA Ceuta y Melilla EC Ecuador ES España GQ Guinea Ecuatorial GT Guatemala HN Honduras IC Canarias MX México NI Nicaragua PA Panamá PE Perú PH Filipinas PR Puerto Rico PY Paraguay SV El Salvador US Estados Unidos UY Uruguay VE Venezuela Complitud del corrector RLA-ES
Cuál es, en comparación, el estado de complitud del corrector ortográfico RLA-ES:
subetiqueta región hunspell-es es_419 Latinoamérica ✗ es_AR Argentina ✔ es_BO Bolivia ✔ es_BR Brasil ✗ es_BZ Belice ✗ es_CL Chile ✔ es_CO Colombia ✔ es_CR Costa Rica ✔ es_CU Cuba ✔ es_DO República Dominicana ✔ es_EA Ceuta y Melilla ✗ es_EC Ecuador ✔ es_ES España ✔ es_GQ Guinea Ecuatorial ✗ es_GT Guatemala ✔ es_HN Honduras ✔ es_IC Canarias ✗ es_MX México ✔ es_NI Nicaragua ✔ es_PA Panamá ✔ es_PE Perú ✔ es_PH Filipinas ✔ es_PR Puerto Rico ✔ es_PY Paraguay ✔ es_SV El Salvador ✔ es_US Estados Unidos ✔ es_UY Uruguay ✔ es_VE Venezuela ✔ es genérico ✔ codificado como es-ANY Vista la cantidad de regiones cubiertas podemos decir que el estado del proyecto es bastante satisfactorio. Algunos comentarios:
- Sobre la cobertura de regiones parte de España no apreciamos ninguna necesidad de preparar diccioanrios para «Ceuta y Melilla» y «Canarias», puesto que en el último caso deberían estar cubiertas por es_ES.
- En el caso de «Brasil» y «Belice»… aquí no somos capaces de formular una opinión. El español no es lengua oficial en ambos países y no tenemos ni idea de qué cantidad de población significativa podría necesitar de una versión localizada del corrector.
- En cambio en «Guinea Ecuatorial» el español sí es lengua oficial. Sería la única nación-estado con lengua oficial para la que no disponemos de corrector localizado.
- El caso de la región «419» podría ser interesante de ser discutida con los miembros del proyecto para saber si sería conveniente algún cambio o acción particular o si los productos actuales son suficientes.
Siguientes pasos
Una vez que están claras cuáles son las etiquetas de lenguas normalizadas parece apropiado verificar la compatibilidad de al menos las aplicaciones más populares. Veremos a ver.
-
Recent activity on Flatpak: video workshop and new bundles
Past days have been very flatpaky to me and productive enough for creating some new material.
A Flatpak getting started video tutorial
Joining my mates at HackLab Almería, who took the initiative of a set of video talks supporting the #YoMeQuedoEnCasa initiative fighting against the boredom COVID-19 confinement in Spain (thanks Víctor), I felt ready enough to give a talk about guerrilla Flatpak packaging using as examples my work on recent bundles:
Talk is in Spanish. If interested you can ask or comment at the HLA forum entry. The recording quality is not good enough: it’s the first time I record a talk with the amazing OBS application. It’s not a great work but it does the job.
JClic published at Flathub
I’m very happy to announce the JClic educative opensource application it’s now published at Flathub! This is relevant because the Clic project has been developed for more than two decades, it’s being used by teachers of all the world and has more than 2500 educative activities published.
Other Flatpak bundles in the works
As I’m getting experience with Flatpak and java apps I’m preparing other ones I think they deserve to be really widespread:
- Freeplane, a mindmaping fork of Freemind, waiting to be approved by Flathub;
- OmegaT, the best opensource professional CAT tool, waiting some feedback from upstream before nominate it to Flathub;
- Archi, the leading opensource Archimate enterprise architecture modeling tool, waiting for upstream feedback too;
- and providing some technical support to my friend Jesús Marín who’s packaging TLA+ Toolbox.
Hope all of these will be published at Flathub at some moment.
Enjoy!
-
OmegaT packaged with Flatpak
It took me a while since I announced I retired OmegaT from Fedora and my first try to deploy it with Flatpak and, I hope, Flathub. There were some reasons:
- I was completely new to Flatpak,
- the big amount of work to write the manifest of a non trivial application compiled completely from scratch,
- the complexity at that time of working with Java and Flatpak.
Well, it has been time to resume the task. I’m not really an OmegaT user (I’ve used it just a few times in all these years) but I feel committed helping it to be better known and used in the Linux Desktop. In the past I made a lot of work with technical translations and I fully understand the power of the tool for profesional users and it’s opensource: as far as I know OmegaT is the best CAT (Computer Assisted Translation) opensource tool in the world.
So I’m here again and did some work for a final product. Today the work is a lot of easier because the existence of the OpenJDK Flatpak extension (see this update from Mat Booth). Thanks for this extension! It’s so nice I’m finishing other two java programs to be published at Flathub: Freeplane and JClic. For this release series I’m taking the easy way of packaging the binary portable bundle instead of compiling from sources because… it’s tedious. I am concerned it’s not the best practice. And this time I’ve started from a more recent version beta 5.2.0.
I invite you to give it a try and provide some feedback if any. Some details:
- install it:
- $ wget https://dl.bintray.com/olea/org.omegat.App.flatpak (about 170Mb);
- $ flatpak install --user org.omegat.App.flatpak
- a merge request at upstream for moving the XDG metadata resources;
- it will be using org.freedesktop.Sdk.Extension.openjdk11, the LTS OpenJDK extension at Flathub.
Remember when you install a Flatpak package it is fully self-contained, you don’t need to install anything more (in this case the JRE is included in the bundle) and it’s isolated from the rest of the desktop so you’ll be able to keep an install indefinitely without worrying it will broke on any operating system update.
Remember too you could install this bundle in any modern Linux desktop. The only requirement is to have Flatpak installed, as more recents versions of Linux are.
Next steps:
- finishing a final manifest to propose to Flathub in a couple days or so, which will be, as far as I am concerned, the main publishing site of the Flatpak bundle; when in Flathub any user could install it pointing and clicking as in any other app store;
- getting accepted at upstream my minor contributions, basicaly metadata;
- extending the bundle with some of the most popular OmegaT extensions and dictionaries;
- and eventually rewrite the manifest for compiling from sources.
Hope you’ll find it useful.
PD: fixed how to install the package from CLI and changed a couple times the downloading URL :-/
-
Mapas fronterizos de España y sus comunidades autónomas
Hace unos días expliqué un método para descargar mapas fronterizos a partir de OpenStreetMap. El interés era crear unos mapas de las comunidades autónomas españolas que una compañera de WMES necesitaba para sus clases en la universidad. Así que una vez que he sabido cómo he aprovechado para prepararlos.
Aquí pues está disponible el mapa de bordes fronterizos de España y sus comunidades autónomas para vuestro uso y disfrute.
Los datos están licenciados según las indicaciones de copyright de OSM:
© Colaboradores de OpenStreetMap Los datos están disponibles bajo la licencia Open Database License (ODbL).
A partir de ahí podéis disponerlo con toda libertad.
Cómo usar el mapa
Se pretende que casi cualquier persona con conocimientos básicos de ofimática pueda usarlos. Una rápida explicación de cómo:
- El mapa está compuesto por varias capas: una por cada autonomía y ciudad autónoma y otro con los bordes fronterizos de España.
- Observaréis que las fronteras del país incluyen una parte marítima: son los límites legales de las aguas territoriales.
- Para vuestro proyecto hay que abrir el fichero completo, con todas las capas. Si sólo necesitáis alguna de las capas podéis desactivar o eliminar las demás.
- El fichero está en formato KMZ y debería poder abrirse con casi cualquier software que trabaje con mapas. En este caso ha sido compuesto con Google Earth Pro, software multiplataforma disponible gratuitamente.
- ¿Puedo usar el mapa en Google Maps? En teoría sí porque técnicamente es compatible pero el tamaño es mayor del permitido, así que no puedes importar el mapa completo. Pero si sólo necesitas parte del contenido basta editarlo con aplicación, por ejemplo el mencionado Google Earth, y exportar solamente las capas precisas a un fichero y a su vez importarlo a un mapa en My Maps.
Obviamente si trabajas directamente con datos de OSM no necesitarás este mapa.
Disfrutadlo con salud.
-
How to create border maps for your projects
When working with data projects it is usual to use administrative maps. In my experience is not trivial to find the cartographic files as open access or opensource data sources, so after some search I found a method to create an ad-hoc map for any administrative region coded into OpenStreetMap. It’s not a trivial method but it is no as complex as it seems at first sight. I’ll try to introduce the essential concepts to easy understand the recipe. If you know other methods as good or better than this please give me some feedback.
I used this method with geodata for Spain so I guess it works with any other administrative region coded in OSM.
First you need to know an OpenStreetMap concept: the relation. In our case we’ll use multipolygon relations, used to code the borders of areas of our interests. The important thing to remember here is you are going to use an OSM relation.
Second you’ll want to select the region of your interest and you’ll need to figure out how it has been mapped in OSM. So you need to find the related OSM relation. As example I’ll use Alamedilla, my parents’ town in the province of Granada, Spain.
the method
Go to https://www.openstreetmap.org and search for the region of your interest. For example Alamedilla:
Click to the correct place and you’ll see something like this:
Look at the URL box at the browser and you’ll see something like this: https://www.openstreetmap.org/relation/343442. The code number you need for the next steps is that one in the URL after the relation keyword. In this example is 343442.
Then visit the to overpass turbo service, a powerful web-based data query and filtering tool for OpenStreetMap:
The white box at left is where you write the code of your query for Overpass. You have a wizard tool in the menu but it’s not trivial too. Instead you could copy exactly this code:
[out:json][timeout:2500]; ( relation(343442)({{bbox}}); ); out body; >; out skel qt;
In your case you need to change the 349044 number (used for the Alamedilla’s example) with the relation number you got before. If you modify the query keep in mind the default timeout (25) maybe is not enough for your case.
Now, clicking the Run button you’ll execute your query. Keep in mind the resulting data set could be really big, depending how big the area is.
So, here it is:
Zoom the map to have a better view:
Now you’ll find the resulting data set in GeoJSON format ready at the Data tab (right side). If this format is fine for you you are done. But if you need some other you are lucky enough because when clicking into Export button you’ll find some other formats to export: GPX, KML and OSM data.
In this example we’ll use the KML format used by Google Earth, Maps and many others.
importing into Google Earth
Open Google Earth:
and open our kml file: [File][Open]:
and here it is:
Note: I modified the color (at the object properties) to make it more visible in the screenshot.
So, it is done. Now you can use the kml file in your application, import to any GIS software or convert to another format if required.
importing into Google Maps
Go to Google MyMaps and create a new one. Import a new layer an select your kml file:
Here it is:
conclusion
Now you are able to create maps of any region added into OpenStreetMap, export them to any of the said formats and import into your applications. Hope this helps.
If you finally use data from the OSM project remember to add the correct credits:
We require that you use the credit “© OpenStreetMap contributors”.
See credit details at osm.org/copyright.
This is an example of how AWESOME OpenStreetMap is and the extraordinaire work these people does. Big thanks to all of the contributros for these impressive service.
-
«Chris stared out of the window», a theological tale
My English class. You should write an story starting with 🙶Chris stared out of the window waiting for the phone to ring🙷. Let’s do it.
Chris stared out of the window waiting for the phone to ring. He looked into the void while his mind wandered. Time is passing, but it is not. For an eternal being all time is present, but not always is time present. The past, the future are just states of mind for an overlord. But he is still waiting for the phone to ring. Time is coming. The decision was made. It had always been made, before time existed indeed. Chris knows all the details of the plan. He knows because he is God too. He knows because he conceived it. No matter if he had been waiting for the starting signal. No matter if he expects the Holly Spirit to announce it to him. You can can call it protocol. He knows because he had decided how to do it. But Chris doubts. He is God. He is Holly Spirit. But he has been human too. The remembrance of his humanity brings him to a controversial state of mind. Now he doubts. He has been always doubting since the world is the world and before the existence of time. And after too, because he is an eternal being. He now relives the feelings of being a human. He relives all the feelings to be all the humans. He revisits joy and pain. Joy is good, sure. But joy is is nothing special for an overlord god. But pain… pain matters for a human — and Chris has been a human. Chris knows. Chris feels. Chris understands how sad human life can be. Chris knows because he is the Father creator. He created humans. He knows how mediocrity drives the character of all the creatures privileged with consciousness. A poisoned gift. He knows how evil is always just an expression of insecurities, the lack of certainty of what will happen tomorrow. What will happen just the next second. 🙶Will I be alive? Will be the pain still exists?🙷. He knows because he feels. And he doubts because he feels. He feels it can’t be fair to judge, to condemn, to punish a living being because it was created in that way. This would not be the full of love god the Evangelists announced. How could he punish for a sin he was the cause of. But, if not, can it be fair to all the others who behave according the Word. All of those, maybe with love, maybe will pain, maybe just for selfishness, fulfilled God’s proposal of virtue and goodness. How can not distinguish their works, to award their efforts. How can it be fair. How can he be good. His is the power and the glory. He is in doubt. The phone rings.