X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/848bb0953a36f422b0ca8bf2750e8b144aed48ae..8b5640a84069968e3c224a15aa9d3bb5efc28fbf:/blog/archive/2015/02/02.rss diff --git a/blog/archive/2015/02/02.rss b/blog/archive/2015/02/02.rss index 5d89927df9..c2a74d841f 100644 --- a/blog/archive/2015/02/02.rss +++ b/blog/archive/2015/02/02.rss @@ -6,11 +6,197 @@ http://people.skolelinux.org/pere/blog/ + + En enklere Osloskolehverdag med automatisk sjekk av Fronter + http://people.skolelinux.org/pere/blog/En_enklere_Osloskolehverdag_med_automatisk_sjekk_av_Fronter.html + http://people.skolelinux.org/pere/blog/En_enklere_Osloskolehverdag_med_automatisk_sjekk_av_Fronter.html + Thu, 12 Feb 2015 10:30:00 +0100 + <p>En stund nå har jeg vært nødt til å forholde meg til +<a href="https://fronter.com/osloskoler/">Fronter</a>, 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.</p> + +<p>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.</p> + +<p>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 hangeslange, 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.</p> + +<p>For å logge inn i Fronter besøker en enten skolens websider eller +den sentrale innlogginsiden <tt>https://fronter.com/osloskoler/</tt>. +Perl-koden for å logge inn ser slik ut:</p> + +<pre> +my $mech = WWW::Mechanize->new(); +$mech->get('https://fronter.com/osloskoler/'); +$mech->submit_form(fields => { + username => $username, + password => $password, +} ); +</pre> + +<p>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, +<tt>https://fronter.com/osloskoler/adm/projects.phtml?mode=displayRoomchooser</tt>, +så jeg bruker denne til å hente ut romoversikt med rom-ID.</p> + +<pre> +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; + } +} +</pre> + +<p>Når en har rom-ID kan en slå opp websiden for rommet, som starter +på +<tt>https://fronter.com/osloskoler/contentframeset.phtml?goto_prjid=$ROMID</tt> +(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 innloggs-nøkkel er fjernet og deretter +bruker jeg <tt>lynx --dump --nolist</tt> 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.</p> + +<p>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 +<a href="https://github.com/petterreinholdtsen/fronter-scraper-oslo">lastes +ned fra github</a>. For å bruke det, kjør følgende kommandoer på din +Debian-maskin (forutsetter sudo-tilgang for installasjon av +programvare):</p> + +<pre> +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 +</pre> + +<p>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.</p> + + + + + Nude body scanner now present on Norwegian airport + http://people.skolelinux.org/pere/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html + http://people.skolelinux.org/pere/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html + Tue, 10 Feb 2015 15:20:00 +0100 + <p>Aftenposten, one of the largest newspapers in Norway, today report +that +<a href="http://www.aftenposten.no/reise/Slik-skannes-kroppen-din-i-fremtidens-sikkerhetskontroll-490666_1.snd">three +of the nude body scanners now is put to use at Gardermoen</a>, 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.</p> + +<p>Wikipedia have a more on +<a href="https://en.wikipedia.org/wiki/Full_body_scanner">Full body +scanners</a>, including example images and a summary of the +controversy about these scanners.</p> + +<p>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.</p> + + + + + Nagios module to check if the Frikanalen video stream is working + http://people.skolelinux.org/pere/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html + http://people.skolelinux.org/pere/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html + Sun, 8 Feb 2015 13:00:00 +0100 + <p>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 +<ahref="http://www.frikanalen.no/">Frikanalen</a> as part of my +activity in the <ahref="http://www.nuug.no/">NUUG member +organisation</a>, 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.</p> + +<p>I just uploaded the code for the script into the +<a href="https://github.com/Frikanalen/frikanalen/blob/master/nagios-plugin/check_video_stream_images">Frikanalen +git repository</a> on github. If you run a TV station with web +streaming, perhaps you can find it useful too.</p> + +<p>Last year, the Frikanalen public TV station transformed into using +only Linux based free software to administrate, schedule and +distribute the TV content. The +<a href="https://github.com/Frikanalen">source code for the entire TV +station</a> 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 href="http://beta.frikanalen.tv/api/">a web API</a> to +<a href="http://beta.frikanalen.tv/login/?next=/members/video/">add</a> +and <a href="http://beta.frikanalen.tv/members/plan/">schedule +content</a>. And thanks to last weeks developer gathering and +following activity, we now have the schedule +<a href="http://beta.frikanalen.tv/xmltv/2015/01/01">available as +XMLTV</a> 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?</p> + + + Mer allemannseie til inspirasjon og glede http://people.skolelinux.org/pere/blog/Mer_allemannseie_til_inspirasjon_og_glede.html http://people.skolelinux.org/pere/blog/Mer_allemannseie_til_inspirasjon_og_glede.html - Fri, 6 Feb 2015 23:25:00 +0100 + Fri, 6 Feb 2015 23:30:00 +0100 <p>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 @@ -20,7 +206,7 @@ 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, opphavsrettens +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 @@ -1451,6 +1637,47 @@ heldigvis. Opphavsrettens statstøttede monopoler varer ikke evig &mdash; 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.<p> + +<p>Oppdatering 2016-02-07: Ble tipset av Kjetil Kjernsmo om at en kan +bruke <a href="http://dbpedia.org/sparql">dbpedia.org sitt Virtuoso +SPARQL-grensesnitt</a> 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 +<a href="http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=PREFIX+dbo%3A++%3Chttp%3A%2F%2Fdbpedia.org%2Fontology%2F%3E%0D%0APREFIX+foaf%3A+%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E%0D%0APREFIX+skos%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0D%0APREFIX+dct%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0APREFIX+dbpprop%3A+%3Chttp%3A%2F%2Fdbpedia.org%2Fproperty%2F%3E%0D%0A%0D%0ASELECT+%3Fname+%3Fpage+%3FYEAR+WHERE+%7B%0D%0A++%3Fperson+a+foaf%3APerson+%3B%0D%0A++++++++++foaf%3AisPrimaryTopicOf+%3Fpage+%3B%0D%0A++++++++++dbpprop%3Aname+%3Fname+%3B%0D%0A++++++++++dbo%3AdeathYear+%3FYEAR+%3B%0D%0A++++++++++dct%3Asubject%2Fskos%3Abroader%3F++%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FCategory%3ANorwegian_artists%3E%0D%0A++FILTER+%28%3FYEAR+%3C+xsd%3Adate%28%221945-01-01%22%29%29%0D%0A%7D%0D%0A&format=text%2Fhtml&timeout=30000&debug=on">følgende +søkeuttrykk</a>:</p> + +<pre> +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")) +} +</pre> + +<p>Det kan jo være en ide for å skripte uthenting i fremtiden, hvis en +vil vedlikeholde listen over kunstnere i Wikipedia.</p> + +<p>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 +<a href="https://en.wikipedia.org/wiki/2014_in_public_domain">2014</a> +<a href="https://en.wikipedia.org/wiki/2015_in_public_domain">2015</a> +og +<a href="https://en.wikipedia.org/wiki/2016_in_public_domain">2016</a>. +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.</p>