dinsdag 28 juli 2020

Tampermonkey-userscript

Helemaal op het einde van het vorige artikel maakte ik gewag van een userscript dat ik heb gemaakt om de leesbaarheid van de resultatenlijsten van de Intersteno-internetwedstrijd te verbeteren. In dit artikel leg ik precies uit welke stappen je moet ondernemen om er gebruik van te maken.

Maar eerst even wat uitleg bij de bestaansreden van het script. Waarom heb ik het gemaakt, wat doet het precies, en wat is een userscript eigenlijk?

Zoals je in het vorige artikel al kon lezen, worden de resultatenlijsten standaard getoond binnen de ietwat beperkende lay-out van de Intersteno-website: de lijst verschijnt in een frame, in veel gevallen met eigen horizontale en verticale schuifbalk. Door de Ctrl- of Shift-toets ingedrukt te houden bij het klikken op de ‘continue’-knop kon je uit het frame ontsnappen en de lijsten in hun eigen webpagina bekijken, waardoor het raadplegen van de lijsten al een heel stuk comfortabeler verloopt.

Maar het kan nog beter. Er zijn een aantal aspecten aan de lay-out van de resultatenlijsten, waar ik me wat aan erger. Zeg nu zelf: zou de leesbaarheid van de tabellen niet aanzienlijk verhoogd worden door het om en om toepassen van verschillende achtergrondkleuren bij de rijen van de tabel? Zou het niet beter zijn wanneer kolommen met cijfergegevens rechts in plaats van links uitgelijnd worden? Zou het niet duidelijker zijn wanneer de inhoud van cellen die over meerdere regels lopen gewoon bovenaan in de cel staat in plaats van verticaal gecentreerd? En zou het niet netjes zijn wanneer de breedte van de kolommen altijd gelijk is voor de verschillende tabellen? En zo kan ik nog wel enkele puntjes opsommen die voor verbetering in aanmerking komen.

Welnu, dat kan allemaal. Het enige wat ik daarvoor moet doen, is mijn eigen CSS ontwerpen en toepassen op de webpagina’s met de resultatenlijsten.

Wie een klein beetje kennis heeft van webpagina’s, weet beslist dat een webpagina opgebouwd wordt uit drie belangrijke onderdelen. Het eerste en allerbelangrijkste onderdeel is de HTML-code, die bepaalt welke tekst er op de pagina komt en hoe de pagina opgebouwd wordt uit kopjes, alinea’s, tabellen, enz.

Het tweede onderdeel is de CSS-stijl, die het uitzicht van die elementen bepaalt (bv. lettertype, tekengroote, kleur, positie, uitlijning, enz.).

Het derde, optionele onderdeel is scripting. Scripting zorgt ervoor dat je webbrowser een bepaald script (programma) uitvoert op de webpagina. De populairste scriptingtaal is JavaScript. Zo’n script kan de pagina interactief maken of wijzigingen aanbrengen aan de HTML- en CSS-code.

Dat laatste is nu juist wat ik wil doen: ik wil de CSS van de webpagina met de resultatenlijsten wijzigen, zodat het er allemaal wat meer uitziet zoals ik zou willen.

Net als de HTML-code en de CSS-code wordt ook de JavaScript-code gemaakt door de ontwerper van de webpagina, in dit geval dus de webmaster van de Intersteno-site. Als gebruiker kun je daar normaal gezien niets aan veranderen, tenzij je gebruik maakt van de populaire browserextensie Tampermonkey. Die extensie laat je toe om zogenaamde userscripts te gebruiken. De meeste gebruikers maken deze userscripts niet zelf, maar downloaden ze van populaire websites als bijvoorbeeld OpenUserJS, waar ontwikkelaars hun scripts beschikbaar stellen voor iedereen die er gebruik van wil maken.

Dat is dus wat ik gedaan heb: ik heb een userscript ontworpen, geschreven in JavaScript, dat de CSS-code van de webpagina’s met de resultatenlijsten van de Intersteno-internetwedstrijd op een zodanige manier aanpast, dat ik precies het resultaat krijg dat ik voor ogen heb, en ik heb mijn userscript geüpload naar OpenUserJS.

Wil je mijn script gebruiken, dan moet je twee dingen doen. Allereerst moet je de browserextensie Tampermonkey installeren. Tampermonkey is de populairste userscriptmanager en is beschikbaar voor alle populaire browsers: Chrome, Firefox, Microsoft Edge, Safari en Opera Next. Hoe je een browserextensie installeert, hangt af van je browser. Tampermonkey maakt het je makkelijk: klik op de Tampermonkey-homepage op de tab met de naam van je webbrowser, en klik vervolgens op de ‘Download’-knop. Meteen daarna kom je terecht op de webpagina met de beschrijving van de extensie en een knop waarmee je de extensie aan je browser kunt toevoegen.

Eenmaal Tampermonkey geïnstalleerd, kun je userscripts toevoegen. Mijn userscript staat op OpenUserJS. Als je daar in het zoekvak ‘Intersteno’ intypt, kom je vanzelf bij mijn script uit. Je kunt mijn script, dat de naam Intersteno_Internet_Results draagt, ook rechtstreeks vinden via deze link.

Heb je mijn script gevonden? Klik dan op de blauwe ‘Install’-knop om het script te installeren. Je krijgt eerst nog een pagina met wat extra informatie én met de volledige broncode van het script. Op die pagina moet je nog eens op ‘Install’ of ‘Installeren’ klikken om het script effectief te installeren.

Vóór je om het even welk script installeert, bekijk je best even de broncode, zodat je precies kunt nagaan wat het script doet. Niet alle userscripts zijn even betrouwbaar, dus je bent gewaarschuwd! Een betrouwbaar script bevat geen obscure code waarvan moeilijk te achterhalen is wat het precies doet, doet geen dingen die je totaal niet verwacht, en is voldoende gedocumenteerd. Dat laatste betekent dat tussen de computercode door commentaren staan die toelichten wat elk stukje van de code doet.

Wanneer je zowel Tampermonkey als mijn userscript geïnstalleerd hebt, zul je merken dat de resultatenlijsten er heel wat aantrekkelijker uitzien. Het script wordt automatisch uitgevoerd op de resultatenpagina’s op https://org.intersteno.it/* en heeft geen enkele invloed op andere webpagina’s die je bezoekt. Via het Tampermonkey-menu kun je het script te allen tijde naar believen in- of uitschakelen. Is het script uitgeschakeld, dan krijg je de originele pagina met de originele CSS te zien; is het script ingeschakeld, dan zie je de aangepaste versie.

Je zult de aanpassingen meteen merken. Ze werken zowel wanneer je de resultatenlijsten op de klassieke manier bekijkt (d.w.z. in het frame van de Intersteno-website) als in hun eigen browservenster of -tab. In het frame heb je nu alvast het voordeel dat de horizontale schuifbalk verdwenen is en dat er aan de rechterkant geen deel van de tekst ontbreekt. (Als dat niet het geval is, dan heb je hoogstwaarschijnlijk te veel ingezoomd. Zoom uit om de tekst wat te verkleinen.) In een eigen venster of tab zul je merken dat de tabel nu de volledige breedte van je browservenster inneemt (in plaats van 80%). Vind je dat te breed (wanneer je een extra-brede monitor gebruikt), maak het venster dan wat smaller.

Het is mogelijk dat je bij het laden van de webpagina eerst voor korte tijd de originele lay-out ziet, maar al snel zul je merken dat de aanpassingen toegepast worden. Bij de korte tabellen gaat dat heel snel, maar bij de lange tabellen duurt het wat langer. Dat komt doordat je browser aanvankelijk de volledige webpagina laadt, er de originele CSS-stijlen op toepast en pas daarna het userscript uitvoert. Het laden en renderen van pagina’s met grote tabellen neemt altijd wat meer tijd in beslag.

Lukt het niet of heb je nog vragen, dan mag je mij uiteraard hierover contacteren.

Zoals je al gemerkt hebt, is de broncode van mijn userscript gewoon door iedereen te bekijken en te downloaden. Wat erin staat, is geen groot geheim. Heb je suggesties voor verbeteringen of aanpassingen, dan mag je mij die altijd bezorgen. Ben je niet helemaal tevreden met mijn aanpassingen en denk je dat je het zelf beter kunt? Dan staat het je natuurlijk volkomen vrij om je eigen userscript te ontwerpen, volledig volgens je eigen smaken en wensen. Als je je daarbij laat inspireren door mijn userscript, dan verwacht ik wel dat je mij toevoegt als contributor in de header van je userscript. Je kunt dat doen door volgende regel op te nemen:

// @contributor Geert Bonte (https://openuserjs.org/users/gebo007)

Mijn script is vrij te gebruiken onder de MIT-licentie. In het kort komt het hierop neer: je mag met mijn script doen wat je wil zolang je er diezelfde licentie op toepast, en ik ben op geen enkele manier aansprakelijk voor de eventuele gevolgen.

Succes ermee en veel plezier met mijn Tampermonkey-userscript!

openuserjs.org/scripts/gebo007/Intersteno_Internet_Results
org.intersteno.it/page.php?id_primario=47&id_secondario=211
www.intersteno.org/intersteno-internet-contests/classification-lists
www.tampermonkey.net

zondag 26 juli 2020

De Intersteno-resultatenlijsten: tips and tricks #1

Wil je de resultatenlijsten van de Intersteno-internetwedstrijden raadplegen, dan kun je dat op verschillende manieren doen. De ene manier is al wat handiger dan de andere. Laten we het eerst even op de klassieke manier proberen: via de officiële website van Intersteno. Je surft naar www.intersteno.org en via de menubalk navigeer je naar de startpagina vanwaar je naar de resultatenlijsten kunt gaan:

Competitions > Internet Contest > Classification Lists

Je komt dan terecht op deze pagina:

Hier kun je kiezen van welke wedstrijd je de resultaten wilt zien. De meest recente wedstrijd (Intersteno 2020) staat reeds voorgeselecteerd, maar je kunt ook alle eerdere edities kiezen. Je kunt daarnaast ook kiezen in welke taal je de resultatenlijst wilt zien. Dat is niet zo belangrijk, dus we laten dit voorlopig maar even op ‘English’ staan. Je kunt natuurlijk ook ‘Nederlands’ kiezen als je dat liever hebt. Maar let op: de Nederlandse vertaling (en ook die van andere talen) is onvolledig. Je zult merken dat sommige teksten in het Nederlands verschijnen, maar andere staan nog steeds in het Engels!

Wanneer je op ‘continue’ klikt, ga je naar de volgende stap. Hier selecteer je van welke leeftijdscategorie je de resultaten wilt zien én welke resultaten je wilt zien: het moedertaalklassement, het meertalenklassement of het algemeen klassement. Het algemeen klassement laat je de resultaten van alle deelnemers zien, dus ook van wie niet in de moedertaal heeft getypt en ook van wie niet in meerdere talen heeft deelgenomen.

De leeftijdscategorieën zijn niet bij alle wedstrijden gelijk. Zo zul je bijvoorbeeld merken dat de oudste categorie, de senioren, bij de wedstrijd van 2020 vermeld wordt als ‘21-90 years old’, terwijl dat in 2019 nog ‘21-99 years old’ was. (Ik heb geen idee waarom 90-plussers dit jaar van deelname uitgesloten waren.) Ga je kijken bij de allereerste wedstrijd, die van 2003, dan zul je merken dat er toen geen vier, maar slechts twee leeftijdscategorieën waren: 0-16 en 17-20.

Via de keuzelijst kun je één bepaalde leeftijdscategorie kiezen, maar je kunt ook ‘Participants of all ages’ kiezen. Dan krijg je één lange lijst met alle deelnemers bij elkaar (alle leeftijden).

Wat de twee deelwedstrijden betreft: hier kun je dus kiezen tussen het moedertaalklassement (‘only mother tongue’) en met meertalenklassement (‘multilingual’). Daarnaast kun je bij ‘classification type’ ook nog kiezen voor het algemeen klassement (‘general’). Misschien ben je geneigd te denken dat die laatste lijst een samenvoeging is van de twee andere lijsten, maar dat is niet zo. Op de lijst met het algemeen klassement kunnen immers nog deelnemers staan die noch in het moedertaalklassement, noch in het meertalenklassement voorkomen.

In het moedertaalklassement zullen alle deelnemers verschijnen die deelgenomen hebben in hun moedertaal. Niet alle deelnemers nemen deel in hun moedertaal, dus niet alle deelnemers komen in deze lijst. Er zijn deelnemers die wel in andere talen deelnemen, maar hun moedertaal om een of andere reden overslaan. Of ze kiezen per ongeluk de verkeerde taalvariant, zoals uiteengezet in mijn eerdere artikel over het moedertaalprobleem, en komen daardoor niet in het moedertaalklassement. Dit jaar staat er ook geen enkele Japanner in het moedertaalklassement doordat er in 2020 niet in het Japans getypt kon worden. Japanse deelnemers konden dus enkel deelnemen in andere talen en niet in hun moedertaal.

In het meertalenklassement zullen alle deelnemers verschijnen die in meerdere (d.w.z. minstens twee) talen deelgenomen hebben. Dat is immers de voorwaarde voor een meertalendiploma: je moet meer dan één taal met succes hebben afgelegd.

Dan blijven er nog een aantal deelnemers over, die in geen van deze lijsten zullen verschijnen. Wie slechts in één taal, die niet de moedertaal is, heeft deelgenomen, zal noch in het moedertaalklassement, noch in het meertalenklassement terug te vinden zijn. Die deelnemers zul je, naast alle anderen, enkel terug kunnen vinden in het algemeen klassement.

Een voorbeeld van iemand die dit jaar enkel in het algemeen klassement staat, is de Belg Tom Termote. Hij koos per vergissing de verkeerde variant van het Nederlands en kwam daardoor niet in het moedertaalklassement. Hij nam niet in andere talen deel en kwam daardoor dus ook niet in het meeertalenklassement. Onze Franstalige landgenote Virginie Vermersch staat niet in het moedertaalklassement, aangezien zij de verkeerde variant van het Frans koos. Zij typte echter wel in meerdere talen en komt daarom wel in het meertalenklassement voor.

Een tip (voor toekomstige wedstrijden): heb je deelgenomen in je moedertaal, maar vind je je resultaat niet terug in het moedertaalklassement, dan heb je hoogstwaarschijnlijk de verkeerde taalvariant gekozen (zie eerder artikel). Neem in dat geval zo snel mogelijk (in ieder geval vóór het einde van de wedstrijdperiode) contact op met je verantwoordelijke (de persoon die jou ingeschreven heeft voor de wedstrijd). Hij of zij kan dan je moedertaal aanpassen in het systeem, waardoor je resultaat tóch nog in het moedertaalklassement zal verschijnen. Eenmaal de wedstrijd afgesloten is, is het klassement definitief en is het daarvoor jammer genoeg te laat.

Heb je uiteindelijk de wedstrijd, de leeftijdscategorie en het soort klassement (‘classification type’) gekozen, dan krijg je na een druk op ‘continue’ de gekozen resultatenlijst te zien.

Je kunt nu doorheen de lijst scrollen, maar handig is anders. De hele lijst verschijnt in een frame binnen de lay-out van de Intersteno-website. Daardoor krijg je wellicht twee verticale schuifbalken te zien: één aan de rechterkant van je browservenster en een tweede aan de rechterkant van het frame (de lijst). Wellicht krijg je ook nog een horizontale schuifbalk te zien onderaan het frame, en mogelijks krijg je een of meerdere kolommen uiterst rechts op de lijst slechts gedeeltelijk of helemaal niet te zien!

Door de beperkte ruimte wordt de inhoud van bepaalde kolommen, zoals ‘Surname and name’, ‘Town/Nation’ en ‘School/Association’ op twee of zelfs meer regels weergegeven, wat het geheel wat onoverzichtelijk maakt.

Wil je de lijst op een meer comfortabele manier kunnen bekijken, dan heb ik deze eenvoudige truc voor jullie: houdt de Ctrl-toets of de Shift-toets op je toetsenbord ingedrukt terwijl je op de ‘continue’-knop klikt. Met Shift+klik wordt de webpagina met de resultatenlijst dan geopend in een nieuw browservenster, met Ctrl+klik in een nieuwe browsertab. Op die manier verlaat je de beperkende lay-out van de Intersteno-website en wordt de resultatenlijst op een eigen webpagina weergegeven.

Je bent dan verlost van de dubbele verticale schuifbalk en naar alle waarschijnlijkheid ook van de horizontale schuifbalk, wanneer je scherm breed genoeg is. Op een klein smartphoneschermpje is het natuurlijk nog altijd sukkelen, maar op je laptopmonitor of op een brede externe desktopmonitor is het in ieder geval veel comfortabeler op die manier! Op enkele zeer uitzonderlijke gevallen na past de inhoud van alle kolommen nu ook netjes op één regel.

Alle links naar resultatenlijsten die ik al in eerdere artikels op deze blog gaf, zullen je de resultatenlijst overigens op die manier laten zien: in hun eigen browservenster of -tab, zonder poespas eromheen.

Merk je dat de tabel nét iets te breed is voor je scherm, dan kun je eventueel met de zoomfunctie van je browser de tabel wat verkleinen, zodat hij in de breedte netjes op je scherm past. In populaire webbrowsers zoals Google Chrome kan dat door de Ctrl-toets ingedrukt te houden en tegelijkertijd op het min-teken op het numerieke toetsenbord te drukken. Met Ctrl-plus maak je de tekst weer groter. Een andere manier is de Ctrl-toets ingedrukt houden en aan het scrollwieltje van de muis draaien om in- of uit te zoomen.

Ook al past de tabel netjes op je scherm, probeer toch maar eens in- of uit te zoomen, tot je een zoomniveau bereikt dat je het prettigst vindt.

De truc met Ctrl+klik of Shift+klik op de ‘continue’-knop kun je op gelijk welke van de bovengenoemde webpagina’s doen. Je hoeft het ook maar één keer te doen. Eenmaal je een pagina geopend hebt in een apart venster of een aparte tab, ben je ontsnapt uit het frame op de Intersteno-website en kun je de tabel comfortabel bekijken over de volledige breedte van je computerscherm. Vanaf die pagina kun je eenvoudig de andere lijsten van dezelfde wedstrijd bekijken.

Dit zijn maar enkele van de tips die ik met jullie wil delen in verband met de resultatenlijsten van de Intersteno-internetwedstrijden. In een volgend artikel volgen er nog meer...

De eerste link onderaan dit artikel brengt je rechtstreeks naar de pagina op de Intersteno-website vanwaar je kunt kiezen in welke taal en van welke wedstrijd je de resultaten wilt zien. De tweede link opent dezelfde selectiepagina buiten het frame van de Intersteno-site. Je krijgt de pagina (en alle volgende) dus meteen op de volledige breedte van je scherm te zien. Als je die link opslaat bij de bladwijzers van je browser, beschik je over een bijzonder snelle en handige manier om de resultatenlijsten te raadplegen.

De derde link is een link naar een userscript dat ik heb gemaakt om de leesbaarheid van de tabellen te verbeteren. Om het script te kunnen gebruiken, moet je eerst de Tampermonkey-extensie in je browser installeren. Daarna kun je mijn script toevoegen. Het script past dan automatisch mijn eigen CSS-stijl toe op de tabellen van Intersteno. De rijen van de resultatentabellen worden daardoor om en om van een andere achtergrondkleur voorzien, wat de leesbaarheid aanzienlijk verhoogt. Probeer het eens. Lukt het niet meteen, geen nood. In een volgend artikel ga ik uitgebreid in op het gebruik van het Tampermonkey-userscript.

www.intersteno.org/intersteno-internet-contests/classification-lists
org.intersteno.it/page.php?id_primario=47&id_secondario=211
openuserjs.org/scripts/gebo007/Intersteno_Internet_Results

vrijdag 10 juli 2020

ISO-landcodes en -taalcodes

ISO is de Internationale Organisatie voor Standaardisatie, die tal van internationale normen en standaarden vastlegt. Al die normen en standaarden krijgen een nummer. Er zijn normen voor onder andere productspecificaties, fotografie, lucht- en ruimtevaart, papierformaten, grootheden en eenheden, etc.

In dit artikel zullen we het hebben over de ISO-taalcodes, vastgelegd in ISO-norm 639, en over de ISO-landcodes, vastgelegd in ISO-norm 3166.

Ook in de resultatenlijsten van de Intersteno-internetwedstrijd vinden we deze ISO-land- en -taalcodes terug. Althans, daar lijkt het op het eerste zicht op. Bij nader inzien vinden we echter toch wel een aantal opvallende afwijkingen.

Wanneer je bijvoorbeeld de algemene resultatenlijst van 2020 bekijkt, dan zie je in de derde kolom (‘Town/Nation’) na de plaatsnaam telkens een komma en twee hoofdletters die het land aanduiden, bv. ‘US’ (Verenigde Staten), ‘JP’ (Japan), ‘IT’ (Italië) enz. Die afkortingen zijn inderdaad de ISO-landcodes voor de betreffende landen.

Bij deelnemers uit het Verenigd Koninkrijk staat echter ‘UK’. Dat is niet de juiste code. In de lijst met ISO-landcodes op Wikipedia zien we dat de tweeletterige ISO-code voor het Verenigd Koninkrijk ‘GB’ is. Die code is gebaseerd op ‘Great Britain’ (en niet op ‘United Kingdom’). Toegegeven, dat lijkt niet erg logisch, maar het is nu eenmaal zo.

Verder vond ik in de resultatenlijst van 2009 één deelnemer (Zoran Marković) met landcode ‘YU’, een code die niet (meer) in ISO-3166 voorkomt. Zoran Marković is een deelnemer uit Servië, met landcode ‘RS’. Servië is één van de landen die vroeger tot Joegoslavië behoorden, maar Joegoslavië (‘YU’) hield in 2003 op te bestaan en viel uiteen in een aantal kleinere staten. In de lijst van 2010 staat bij Marković wél correct ‘RS’ vermeld.

En dan zijn er de taalcodes, die in de resultatentabellen in de kolom ‘Language’ in hoofdletters staan. Dat is niet conform de ISO-norm, want ISO-taalcodes worden per definitie met kleine letters geschreven. Misschien ben je geneigd te denken: ach, hoofdletters of kleine letters, dat is toch niet zo belangrijk, maar de makers van de ISO-standaarden hebben daar een goede reden voor.

Het is een heel bewuste keuze. Op die manier wil men zorgen voor een duidelijk onderscheid tussen land- en taalcodes, die anders vaak met elkaar verward zouden worden. Door voor de ene standaard hoofdletters en voor de andere kleine letters te gebruiken, is het onderscheid onmiddellijk duidelijk. Zo is ‘NL’ (in hoofdletters) de landcode voor Nederland, ‘nl’ (in kleine letters) de taalcode voor Nederlands.

Als we het incorrecte hoofdlettergebruik even buiten beschouwing laten, dan komt de inhoud van de kolom ‘Language’ in de resultatenlijsten overeen met de taalcode, eventueel gevolgd door een landcode tussen haakjes, om taalvarianten voor bepaalde landen aan te geven. Er zijn echter twee opvallende uitzonderingen: het Tsjechisch en het Japans.

Tsjechisch is een van de talen die al van bij het prille begin aangeboden werden en is dankzij het grote aantal deelnemers uit Tsjechië een van de meest gebruikte talen binnen de Intersteno-internetwedstrijd. Op de resultatenlijsten wordt Tsjechisch steevast verkeerdelijk aangegeven met de letters ‘CZ’, terwijl de juiste ISO-taalcode ‘cs’ is. ‘CZ’ is de landcode voor Tsjechië, niet de taalcode voor Tsjechisch!

De landcode voor Tsjechië, ‘CZ’, is gebaseerd op de Engelstalige benaming van het land: ‘Czech Republic’ of ‘Czechia’. De taalcode voor Tsjechisch daarentegen is gebaseerd op het Tsjechische woord voor ‘Tsjechisch’, namelijk ‘čeština’ of ‘češký’.

Ook bij het Japans wordt verkeerdelijk ‘JP’ vermeld (de landcode voor Japan) in plaats van ‘ja’ (de taalcode voor Japans).

Er valt nog veel meer te vertellen over ISO-landcodes en -taalcodes, maar na deze beknopte inleiding kunnen we ons dus volgende vragen stellen:

  • Waarom werd bij een deelnemer uit Servië in 2009 ‘YU’ als landcode vermeld in plaats van ‘RS’?
  • Waarom wordt bij Britse deelnemers ‘UK’ vermeld in plaats van ‘GB’?
  • Waarom staan de taalcodes in hoofdletters in plaats van in kleine letters?
  • Waarom wordt voor Tsjechisch ‘CZ’ vermeld in plaats van ‘cs’?
  • Waarom wordt voor Japans ‘JP’ vermeld in plaats van ‘ja’?

Wellicht liggen niet veel mensen ervan wakker, maar ik vond het toch de moeite om hier even bij stil te staan. Het bestaan van normen en standaarden is ongetwijfeld een goede zaak, maar het Intersteno-voorbeeld laat zien dat ze helaas niet altijd correct toegepast worden.

In ieder geval hoop ik dat de lezer dankzij dit artikel iets bijgeleerd heeft over ISO-landcodes en -taalcodes. Wil je er meer over weten, dan verwijs ik naar de ISO-website en naar Wikipedia. Je vindt de links onderaan dit artikel.

O ja, nog dit: de ISO-normen zijn niet in steen gebeiteld, maar worden aangepast wanneer nodig. Het aantal landen op Aarde is geen constante. Af en toe zijn er immers landen die uiteenvallen in kleinere staten (zoals de USSR en Joegoslavië in de recente geschiedenis). Het omgekeerde gebeurt ook: in 1990 smolten West- en Oost-Duitsland samen tot één land, het herenigde Duitsland. Door het opsplitsen en samenvoegen van landen raken bestaande landcodes in onbruik en moeten nieuwe landcodes aan de norm toegevoegd worden.

nl.wikipedia.org/wiki/ISO_3166-1
nl.wikipedia.org/wiki/Lijst_van_ISO_639-codes
www.intersteno.org/intersteno-internet-contests
www.intersteno.org/intersteno-internet-contests/classification-lists
www.iso.org

vrijdag 3 juli 2020

Internetwedstrijd: het moedertaalprobleem

In de reeks artikelen over de Intersteno-internetwedstrijd wil ik het deze keer hebben over het moedertaalprobleem. Normaal gezien zou moedertaal natuurlijk geen probleem mogen zijn, maar bij Intersteno is dat anders. Ik probeer even te verduidelijken waar het precies over gaat.

In een eerder artikel gaf ik al een overzicht van de beschikbare talen. Daarbij werd vermeld dat er van een aantal talen, waaronder Duits, Frans en Nederlands, meer dan één versie aangeboden wordt. Bij de training maakt het niet zoveel uit welke versie je kiest, al zul je wel merken dat de aanslagen verschillend geteld worden bij de twee versies van het Nederlands:

  • ‘Nederlands’ telt de aanslagen volgens het Nederlandse qwertyklavier;
  • ‘Nederlands (België)’ telt de aanslagen volgens het Belgische azertyklavier.

Bij de eigenlijke wedstrijd zul je merken dat je elke taal maar één keer kunt typen. Heb je eenmaal één van beide taalvarianten getypt, dan is daarna ook de andere taalvariant niet langer beschikbaar.

Kies je tijdens de wedstrijd de verkeerde versie van het Nederlands, dan krijg je te maken met het moedertaalprobleem. Je resultaat zal dan niet verschijnen in de moedertaalrangschikking. Bij de inschrijving wordt immers voor iedere deelnemer vastgelegd wat zijn of haar moedertaal is. Voor Nederlandstalige Belgen is dat ‘Nederlands (België)’; voor Nederlanders is dat ‘Nederlands’. Kies je als Belg per ongeluk toch voor ‘Nederlands’, dan heeft dat een aantal gevolgen:

  • de telling van het aantal aanslagen gebeurt volgens qwerty i.p.v. azerty;
  • je resultaat verschijnt niet in de moedertaalrangschikking;
  • je ontvangt geen diploma voor moedertaal.

Door ‘Nederlands’ te kiezen, gebeurt de telling van het aantal aanslagen volgens het Nederlandse qwertyklavier. Als je als Belg verkeerdelijk deze taalvariant kiest, dan zal het aantal aanslagen dat in de resultatenlijst vermeld wordt, lager zijn dan het aantal aanslagen dat je werkelijk hebt gemaakt. Voor elke punt en voor elk cijfer wordt dan immers maar één aanslag gerekend, hoewel je er in werkelijkheid twee gemaakt hebt. Op een Belgisch toetsenbord worden deze tekens immers met de hoofdlettertoets getypt, op een Nederlands niet.

Door ‘Nederlands’ te kiezen, zal je resultaat ook niet op de moedertaallijst verschijnen en zal er ook geen moedertaaldiploma aangemaakt worden. De software die de resultaten verwerkt, gaat er immers van uit dat je moedertaal ‘Nederlands (België)’ is, en in die ‘taal’ heb je geen geslaagde proef afgelegd!

Doordat de Intersteno-software hier beide varianten als verschillende talen beschouwt, krijgen we bijna ieder jaar te maken met het moedertaalprobleem. Er zijn altijd wel een paar deelnemers die per ongeluk de verkeerde taalversie kiezen, vooral Belgen en Zwitsers, vermoed ik.

Soms wordt dat door de nationale verantwoordelijken nog rechtgetrokken vóór het einde van de wedstrijd en wordt de moedertaal in het computersysteem aangepast, zodat deelnemers die verkeerd gekozen hebben, toch nog in de moedertaallijst komen en een moedertaaldiploma krijgen. Maar eenmaal de wedstrijd afgesloten en de rangschikking definitief is en de diploma’s verstuurd zijn, is het onverbiddelijk te laat!

Dit jaar waren twee Belgen het slachtoffer: Tom Termote had ‘Nederlands’ gekozen in plaats van ‘Nederlands (België)’, en Virginie Vermersch had ‘Français’ gekozen in plaats van ‘Français (Belgique)’. Gevolg: de namen van deze deelnemers zijn niet terug te vinden in de moedertaalrangschikking. Hadden ze wél de juiste taalvariant gekozen, dan zou Virginie op plaats 45 en Tom op plaats 47 komen, beiden in de categorie senioren.

Vorig jaar was Benoit David slachtoffer van het moedertaalprobleem, in 2016 was het Andy Gevaert.

Ik heb dit probleem ondertussen aangekaart bij de organisatoren. Hopelijk wordt de software tegen volgend jaar aangepast, zodat het moedertaalprobleem tegen dan verleden tijd is en het voor de moedertaalrangschikking niet meer uitmaakt welke variant van de taal je kiest.

Hieronder vind je een aangepaste moedertaallijst met de resultaten van de Belgische senioren van de Intersteno-internetwedstrijd 2020, inclusief de resultaten van Virginie en Tom. De lijst vermeldt naast de Belgen ook de drie beste internationale deelnemers, met goud voor Celal Aşkın, zilver voor Sean Wrona en brons voor Oksana Chernykh.

www.intersteno.org/intersteno-internet-contests

donderdag 2 juli 2020

Internetwedstrijd 2020: beschikbare talen

Bij de meertalenwedstrijd kon je dit jaar kiezen uit 16 verschillende talen. Eigenlijk hadden dat er 17 moeten zijn, maar het Japans, dat vijf jaar geleden aan het lijstje van beschikbare talen werd toegevoegd, viel in 2020 uit de boot.

In de TAKI-trainingsmodule krijg je alle beschikbare talen te zien:

De trainingsmodule laat je momenteel kiezen uit 17 talen, zoals je kunt zien in de illustratie hierboven. Het gaat om volgende talen – op de wedstrijdsite wordt de naam van elke taal in de betreffende taal zelf vermeld:

  1. Duits / Deutsch
  2. Engels / English
  3. Fins / Suomi
  4. Frans / Français
  5. Hongaars / Magyar
  6. Italiaans / Italiano
  7. Japans / 日本語
  8. Kroatisch / Hrvatski
  9. Nederlands
  1. Pools / Polski
  2. Portugees / Português
  3. Roemeens / Română
  4. Russisch / Русский
  5. Slowaaks / Slovenčina
  6. Spaans / Español
  7. Tsjechisch / Český
  8. Turks / Türkçe

Merk op dat je bij een aantal talen meerdere keuzemogelijkheden hebt. Zo heb je telkens twee mogelijkheden voor Duits, Nederlands en Japans en zelfs drie voor Frans:

  • Deutsch
  • Deutsch (Schweiz)
  • Français
  • Français (Belgique)
  • Français (Suisse)
  • Nederlands
  • Nederlands (België)
  • 日本語
  • 日本語 (transliterated)

Het Japans laten we voorlopig even buiten beschouwing, daar zullen we het in een later artikel wel eens over hebben. De verschillende versies voor Duits, Frans en Nederlands zijn er voor deelnemers die verschillende toetsenbordindelingen gebruiken. Het gaat om drie talen die in meer dan één Europees land gesproken worden.

Onder de deelnemers die Duits als moedertaal hebben, zijn er zowel Duitsers, Oostenrijkers als Zwitsers. In Zwitserland wordt echter een andere toetsenbordindeling gebruikt dan in Duitsland en Oostenrijk. Op een Zwitsers toetsenbord zul je geen Eszett (ß) aantreffen, want de Zwitsers hebben daar al lang komaf mee gemaakt. Dat is de reden waarom er gekozen kan worden tussen twee versies van het Duits.

Ook Franstalige deelnemers uit Frankrijk, België en Zwitserland gebruiken elk hun eigen toetsenbordindeling, net als Nederlandstalige deelnemers uit Nederland en België.

Lezers van deze blog weten ongetwijfeld dat in Nederland het qwertyklavier gebruikt wordt, in België het azertyklavier. Een belangrijk verschil tussen deze twee toetsenbordindelingen zit in de cijfers van de bovenste toetsenrij, die bij azerty met de hoofdlettertoets getypt worden, wat bij qwerty niet het geval is. Er is ook een verschil bij de leestekens. Zo moet een Belgische azertytypist bij iedere punt de hoofdlettertoets gebruiken, maar een Nederlandse qwertytypist niet. Omdat er voor beide deelnemers dus verschillend geteld moet worden, worden er twee versies van de Nederlandse proef ter beschikking gesteld.

Hoewel de twee versies van het Duits in de eerste plaats bedoeld zijn voor wie Duits als moedertaal heeft (in de praktijk dus deelnemers uit Duitsland, Oostenrijk en Zwitserland), kunnen ook wij ons voordeel doen met het feit dat er twee mogelijkheden voor Duits aangeboden worden. Immers: in tegenstelling tot Duitsland en Oostenrijk wordt in Zwitserland geen gebruik gemaakt van de Eszett (ß). Zwitsers schrijven dus niet 'Straße' maar 'Strasse'. Voor ons is het daarom het handigst om voor ‘Deutsch (Schweiz)’ te kiezen. Dan kunnen we er immers op rekenen dat we niet geconfronteerd zullen worden met de lastige ß, die niet op ons azertytoetsenbord staat. Dat maakt de Zwitserse versie voor ons gemakkelijker.

Voor de meertalenwedstrijd maakt het verder eigenlijk weinig uit welke versie van Frans of Duits je kiest. Van zodra je bij de wedstrijd een van die talen getypt hebt, bijvoorbeeld Duits via ‘Deutsch (Schweiz)’, zul je merken dat ook de andere mogelijkheid (‘Deutsch’) niet langer beschikbaar is. Idem dito voor Frans en Nederlands. Je kunt elke taal immers maar één keer afleggen.

Al die verschillende taalversies kunnen wel voor een ongewenst neveneffect zorgen: het moedertaalprobleem. Maar daar heb ik het in een volgend artikel over.

www.intersteno.org/intersteno-internet-contests/training-with-taki-version