Petter Reinholdtsen

Entries from February 2015.

The Citizenfour documentary on the Snowden confirmations to Norway
28th February 2015

Today I was happy to learn that the documentary Citizenfour by Laura Poitras finally will show up in Norway. According to the magazine Montages, a deal has finally been made for Cinema distribution in Norway and the movie will have its premiere soon. This is great news. As part of my involvement with the Norwegian Unix User Group, me and a friend have tried to get the movie to Norway ourselves, but obviously we were too late and Tor Fosse beat us to it. I am happy he did, as the movie will make its way to the public and we do not have to make it happen ourselves. The trailer can be seen on youtube, if you are curious what kind of film this is.

The whistle blower Edward Snowden really deserve political asylum here in Norway, but I am afraid he would not be safe.

Tags: english, nuug, personvern, surveillance.
The Norwegian open channel Frikanalen - 24x7 on the Internet
25th February 2015

The Norwegian nationwide open channel Frikanalen is still going strong. It allow everyone to send the video they want on national television. It is a TV station administrated completely using a web browser, running only Free Software, providing a REST api for administrators and members, and with distribution on the national DVB-T distribution network RiksTV. But only between 12:00 and 17:30 Norwegian time. This has finally changed, after many years with limited distribution. A few weeks ago, we set up a Ogg Theora stream via icecast to allow everyone with Internet access to check out the channel the rest of the day. This is presented on the Frikanalen web site now. And since a few days ago, the channel is also available via multicast on UNINETT, available for those using IPTV TVs and set-top boxes in the Norwegian National Research and Education network.

If you want to see what is on the channel, point your media player to one of these sources. The first should work with most players and browsers, while as far as I know, the multicast UDP stream only work with VLC.

The Ogg Theora / icecast stream is not working well, as the video and audio is slightly out of sync. We have not been able to figure out how to fix it. It is generated by recoding a internal MPEG transport stream with MPEG4 coded video (ie H.264) to Ogg Theora / Vorbis, and the result is less then stellar. If you have ideas how to fix it, please let us know on frikanalen (at) nuug.no. We currently use this with ffmpeg2theora 0.29:

./ffmpeg2theora.linux <OBE_gemini_URL.ts> -F 25 -x 720 -y 405 \
 --deinterlace --inputfps 25 -c 1 -H 48000 --keyint 8 --buf-delay 100 \
 --nosync -V 700 -o - | oggfwd video.nuug.no 8000 <pw> /frikanalen.ogv

If you get the multicast UDP stream working, please let me know, as I am curious how far the multicast stream reach. It do not make it to my home network, nor any other commercially available network in Norway that I am aware of.

Tags: english, frikanalen, h264, nuug, video.
En enklere Osloskolehverdag med automatisk sjekk av Fronter
12th February 2015

En stund nå har jeg vært nødt til å forholde meg til Fronter, en nettløsning Osloskolen bruker for kontakt mellom hjem og skole. Løsningen imponerer ikke, og det er lagt opp til at vi foreldre skal logge inn regelmessig for å se om noe har endret seg. Idéen om å la folk stikke innom nettsider for å se om det har skjedd endringer er så idiotisk at jeg har lett etter et alternativ. Fronterløsningen har en innebygget løsning der en kan abonnere på forsiden (som viser en oppsummering av det en har tilgang til), og få tilsendt en kopi hver natt, men det fjerner jo bare behovet for å stikke innom, ikke den idiotiske ideen om at folk skal huske hvordan nettsiden så ut sist og oppdage hva som er endret.

For å gjøre livet enklere har jeg derfor brukt litt tid på å lage et program som kobler seg opp og sjekker etter endringer automatisk, slik at jeg kan få beskjed fra datamaskinen når noe endrer seg i stedet for å forsøke å finne ut av det selv. I går ble scriptet brukbart, og jeg er dermed klar til å dele det med deg.

Jeg startet med å skrive programmet i Python, og hadde en versjon som logget inn og hentet ned enkeltsider fra Fronter. Men Fronter-websidene suger golfballer gjennom en hageslange, med uleselig HTML, flere nivåer av iframes og en struktur på innholdet som er svært vanskelig å finne ut av, så jeg ga til slutt opp lxml-parsing med Python og forsøkte meg med WWW::Mechanize for Perl som jeg kjente fra før. I ettertid har jeg oppdaget at WWW:Mechanize også finnes for Python, så jeg kunne antagelig droppet språkbyttet. Men da jeg oppdaget det hadde jeg kommet så langt med Perl-utgaven, så jeg hoppet ikke tilbake.

For å logge inn i Fronter besøker en enten skolens websider eller den sentrale innloggingsiden https://fronter.com/osloskoler/. Perl-koden for å logge inn ser slik ut:

my $mech = WWW::Mechanize->new();
$mech->get('https://fronter.com/osloskoler/');
$mech->submit_form(fields => {
    username => $username,
    password => $password,
} );

Neste steg er å få oversikt over hvilke «rom» en har tilgang til. På vår skole er det rom for skolen, biblioteket, elevrådet, aktivitetsskolen og klasser der en har unger, og dette vil være forskjellig fra person til person. Etter å ha romstert rundt i Fronter-grensesnittet endel kom jeg over en grei HTML-side med oversikt over rommene, https://fronter.com/osloskoler/adm/projects.phtml?mode=displayRoomchooser, så jeg bruker denne til å hente ut romoversikt med rom-ID.

my %room;
$mech->get('https://fronter.com/osloskoler/adm/projects.phtml?mode=displayRoomchooser');
for my $link ($mech->links()) {
    my $url = $link->url();
    if ($url =~ m%/links/list_files.phtml\?edit=(\d+)$%) {
        $room{$link->text()} = $1;
    }
}

Når en har rom-ID kan en slå opp websiden for rommet, som starter på https://fronter.com/osloskoler/contentframeset.phtml?goto_prjid=$ROMID (der $ROMID byttes ut med rom-ID-tallet). Det gir en side med iframes, og en må tre nivåer ned i iframes før en får tak i HTML-informasjonen som vises frem når en ser på det aktuelle rommet. Her ga jeg opp den robuste parsingen og hardkodet endel URL-er som i stedet bør spores opp maskinelt. HTML-informasjonen som vises lagres i en fil etter at økt- og innloggings-nøkkel er fjernet og deretter bruker jeg lynx --dump --nolist for å hente ut en tekstlig utgave av websiden. Denne tekstlige utgaven sammenlignes med forrige versjon og oversikt over endringer kan så sendes ut på egnet vis.

Jeg valgte å bruke git til å holde rede på endringer, så jeg sjekker inn HTML og tekst-utgaver i git og bruker git til å vise frem endringene i tekstutgavene. Programvaren for å gjøre dette er testet på Debian GNU/Linux og kan lastes ned fra github.

For å bruke dette selv, kjør følgende kommandoer på din Debian-maskin (forutsetter sudo-tilgang for installasjon av programvare):

sudo apt-get install git lynx-cur libio-prompter-perl libwww-mechanize-perl \
      libconfig-inifiles-perl
git clone https://github.com/petterreinholdtsen/fronter-scraper-oslo
cd fronter-scraper-oslo
./update-git

Det gjenstår endel, men systemet er allerede nyttig for meg. Jeg ønsker at systemet også skal laste ned PDF-er og slikt som er lagt ut for nedlasting på sidene, slik at f.eks. ukeplaner kommer inn i git-arkivet mitt automatisk og jeg får automatisk beskjed når ny ukeplan er lagt ut. Kanskje du kan bidra med å få det på plass, eller kanskje du har andre ting du vil fikse? Jeg tar gjerne imot endringer og forbedringer. Det er mye som kan gjøres bedre, og scriptet er ikke veldig robust mot endringer hos nettsidene til Fronter. Jeg regner dermed med at det vil trengs oppdateringer jevnlig etter hvert som Fronter-løsningen endrer seg.

Tags: norsk, web.
Nude body scanner now present on Norwegian airport
10th February 2015

Aftenposten, one of the largest newspapers in Norway, today report that three of the nude body scanners now is put to use at Gardermoen, the main airport in Norway. This way the travelers can have their body photographed without cloths when visiting Norway. Of course this horrible news is presented with a positive spin, stating that "now travelers can move past the security check point faster and more efficiently", but fail to mention that the machines in question take pictures of their nude bodies and store them internally in the computer, while only presenting sketch figure of the body to the public. The article is written in a way that leave the impression that the new machines do not take these nude pictures and only create the sketch figures. In reality the same nude pictures are still taken, but not presented to everyone. They are still available for the owners of the system and the people doing maintenance of the scanners, as long as they are taken and stored.

Wikipedia have a more on Full body scanners, including example images and a summary of the controversy about these scanners.

Personally I will decline to use these machines, as I believe strip searches of my body is a very intrusive attack on my privacy, and not something everyone should have to accept to travel.

Tags: english, personvern.
Nagios module to check if the Frikanalen video stream is working
8th February 2015

When running a TV station with both broadcast and web stream distribution, it is useful to know that the stream is working. As I am involved in the Norwegian open channel Frikanalen as part of my activity in the NUUG member organisation, I wrote a script to use mplayer to connect to a video stream, pick two images 35 seconds apart and compare them. If the images are missing or identical, something is probably wrong with the stream and an alarm should be triggered. The script is written as a Nagios plugin, allowing us to use Nagios to run the check regularly and sound the alarm when something is wrong. It is able to detect both a hanging and a broken video stream.

I just uploaded the code for the script into the Frikanalen git repository on github. If you run a TV station with web streaming, perhaps you can find it useful too.

Last year, the Frikanalen public TV station transformed into using only Linux based free software to administrate, schedule and distribute the TV content. The source code for the entire TV station is available from the Github project page. Everyone can use it to send their content on national TV, and we provide both a web GUI and a web API to add and schedule content. And thanks to last weeks developer gathering and following activity, we now have the schedule available as XMLTV too. Still a lot of work left to do, especially with the process to add videos and with the scheduling, so your contribution is most welcome. Perhaps you want to set up your own TV station?

Update 2015-02-25: Got a tip from Uninett about their qstream monitoring system, which gather connection time, jitter, packet loss and burst bandwidth usage. It look useful to check if UDP streams are working as they should.

Tags: english, frikanalen, nuug, video.
Mer allemannseie til inspirasjon og glede
6th February 2015

Kultur bygger på kultur. Det betyr blant annet at enhver kunstner og ethvert kulturuttrykk er påvirket av de kulturuttrykk som eksisterer i sin omverdenen. Men for at kunstnere skal kunne uttrykke seg fritt, må de slippe å be om tillatelse når de vil uttrykke seg. Det er vanskelig med dagens opphavsrett, der det meste av populærkulturen (og det meste av mindre populær kultur) er vernet av åndsverksloven og opphavspersonen har enerett (monopol) på enhver bruk av kulturuttrykket. En risikerer å måtte spørre mange om lov hvis en lar seg inspirere. Men det finnes en sikkerhetsventil som sikrer at slike statsstøttede monopoler ikke varer evig, nemlig opphavsrettens utløpstid. I Norge er den på det meste ved utløpet av året, 70 år etter lengstlevendes opphavspersons død. Det betyr f.eks. at et opphavsrettsbeskyttet verk av en 10-åring som lever til vedkommende er 100 vil bli allemannseie 160 år etter at det er skapt. Men det betyr også at det er mulig å finne ut hvilke verk som faller i det fri hvert år, og denne bloggposten handler om det siste.

Like over nyttår hadde pressen noen artikler om at nå var verkene (merk, ikke eksemplarene, de som eier bildene har fortsatt råderett over dem, men enhver kan kopiere dem uten å be om tillatelse fra opphavsrettsinnehaver) til Edvard Munch falt i det fri, dvs allemannseie. Året før var det skriverier om hvordan verkene til Gustav Vigeland nå var allemannseie. Oslo kommune forsøkte til og med å få forlenget sitt monopol over skulpturene ennå noen år, men ble heldigvis stoppet av Patentstyret. Det er nemlig veldig gledelig at vi borgere i Norge får flere verk vi kan la oss glede og inspirere av uten å måtte be om tillatelse fra noen. Men det slo meg at i tillegg til disse veldig kjente kunstnernes verker måtte de være mange andre verk som også var blitt allemannseie, og disse verkene burde gjøres så enkelt tilgjengelig som mulig slik at alle kan få glede av dem. Tekster og bilder burde digitaliseres og legges på nett og gjøres tilgjengelig for landets biblioteker. Musikkstykker burde spilles inn og kringkastes over det ganske land.

For noen uker siden spurte jeg folkene bak Store Norske Leksikon om de kunne gi meg en liste over kunstnere som døde i 1944 (og gjerne de omkringliggende årene), slik at det var mulig å finne ut hvilke verk som var falt i det fri og blitt allemannseie. Det var ikke mulig å hente ut via websidene, men takket være ekstraordinært god innsats fra Georg Kjøll fikk jeg en fil med listen over kunstnere som døde i perioden 1943 til 1947. Dette gjør det mulig å lage en liste kunstnere hvis verk faller i det fri i 2014 - 2018. (Jeg forsøkte å høre med Wikipedia Norge (via IRC) om det var mulig å få en tilsvarende liste derifra, men fikk ingen respons så jeg lot det ligge da jeg jo hadde en god liste allerede.) Her er resultatet, sortert på dødsårtall og fornavn, og med informasjon om fra hvilken database hos Store Norske navnet ble funnet.

Neste steg kan være å slå opp navnene i Nasjonalbibliotekets katalog eller NRKs musikkatalog og få opp hvilke verk disse kunstnerne har laget, og så forsøke å få dem digitalisert og gjort tilgjengelig for alle uten bruksbegrensninger. Det bør antagelig lages en felles database med referanser til hvilke verk som er falt i det fri, slik at en har et felles sted å slå opp slikt. Kanskje jeg får tid til å lage det en dag. Noen av navnene er korrigert for å unngå duplikatoppføringer. Det kan ha introdusert feil i lista hvis to kunstnere med nesten samme navn døde samme år. Uansett, her er listen slik jeg kjenner den pr 2015-02-06.

Kunstnere hvis verk faller i det fri i ved nyttår 2014 (totalt 98).

Kunstnere hvis verk faller i det fri i ved nyttår 2015 (totalt 86).

Kunstnere hvis verk faller i det fri i ved nyttår 2016 (totalt 120).

Kunstnere hvis verk faller i det fri i ved nyttår 2017 (totalt 99).

Kunstnere hvis verk faller i det fri i ved nyttår 2018 (totalt 87).

Til slutt faller et verk i det fri og blir allemannseie — heldigvis. Opphavsrettens statstøttede monopoler varer ikke evig — ennå. Men det er sterke krefter i sving for å utvide verneperioden inn i evigheten, et steg av gangen. Det trengs sterke motkrefter for å verne allemannseiet mot slike angrep.

Oppdatering 2016-02-07: Ble tipset av Kjetil Kjernsmo om at en kan bruke dbpedia.org sitt Virtuoso SPARQL-grensesnitt til å hente ut fra Wikipedia alle kunstnere som døde før 1. januar 1945 og som er klassifisert i en underkategori av Norwegian Artists ved å bruke følgende søkeuttrykk:

PREFIX dbo:  <http://dbpedia.org/ontology/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dct:  <http://purl.org/dc/terms/>
PREFIX dbpprop: <http://dbpedia.org/property/>

SELECT ?name ?page ?YEAR WHERE {
  ?person a foaf:Person ;
          foaf:isPrimaryTopicOf ?page ;
          dbpprop:name ?name ;
          dbo:deathYear ?YEAR ;
          dct:subject/skos:broader?  <http://dbpedia.org/resource/Category:Norwegian_artists>
  FILTER (?YEAR < xsd:date("1945-01-01"))
}

Det kan jo være en ide for å skripte uthenting i fremtiden, hvis en vil vedlikeholde listen over kunstnere i Wikipedia.

Oppdatering 2015-02-08: Ble tipset om at Wikipedia vedlikeholder en liste over kunstnere som har laget verk som faller i det fri i mange land, en for hvert år. Sjekk de som er i listene for 2014 2015 og 2016. Det er et visst overlapp, men det mangler noen i listen fra SNL i lista til Wikipedia. Men jeg synes det er veldig nyttig å se at det er flere som er interessert i å bidra med å spore opp allemanseide verk. Litt underlig at listen ikke vedlikeholdes automatisk, når en ser hva dbpedia kan gjøre med innholdet i Wikipedia.

Oppdatering 2015-05-11: Ble kjent med Public Domain Information Project som gjør allemanseid musikk tilgjengelig, og prosjektet Out Of Copyright, som lager opplegg for å kunne identifisere verk som er falt i det fri. Kom også over The Public Domain Review som både er en samling over verk i det fri, men også et tidsskrift om verdien av allemannseiet.

Oppdatering 2015-12-26: Jonas Smedegaard send me an updated search expression as the original one no longer work with dbpedia.org. The updated search look like this:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dct:  <http://purl.org/dc/terms/>
PREFIX dbpprop: <http://dbpedia.org/property/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT ?name ?page ?YEAR WHERE {
  ?person a foaf:Person ;
          foaf:isPrimaryTopicOf ?page ;
          dbpprop:name ?name ;
          dbo:deathYear ?YEAR ;
          dct:subject/skos:broader?  <http://dbpedia.org/resource/Category:Norwegian_artists>
  FILTER (?YEAR < xsd:date("1945-01-01"))
}

He also provided a search on the SPARQL interface of data.deichman.no to look up a single author there:

PREFIX dct: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?ressource WHERE {
  ?ressource dct:creator ?creator .
  ?creator foaf:name "Lawrence Lessig" .
}

I hope this can provide me with enough starting points to be able to map books to long dead authors.

Tags: norsk, opphavsrett, verkidetfri.

RSS Feed

Created by Chronicle v4.6