Spel om styrning av mjukvaruutveckling

Jag har gillat att spela spel sedan jag var liten och det har ju synts på denna blog från min kurs i speldesign till mitt experiment när jag lärde mig lite PHP. Så när jag på mitt nya jobb på Foundation for Public Code fick möjligheten att utveckla ett spel var det med glädje jag tog mig an den uppgiften. Nyss publicerade vi ett blogginlägg om hur det har gått med det arbetet och du kan läsa mer här:
A look at our Codebase Governance Game

Planning FOSDEM 2020

This will be my second FOSDEM. But unlike last year, now I am better prepared (and a bit more hyped). So far my schedule looks like below, but of course it is due to change thanks to interesting conversations and chance hallway meetings. If there is anything you would like to chat about, feel free to ping me on Mastodon or Twitter.

Saturday

10.00 – 10.50 How FOSS could revolutionize municipal government
11.00 – 11.50 DEBATE: Should FOSS licenses be enforced at all?
12.00 – 12.25 A dozen more things you didn’t know Nextcloud could do
13.30 – 13.45 On the road to sustainable research software
Watch later: 13.30 – 13.55 COLLAB: The optics of the policy
Watch later: 15.00 – 15.50 DEBATE: Should licenses be designed to advance general social goals?
15.00 – 16.00 A best practices guide for FLOSS community managers
16.00 – 16.50 DEBATE: Does FOSS need sustainability?
Watch later: 18.00 – 18.30 The Journal of Open Source Software
17.30 – 19.00 Creating Sustainable Public Sector Open Source Communities

Sunday

Watch later: 9.00 – 9.15 Jitsi: video conferencing for the privacy minded
9.05 – 9.30 Applying Open Culture Practices across Distributed Teams
9.35 – 10.00 Organizing Open Source for Cities
10.05 – 10.30 The next generation of contributors is not on IRC
11.55 – 12.20 Cognitive biases, blindspots and inclusion
13.20 – 13.45 Be The Leader You Need in Open Source
13.50 – 14.10 Building Community for your Company’s OSS Projects
Watch later: 13.55 – 14.15 Nextcloud Talk
Watch later: 14.00 – 14.50 United Nations Technology and Innovation Labs
14.15 – 14.40 Lessons Learned from Cultivating Open Source Projects and Communities
14.45 – 15.10 Free software in education
16.40 – 17.00 Building a thriving community in company-led open source projects

En standard för offentlig kod

Jag började ju nyligen jobbaFoundation for Public Code och det har varit en fantastisk start i en härligt idédriven organisation. På många sätt påminner det om min tid i Wikimedia Sverige, bland annat genom en stor transparens. Vi har inget intranät, utan publicerar alla våra processer publikt på en webbplats, och det mesta av arbetet sker på Github.

En av de sakerna vi gör är en standard för offentlig kod. Det är en samling minimikrav på vad man egentligen behöver göra för att det du gör som öppen källkod ska vara återanvändningsbart inte bara i teorin, utan även i praktiken. Standarden själv är såklart licensierad CC 0.

Idag släppte vi version 0.1.4 och även om det bara var en mindre förbättring så var det stort för mig, för nu finns jag med bland medförfattarna!

Börjar kurs – Kartapplikationer på Internet med Open source

Idag börjar jag en distanskurs på Luleå tekniska universitet – Kartapplikationer på Internet med Open source 7,5 hp. Jag ser verkligen fram emot att lära mig mer om alla möjligheter som finns, jag har ju bara snuddat vid det ett par gånger förut. Om det är möjligt ska jag så klart använda vandringen från Ystad till Stockholm som case i de uppgifter jag gör under studietiden. Tanken är ju att det ska gå att följa den live på internet, både med miljödata och positionsmässigt. Gör jag något annat skoj under kursen kommer jag såklart att posta det här.

ltu


photo:



Wikipedia image quiz – now also in English

I mitt senaste inlägg berättade jag om hur jag skapade ett bildquiz baserat på Wikipedia. Efter att ha spelat det lite grann så är det uppenbart att slumpfunktionen på Wikipedia verkligen fungerar, den levererar nämligen väldigt många artiklar om olika arter. Och det stämmer ju, då svenska Wikipedia i skrivande stund består till ungefär två tredjedelar av sådana artiklar. Det var därför en av idéerna för vidareutveckling var att använda Holgers nya slumpfunktion som filtrerar bort dessa (och då kan det argumenteras för om det ska kallas för slump, men låt gå).  Men i väntan på att lista ut hur jag kan använda den kom jag på e annan enkel idé. I stället för att använda svenska Wikipedia som grund så har jag gjort en variant för engelska. Även om det skulle tillkomma en miljon artartiklar där (i dagsläget har de mycket färre än vad som finns på svenska) så blir det ändå en mycket mindre del då de har över 4,6 miljoner artiklar totalt.

Den engelska varianten hittas på: http://nyval.wtf/quiz/en/

Jag har också lagt till snabbtangenter för att visa svar och ny fråga. På svenska används Alt+v respektive Alt+n (tangentkombinationen kan variera beroende på din webbläsare/operativssystem, hitta din kombination här) och på engelska Alt+s respektive Alt+n.

Wikipedia-bildquiz

I en Facebooktråd om slumpartikelfunktionen på Wikipedia och en ny variant som Holger Motzkau har byggt så kom David Castor med en idé om ett frågesportspel baserat på slumpartiklarna. Hans idé var:

Jag gjorde häromsistens en frågesport där jag visade en bild från en slumpmässig och namnen på den och tre slumpartiklar till. Sedan skulle deltagarna gissa från vilken av de fyra artiklarna som bilden var hämtad.

Det tänkte jag kunde vara något för mig att använda som exempel, jag har ju tidigare testat lite med att programmera i PHP och jag har en ganska bra koll på Wikipedias API. Sagt och gjort, jag hackade på lite och nu finns det en färdig prototyp. Inga finesser, bara en enkel frågesport. Den bygger på att man kan fråga API:et efter slumpade artiklar och att man kan begära bilder från dessa. Jag gör dessutom en dubbelkoll så att inte samma bild används två gånger. En utmärkt hjälp till utvecklingen var API-sandlådan på Wikipedia. (I min kod har jag konsekvent använt mig av pageid istället för title på artiklarna som i exemplen nedan, detta för att jag i PHP inte lyckades få mellanslag i artikelnamn att hanteras på rätt sätt, men principen är ju densamma.)

Slumpade artiklar

Detta görs med kommandot action=query&list=random I mitt fall begär jag dessutom fyra bilder på en gång. Detta är den exakta frågan jag använder: https://sv.wikipedia.org/w/api.php?action=query&list=random&format=json&rnnamespace=0&rnlimit=4

Hämta bilder

Detta görs med kommandot action=query&prop=pageimages Jag passar dessutom på att i samma anrop begära rätt bildstorlek som jag senare kan använda när jag skapar sidan. Här en hårdkodad variant på anropet (jag använder ju egentligen resultatet från slumpartiklarna):
https://sv.wikipedia.org/w/api.php?action=query&prop=pageimages&format=json&piprop=thumbnail%7Cname&pithumbsize=400&pilimit=4&titles=Stj%C3%A4rtand%7CAnka%7CSn%C3%B6%7CMonotypisk
Hittas inga bilder i någon av de fyra artiklarna begär jag fyra nya slumpartiklar. Under mina testomgångar behövde jag aldrig göra detta mer än en gång, men teoretiskt sett så kan detta ta en stund om man har otur med slumpartiklarna.

Kontrollera dubbletter

Jag väljer helt enkelt en bild från föregående omgång och kolla om den finns i någon av de andra artiklarna. Detta kan göras med kommandot action=query&prop=images och att skicka med en bild och artiklarna som ska kollas som parametrar. Här en hårdkodad variant på anropet: https://sv.wikipedia.org/w/api.php?action=query&prop=images&format=json&imimages=File%3ANorthern_Pintails_(Male_%26_Female)_I_IMG_0911.jpg&titles=Stj%C3%A4rtand%7CGr%C3%A4sand%7CAnka%7C%C3%84nder
Finns bilden i mer än en artikel gör jag det superlätt för mig och börjar om med fyra nya slumpartiklar. Här skulle man kunna effektivisera det genom att kolla andra bilder i de fyra första artiklarn (om det fanns några).

Kontextualisera

När jag visar svaret hämtar jag även ut det första stycket från Wikipedia så att man kan få ett sammanhang av ämnet. Detta görs med kommandot action=query&prop=extracts Här en hårdkodad variant på anropet: http://sv.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&explaintext=&titles=Stj%C3%A4rtand

Resultatet

Det färdiga resultatet hittas på: http://nyval.wtf/bildquiz/

Idéer för utveckling:

  • Poängräknare
  • Använda Holgers slumpgenerator som tar bort de robotskapade artiklarna.

Har du några andra idéer får du gärna höra av dig.

Redigeras det på Wikipedia från Riksdagen?

Jag blev imorse varse om ett konto på Twitter som listar redigeringar som gör från parlamentet i Storbritannien, @parliamentedits. Då det i Twitterbion stod att det gjordes genom IFTTT så förstod jag hur det var uppsatt. Alla redigeringar som görs från en IP-adress går att få som ett RSS-flöde och dessa finns det en kanal för i IFTTT som kan trigga något, till exempel en tweet. Några förfrågningar gav dessutom en lista på IP-adresser som Riksdagen har.

Så efter lite funderande på namn skapade jag kontot @RiksdagWikiEdit på Twitter och ett konto på IFTTT. En stunds knappande med recept och vips så var tjänsten uppe. Nu är det bara att vänta och se vad som händer.

En annan Wikipediaanvändare uppmärksammade också det här och började gräva i historiken för att se vart som har gjorts fram till idag och visar resultatet här.

Skälet till att jag satte upp detta var inte för att förska hitta skandaler, utan mest för att det var lätt och förhoppningsvis får vi se konstruktiva och bra redigeringar. Vi vet ju sedan tidigare att riksdagsledamöter redigerar en del. Och jag tycker att vi kan ställa kravet på transparens på vad som händer.

Kul var också att skaparen av det första kontot, Tom  Scott, som är en av mina favoriter i Youtubekanalen Computerphile såg detta och twittrade det vidare. Skönt med semester helt enkelt så att man hinner göra roliga udda projekt också!

Codecademy – ett enkelt sätt för självstudier i programmering

Jag har hållt på ett par kvällar med att försöka få lite insikt i programmeringsspråket PHP. Och jag har hittat en bra sajt som jag gärna vill dela med mig av! Codecademy. Förutom PHP som jag håller på med erbjuder de kurser i en en hel del annat, till exempel Javascript, Python, HTML och CSS för att bara nämna några.

Det är väldigt enkelt upplagt, och momenten är små så att man lätta kan beta av dem och ta sig framåt. I prinicip går varje delmoment ut på att man får läsa mycket kort om något nytt, det är inte långt alls, bara et stycke och de är noga med att man får bara lagom mycket nytt så att man lätt kan greppa det. Sedan får man en lite uppgift man ska lösa. Till det har man två parallella vyer; en där själva koden är och den där man kan se vad den levererar. Man skriver tills man är nöjd och anger att man är klar och får då reda på om man lyckats eller inte. Känns det klurigt finns det chans att be om ledtrådar.

När man klarat ett antal sådana små lektioner får man en badge som visar det. Tyvärr gör de samma miss som Duolingo och utfärdar den inte som en OpenBadge så att jag kan “ta med mig” badgen ut ur deras platform och kunna visa upp den på ett verifierbart sätt även på andra ställen. Kanske dags att snoka rätt på var man kan lägga en feature request…

Har du något favoritställe för självstudier? Dela med dig i kommentarerna nedan!

Lära mig spanska med Duolingo

För ett par år sedan när jag var i Australien passade jag på att ta en kurs i spanska (känns helt logiskt eller hur?). Det har dock inte riktigt blivit av att jag har fortsatt med det ordentligt, och nivån jag nådde är i princip att jag kan några enkla verb och räkna lite grann. Inte så mycket att hurra över. Det känns dock ändå som att det är ett språk värt att lära mig mer om, dels för att det är ganska olikt de språk jag någorlunda behärskar, men också för att det finns så många talare världen över. Och nu har jag hittat appen Duolingo. En fiffig och rolig app som gör det enkelt att träna lite när man har en kort stund över. Det är skoj att den dessutom testar uttalet, men ibland kan det vara svårt att komma vidare på dem, antingen har jag dåligt uttal eller så funkar inte algoritmerna helt bra.

Trots det kan jag i alla fall helt klart rekommendera appen. Utrymme för förbättring vore en koppling mot OpenBadges så att man kunde visa upp sina nyförvärvade språkkunskaper på ett standardiserat sätt. Det skulle nog också öka min motivation en del.

Tidsstämplar på kartobjekt

Okej, nu nördar vi ner oss totalt. Tänk dig en karta med en timeslider, så att du kan säga: “Ge mig kartan över Uppsala, som det såg ut 1944”. Boom, upp kommer OpenStreetMap, fast Uppsala ser inte ut som idag, utan som det gjorde för 70 år sedan.  Okej tänker du nu, ge mig länken, det där vill jag se.

Här får jag göra dig lite besviken. Den tjänsten finns inte än. Men vi håller på att göra något åt det. Wikimedia Finland driver ett pilotprojekt som kallas Wikimaps Nordic, där vi ska försöka oss på att lista ut vad som krävs för att lösa detta och visa på vilka intressanta grejer man kan göra med det.

Idag på kontoret, uppspelta efter kickoffen (du kan hitta video från förmiddagen här) började vi fundera lite på olika scenarier. Jag fångade en bild av whiteboarden och la upp den i facebookgruppen bara för att inte glömma bort den.

I en kommentar förklarar André vad som behövs, jag drar det här med eftersom att det inte syns ovan. Varje objekt behöver ha ett start- och ett slutdatum. Dessa kan antingen vara exakta (kyrkan revs 1814-03-03) eller öppna (kyrkan finns på en karta från 1714 så den måste ha byggts innan dess). Detta reglerar hur objektet ska visas. Om du ställer in kartan innan 1714 så ska kanske kyrkan visas (görs eventuellt med en markering av något slag), 1714-1814 så visas kyrkan och efter 1814 visas kyrkan inte på kartan.

Det är inte bara objekten i sig sig som behöver ha tidsstämplar. Även namn och objekttyp behövs, båda dessa kan ju ändras över tid. Idealt skulle varje tidsstämpel dessutom ha en källa så att man kan hitta från vilken karta eller databas informationen kommer ifrån.

Kommer du på något uppenbart som vi har missat? Ju snabbare vi får med det, desto lättare blir det att få till slutlösningen, så ös på i kommentarerna nedan.