COVID-19 sporingsapp

FHI har et samarbeid med Simula om å utvikle en app for å spore kontakt mellom folk med mobiltelefoner. Dersom en person er eller viser seg å bli smittet, kan man spore opp hvem vedkommende kan ha smittet via kontakt-dataene. Da har man grunnlag for smittesporing som gjør at vi kan lempe på de generelle isolasjonstiltakene vi har mot epedemien.

NRK hadde idag som hovedoppslag en artikkel under overskriften Advarer mot å installere FHIs korona-app . Dette gir et kraftig følelsesmessig signal til befolkningen om å holde seg unna. Dette er ikke bra for et system som forutsetter at de fleste av oss aksepterer løsningen og installerer appen. Jeg publiserte derfor følgende kommentar før artikkelen forsvant fra forsiden til NRK:

Overskriften er en tabloid brøler av NRK som kan plante forutinntatte holdninger i en sak som kan bli svært viktig for videre forløp og tiltak mot pandemien. Forutsetningen for å lykkes med tiltaket er en massiv aksept i samfunnet av appen slik at de fleste velger å installerer den. Da må personvernaspektene løses på en god og tillitsvekkende måte. Artikkelen belyser dette bra og diskusjon om dette er nødvendig, men overskriften er feil.

FHIs valg sammen med Simula birdar også til skepsis og kan vise seg å være avgjørende feil. Vi trenger åpenhet fra første stund om slike systemer. Simula har gått motsatt vei. De her fjernet koden fra Github og holder kortene tett til brystet. Er det personvern eller forretnings-hemmeligheter de skjuler?

Dette er en global utfordring som motiverer til globalt samarbeid om løsninger. Singapore appen foreslås som mulig åpen løsning, men de planlegger å frigi koden, den er ennå ikke fritt tilgjengelig.

Åpen kildekode og åpenhet om personvernspørsmålene burde være åpenbare forutsetninger for success. Utviklere fra navigasjonsselskapet Sygic (https://www.sygic.com/press/code-vs-corona-volunteers-and-developers-from-slovakia-are-offering-everyone-covid-19-app-for-free-as-open-source-software#) har forstått dette og inviterer til samarbeid med kildekode på https://github.com/CovidWorld

Hvorfor har vi ikke hengt oss på slik strategi? Simulas antydninger om «security by obscurity» er lite tillitsvekkende og kan gjøre det svært vanskelig å oppnå den nødvendige aksept i befolkningen.

Linux thrashing

Vanligvis har Linux vært kjent for å kreve lite resurser. Dette ser ut til å endre seg når man kjører Chrome på gammel PC. Jeg har en HP Compaq nc6320 som til stadighet har låst seg opp med kontinuerlig disk-aktivitet i det siste. Chrome med en haug samtidige tabs ser ut til å være utløsende faktor.

Oppgradering til 4Gb ram løste ikke problemet. Ei heller å ikke bruke swap. Jeg har gått ut fra at dette er et klassisk eksempåel på thrashing, dvs at systemet bruker alle resurser på å flytte prosesser inn og ut av minnet og får lite eller ingen tid igjen til bruker-programmene.

Jeg har derfor forsøkt user-space programmer for å drepe prosesser som låser opp systemet.

Thrash-protect

Git: https://github.com/tobixen/thrash-protect.git

Skrevet i python. Fungerer brukbart, men tar mye resurser på min svært gamle maskin. Jeg er usikker på om fordelen med å unngå lockup overstiger ulempen med redusert ytelse.

oomd

Facebook har nylig laget en tilsvarede funksjon i C++.

Git: https://github.com/facebookincubator/oomd

oomd er kun støttet på RerdHat, men en port til Debian unstable er på vei. Jeg installerte fra source under Debian buster.

$ sudo apt install meson pkg-config libjsoncpp-dev libsystemd-dev \ libgtest-dev libgmock-dev

$ git clone https://github.com/facebookincubator/oomd 
$ cd oomd 
$ meson build && ninja -C build 
$ cd build && sudo ninja install

Konfig ender opp i /usr/local/etc/oomd/ og /usr/local/lib/systemd/system
systemctl må restartes.

Debian buster har kjerne 4.19, mens oomd krever > =4.20. Jeg fant 5.x fra backport.
Legg inn følgende i /apt/sources.list

#Backports to get kernel 5.x (ØJ)
deb http://deb.debian.org/debian buster-backports main

Søk etter tilgjengelig kjerneversjon med apt search og installer kjerne og headers:

sudo apt update
apt search linux-image
sudo apt install linux-image-5.4.0-0.bpo.3-amd64
sudo apt install linux-headers-5.4.0-0.bpo.3-amd64
sudo reboot

Verifiser oomd med systemctl status oomd.service etter reboot.

Sjekk status:

$ sudo oomd -d

{
   "oomd.dropin.added" : 0,
   "oomd.dropin.fired" : 0,
   "oomd.kills" : 0
}

Virker som endret kjerne løser mye av problemet. Betydelig mindre bruk av swap og ingen lockout så langt:

top - 13:29:43 up  2:45,  1 user,  load average: 0.47, 0.74, 0.85
Tasks: 217 total,   1 running, 215 sleeping,   1 stopped,   0 zombie
%Cpu(s):  8.6 us,  5.7 sy,  0.0 ni, 85.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3240.8 total,    147.3 free,   2438.7 used,    654.8 buff/cache
MiB Swap:   3431.0 total,   2492.7 free,    938.2 used.    301.8 avail Mem 

Tracking – AnkerDrammen

(Under utvikling.)

Jeg har laget en trackingløsning som kun forutsetter mobiltelefon med GPS på den enkelte båt. Trackerløsningen var opprinnelig ment å holde styr på hvor folk har gjort av seg mellom holmer og skjær, slik at man kan nyte ankerdrammer i fellesskap.

Jeg har oppgradert den til å tracke i tilnærmet sann tid, og det er ambisjonen at man kan se hvordan man ligger an på regattabanen i forhold til konkurrentene. Avspilling i etterkant kommer!

Link til AnkerDrammen. Du må benytte https for at nettleser skal få tilgang på GPS, men dette er kun viktig om du tracker fra web-grensesnittet.

Det er flere måter å tracke posisjonen på:

  • via web. Dette er den enkleste med dårligste løsningen
  • Owntracks app. Antagelig enklest å sette opp.
  • Gpslogger app. Best stabilitet?

Jeg har kun testet på Android og her er det et fundamentalt problem med bakgrunnsjobber. Se https://dontkillmyapp.com/

Beste råd er å koble til lader mens du tracker og skru av batterisparefunksjoner.

Felles for alle løsningene er at du må registrere en bruker på AnkerDrammen først. Det er foreløpig ingen passord resett funksjon, så noter deg brukernavn/passord.

Web tracking

Webgrensesnittet brukes også for å se tracking av egen og andre båter, også når du benytter app for å tracke.

Du skal etter pålogging få opp ved å velge Map:

Du kan switche til sjøkart med menyen opp til høyre:

Oppdateringstid er fargekodet. Grønne båter er oppdatert siste minutt, deretter blir fargen gul, og etter 5 minutter rød. Eldre oppdateringer vises med andre farger, og du finner kodingen ved å trykke ? i menyen.

Tracking

Skru på /av tracking under menypunktet Pos

Mange browsere krever at du har kryptert forbindelse ( https) for å gi tilgang til GPS.

Owntracks

Owntracks kan sende posisjonsoppdateringer fra telefon til en web-side.

Under Preferences velger du Connections og setter Mode til Private HTTP

Deretter setter du Host til http://www.jelstad.org/nav/owntrack.php

Under Identification oppgir du brukernavn og passord som du har registrert deg med på AnkerDrammen . Du kan oppgi device og tracker ID også, men dette er ikke kritisk.

Pass på at du er i Move mode indikert med ikonet

Move mode

i skjermbildet under:

GPSlogger

Velg Logging Details ->Log to Custom URL. (Skru av all annen logging). Når du aktiverer kommer følgende opp:

Her må du skrive inn URL med pinlig nøyaktighet.

Deretter velger du Basic Authentication og oppgir brukernavn og passord fra registreringen på AnkerDrammen

Tilbake i hovedskjermbildet velger du Log View som visningsmode og starter logging. Du skal da få opp skjermbilde som viser hva som foregår.

Det kan være lurt å skru på Distance filter ( under konfig – Performance) og sette min distanse til 50 meter.