Naar inhoud springen

Verslagen Hackathon 2019/1Veertje

Uit Wikimedia
1Veertje bij de Hackathon
Orator Matcher poster
regex les
Hand-geschreven query van Harmonia

Eind vorig jaar heb ik de Orator Matcher functioneel gekregen, een stuk software waar ik bij de hackathon in Lyon aan begonnen was. Deze tool geeft de gebruiker het programma van een conferentie inlezen om daar vervolgens een overzicht te geven van welke van de personen die in dit programma genoemd worden matched met een wikidata-item van een nog levend persoon. Dit is handig als je voordat je naar een conferentie gaat wil weten wie daar gefotografeerd moet worden voor Wikipedia, of achteraf als de foto's onder een vrije licentie gepubliceerd zijn. Bij de poster sessie aan het begin van de hackathon heb ik hier een poster over gemaakt met als doel mijn tool meer in de spotlight te krijgen en met de vraag of er nog features waren waar men interesse in heeft. Op de eerste dag van de hackathon heb ik ook wat bugs in de Orator Matcher gefixed, zo was het aantal namen in het overzicht eerder beperkt tot ~160 dat is nu op zijn minst het dubbele.

Michael Große van WMDE zag mijn userscript categoryColor voorbij komen die hij vervolgens ook in zijn eigen account heeft geïnstalleerd. Dit script kleurt het label van afbeeldingen in een categorie op Commons op basis van hoe veel andere categorieën deze afbeelding zich bevind. Op die manier is het makkelijker te zien hoe goed de afbeeldingen gelabeld zijn. Bij het verwerken van afbeeldingen van conferenties is het idealiter zo dat elke spreker een eigen categorie heeft waar afbeeldingen waar de spreker in staat onder gevonden kunnen worden. Met mijn userscript kan je in een overzicht niet alleen zien dat er 4 mensen afgebeeld zijn op een foto, maar ook of deze personen geïdentificeerd zijn. Op dat moment was ik de enige gebruiker van het script, en dat het script vele error-berichten uitkraamde als het API-verzoek geen resultaat teruggaf. Het rechtzetten hiervan was niet veel werk, maar eerder was ik hier nog niet aan toe gekomen.

Een ander userscript wat ik afgelopen jaar heb geschreven is identifierInput.js. Dit script maakt het mogelijk om bij het invoeren van externe identifiers, zoals een IMDB ID of LinkedIn ID, de volledige URL in te voeren. Het userscript neemt vervolgens deze input en laat alleen de identifier die ingevoerd moet worden staan, zoals het hoort. Het script werkte eerder maar half omdat het niet goed samenwerkte met de JavaScript die al allerlei dingen doet in de interface van Wikidata. Het probleem waarmee ik zat was al een keer opgelost door User:Tmg, maar het was mij niet gelukt deze in mijn eigen code op te nemen. Bij de hackathon was Tmg ook aanwezig, en hij heeft zijn oplossing ter plaatste toegepast. Ik snap nog steeds niet hoe dit werkt, maar het doet 't.

Zaterdag heb ik regex-les gegeven aan Michelle en Ciell. Regex is syntax die patronen in een tekst beschrijven mogelijk maakt waardoor een computer deze softwarematig kan opsporen. Dit kan op een erg diverse manieren worden toegepast bij het verwerken van data: er kan op een complexe manier (wiki-)tekst worden aangepast d.m.v. de VisualFileChange.js, meerdere straatnamen kunnen tegelijk gezocht worden in een uitreksel van het boek "Monumenten in Nederland" bijvoorbeeld. Deze syntax ziet er in het begin erg intimiderend uit maar als je de eerste regels uitgelegd hebt gekregen kan je er toch redelijk snel mee aan de slag. Als framing voor mijn regex-les had ik bedacht de regels voor het interpreteren van regex-syntax te vergelijken met de regels van een kaartspel. Dit viel wel in de smaak.

's middags heb ik meegedaan aan de wikibase-meetup.

Bij de eindpresentaties was ik erg onder de indruk van de Cite Unseen gadget, die iconen toevoegd aan referenties o.b.v. wat voor soort bron het is: opiniestuk, krantenartikel, overheidsbron of boek.

Zondag heb ik vooral na de eindpresentaties veel werk verzet aan identifierInput.js en heb deze dan ook niet kunnen presenteren. Voor een bredere toepassing is er de functionaliteit toegevoegd dat als een property aan een item wordt toegevoegd er asynchroon wordt opgevraagd hoe deze er uit moet zien. Eerder had ik de identifiers die ik zelf veel invoerde elk opnieuw gedefinieerd in het script. Harmonia heeft vlak voor vertrek de Sparql-query voor mij geschreven op papier geschreven. Dit was erg indrukwekkend, al heb ik het alsnog zelf in elkaar moeten puzzelen omdat ik haar handschrift niet kon lezen.