+ <item>
+ <title>En enklere Osloskolehverdag med automatisk sjekk av Fronter</title>
+ <link>http://people.skolelinux.org/pere/blog/En_enklere_Osloskolehverdag_med_automatisk_sjekk_av_Fronter.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/En_enklere_Osloskolehverdag_med_automatisk_sjekk_av_Fronter.html</guid>
+ <pubDate>Thu, 12 Feb 2015 10:30:00 +0100</pubDate>
+ <description><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>
+</description>
+ </item>
+
+ <item>
+ <title>Nude body scanner now present on Norwegian airport</title>
+ <link>http://people.skolelinux.org/pere/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html</guid>
+ <pubDate>Tue, 10 Feb 2015 15:20:00 +0100</pubDate>
+ <description><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>
+</description>
+ </item>
+
+ <item>
+ <title>Nagios module to check if the Frikanalen video stream is working</title>
+ <link>http://people.skolelinux.org/pere/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html</guid>
+ <pubDate>Sun, 8 Feb 2015 13:00:00 +0100</pubDate>
+ <description><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>
+</description>
+ </item>
+