+ <p>I fjor lanserte Bitfactory en
+<a href="http://www.bitfactory.no/bensinpris.html">mobilapp for å få
+tilgang til bensinpriser</a> på landets bensinstasjoner ved å samle
+inn prisene på dugnad ved hjelp av mobilapp-ens brukere.
+Informasjonen app-ens brukere har samlet inn har så langt kun vært
+tilgjengelig for brukerne av app-ene, og API for å hente ut
+informasjonen fra andre plattformer har ikke vært publisert. Da
+løsningen kom spurte jeg utviklerne om de kunne publisere
+API-dokumentasjon og de skulle se på saken, men det har ikke skjedd så
+langt. Jeg antar de har vært for travelt opptatt til å publisere
+API-dokumentasjon.</p>
+
+<p>Utrolig nok er det i følge
+<a href="http://www.dn.no/energi/article2194526.ece">Dagens
+Næringsliv</a> og
+<a href="http://www.finnmarkdagblad.no/nyheter/article5323140.ece">Finnmark
+Dagblad</a> bensinstasjoner som nekter å oppgi prisene sine på
+telefon, slik at det ikke finnes en fornuftig måte å få tak i prisene
+på uten å samle dem inn på stedet. Flere har dugnader på gang for å
+samle inn prisinformasjon om bensin, men så vidt jeg kan se er det kun
+<a href="http://www.dinside.no/php/oko/bensin/vis_prisliste.php">dinside.no</a>
+og Bitfactorys App som får regelmessige oppdateringer. Dinsides
+oversikt er tilgjengelig på web for de som vil følge med, mens
+bitfactorys informasjon ikke er like enkelt tilgjengelig.<p>
+
+<p>Jeg tok meg derfor litt tid for å revers-utvikle protokollen for
+Bitfactorys mobilapp for å gjøre den innsamlede informasjonen mer
+tilgjengelig for flere. Protokollen bruker HTTP og normal
+forms-notasjon for POST. Jeg lot en telefon koble seg til mitt
+trådløsnett, og satte opp tcpdump til å samle all trafikken mot
+www.bitfactory.no, og deretter tittet på alle HTTP-kallene ved hjelp
+av wireshark. Her er API-kallene jeg har identifisert så langt.</p>
+
+<p><b>stasjonsDatabaseUpdateStamp</b></p>
+
+<p><tt>GET http://www.bitfactory.no/Bensin/ver1.1.stasjonsDatabaseUpdateStamp</tt></p>
+
+<p>Vet ikke helt hva dette API-kallet gjør, men navnet gjør at jeg
+tror den rapporterer når listen over stasjoner sist ble endret.
+Returverdien er et tall som pr. 2011-12-09 er 1319145491 og
+pr. 2012-05-28 er 1336420693. Mitt gjett er at dette er sekunder
+siden 1. januar 1970 ala det en finner på Linux, som kan konverteres
+til en leselig dato med <tt>perl -e 'print
+scalar(localtime(1319145491)), "\n"'</tt>. Den første verdien
+konverterer da til "Thu Oct 20 23:18:11 2011", mens den andre
+konverteres til "Mon May 7 21:58:13 2012".</p>
+
+<p><b>GetXMLDatabase</b></p>
+
+<p><tt>echo password=XYZXYZXYZXYZX | POST http://www.bitfactory.no/Bensin/GetXMLDatabase.php</tt></p>
+
+<p>Henter ned listen med stasjoner på XML-format. Argumentet er
+password som muligens følger med i programpakken og eventuelt
+genereres av app-en. Nedlasting med samme passord flere ganger ser
+ikke ut til å fungere. Innholdet er ca. 1600 stasjoner, men manglet
+bensinstasjonen i min hjemkommune Ballangen da jeg sjekket, så den er
+ikke komplett. Formatet på selve listen ser slik ut (klippet):</p>
+
+<p><pre>
+<?xml version="1.0" encoding="UTF-8"?>
+<STASJONSDATABASE>
+<STASJON>
+<NAME></NAME>
+<ADDRESS></ADDRESS>
+<ID>0</ID>
+<LATITUDE>0.000000</LATITUDE>
+<LONGITUDE>0.000000</LONGITUDE>
+<COMPANY></COMPANY>
+</STASJON>
+<STASJON>
+<NAME>Statoil Best Eidsvoll Verk</NAME>
+<ADDRESS>Gamle Trondheimsvei 339 2074 Eidsvoll Verk</ADDRESS>
+<ID>1</ID>
+<LATITUDE>60.303902</LATITUDE>
+<LONGITUDE>11.168100</LONGITUDE>
+<COMPANY>Best</COMPANY>
+</STASJON>
+[...]
+<STASJON>
+<NAME>Esso Andenes</NAME>
+<ADDRESS>Falcksgate 9, 8480 Andenes</ADDRESS>
+<ID>1822</ID>
+<LATITUDE>69.320999</LATITUDE>
+<LONGITUDE>16.118700</LONGITUDE>
+<COMPANY>Esso</COMPANY>
+</STASJON>
+</STASJONSDATABASE>
+</pre></p>
+
+<p><b>GetBanStatus</b></p>
+
+<p><tt>echo UDID=Android-123456789012345 | POST http://www.bitfactory.no/Bensin/ver1.1.GetBanStatus.php</tt></p>
+
+<p>Vet heller ikke helt hva dette API-kallet gjør. Navnet gjør at jeg
+tror den rapporterer om telefonen med UDID oppgitt som argument er
+bannlyst fra tjenesten. Bannlysning gjør antagelig at telefonen ikke
+kan brukes til å registrere bensinpriser, men det er også mulig det
+blokkerer for å se på priser. Eneste POST-argument er UDID, som ser
+ut til å være den unike ID-en til en mobil-enhet. Returnverdi er 'NO'
+for alle UDID-verdier jeg har testet. Gjetter på at alternativ
+returverdi er 'YES', men har ikke sett en slik verdi så langt.</p>
+
+<p><b>PriserVedStasjoner</b></p>
+
+<p><tt>echo 'stasjoner=810,364&day=0' | POST http://www.bitfactory.no/Bensin/ver1.1.PriserVedStasjoner.php</tt></p>
+
+<p>Dette kallet henter ut priser registrert på en eller flere
+bensinstasjoner. Den tar to POST-argumenter, "stasjoner" som er
+kommaseparert liste over stasjons-IDer (numeriske), og "day" som bør
+settes til "0" for å få ut informasjon om priser. Usikker på hva
+day-tallet betyr, men mistenker det har med hvor langt tilbake i tid
+det skal hentes ut informasjon.</p>
+
+<p>Resultatet som kommer tilbake er en kommaseparert liste for hver
+enkelt stasjon, med <br> som skillemarkør mellom hver stasjon.
+Ikke helt sikker på hva alle feltene er. Her er mine gjett:</p>
+
+<p><table>
+<tr><ht>Felt</ht><ht>Beskrivelse</ht></tr>
+<tr><td>1</td><td>Bensinstasjons-ID</td></tr>
+<tr><td>2</td><td>Pris for blyfri 95 oktan, flyttall med punktum som desimalskille.</td></tr>
+<tr><td>3</td><td>Klokkeslett da prisen ble oppdatert, format HH:MM. </td></tr>
+<tr><td>4</td><td>Telefon-ID på formen Android-123456789012345 eller hex-kodet streng/MD5-sum</td></tr>
+<tr><td>5</td><td>tall, uviss betydning. muligens relatert til day-verdien. <b>Oppdatering 2012-06-02: Denne verdien er antall bekreftelser en gitt pris har fått.</td></tr>
+<tr><td>6</td><td>Pris for blyfri 98-oktan?</td></tr>
+<tr><td>7</td><td>samme som felt 3</td></tr>
+<tr><td>8</td><td>samme som felt 4</td></tr>
+<tr><td>9</td><td>samme som felt 5</td></tr>
+<tr><td>10</td><td>Pris for disel</td></tr>
+<tr><td>11</td><td>Samme som felt 3</td></tr>
+<tr><td>12</td><td>Samme som felt 4</td></tr>
+<tr><td>13</td><td>Samme som felt 5</td></tr>
+</table></p>
+
+<p>En stasjonsoppføring består dermed av av bensinstasjons-ID og
+deretter tre blokker for 95-oktan bensin, 98-oktan bensin og
+disel.</p>
+
+<p><b>PriserVedStasjon</b></p>
+
+<p><tt>echo 'id=736&day=0' | POST http://www.bitfactory.no/Bensin/ver1.1.PriserVedStasjon.php</tt></p>
+
+<p>Ser ut til å returnere informasjon for en enkelt bensinstasjon.
+Formatet er dato på formen "08_12_2011" for 2011-12-08, og noe som ser
+ut som samme format som fra PriserVedStasjoner. For stasjoner der
+intet er registrert returnerer den "NO RESULTS".</p>
+
+<p><b>AllePriser</b></p>
+
+<p><tt>echo day=0 | POST http://www.bitfactory.no/Bensin/ver1.1.AllePriser.php</tt></p>
+
+<p>Returnere liste med av alle stasjoner det er registrert oppdaterte
+priser på siste 24 timer (eller er det fra ca. midnatt dagen før?).
+Returnerer "NO RESULTS" når listen er tom. Ellers returnerer den en
+dato på formen "Thursday_09_12_2011" fulgt av <br> og deretter
+en liste med stasjoner på samme format som PriserVedStasjoner.</p>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html">Debian Edu interview: Ralf Gesellensetter</a>
+ </div>
+ <div class="date">
+ 27th May 2012
+ </div>
+ <div class="body">
+ <p>In 2003, a German teacher showed up on the
+<a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
+mailing list with interesting problems and reports proving he setting
+up Linux for a (for us at the time) lot of pupils. His name was Ralf
+Gesellensetter, and he has been an important tester and contributor
+since then, helping to make sure the
+<a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
+Squeeze</a> release became as good as it is..</p>
+
+<p><strong>Who are you, and how do you spend your days?</strong></p>
+
+<p>I am a teacher from Germany, and my subjects are Geography,
+Mathematics, and Computer Science ("Informatik"). During the past 12
+years (since 2000), I have been working for a comprehensive (and soon,
+also inclusive) school leading to all kind of general levels, such as
+O- or A-level ("Abitur"). For quite as long, I've been taking care of
+our computer network.</p>
+
+<p>Now, in my early 40s, I enjoy the privilege of spending a lot of my
+spare time together with my wife, our son (3 years) and our daughter
+(4 months).</p>
+
+<p><strong>How did you get in contact with the Skolelinux/Debian Edu
+project?</strong></p>
+
+<p>We had tried different Linux based school servers, when members of
+my local Linux User Group (LUG OWL) detected Skolelinux. I remember
+very well, being part of a party celebrating the Linux New Media Award
+("Best Newcomer Distribution", also nominated: Ubuntu) that was given
+to Skolelinux at Linux World Exposition in Frankfurt, 2005 (IIRC). Few
+months later, I had the chance to join a developer meeting in Ulsrud
+(Oslo) and to hand out the award to Knut Yrvin and others. For more
+than 7 years, Skolelinux is part of our schools infrastructure, namely
+our main server (tjener), one LTSP (today without thin clients), and
+approximately 50 work stations. Most of these have the option to boot a
+locally installed Skolelinux image. As a consequence, I joined quite
+a few events dealing with free software or Linux, and met many Debian
+(Edu) developers. All of them seemed quite nice and competent to me,
+one more reason to stick to Skolelinux.</p>
+
+<p><strong>What do you see as the advantages of Skolelinux/Debian
+Edu?</strong></p>
+
+<p>Debian driven, you are given all the advantages of a community
+project including well maintained updates. Once, you are familiar with
+the network layout, you can easily roll out an entire educational
+computer infrastructure, from just one installation media. As only
+free software (FOSS) is used, that supports even elderly hardware,
+up-sizing your IT equipment is only limited by space (i.e. available
+labs). Especially if you run a LTSP thin client server, your
+administration costs tend towards zero.</p>
+
+<p><strong>What do you see as the disadvantages of Skolelinux/Debian
+Edu?</strong></p>
+
+<p>While Debian's stability has loads of advantages for servers, this
+might be different in some cases for clients: Schools with unlimited
+budget might buy new hardware with components that are not yet
+supported by Debian stable, or wish to use more recent versions of
+office packages or desktop environments. These schools have the
+option to run Debian testing or other distributions - if they have the
+capacity to do so. Another issue is that Debian release cycles
+include a wide range of changes; therefor a high percentage of human
+power seems to be absorbed by just keeping the features of Skolelinux
+within the new setting of the version to come. During this process,
+the cogs of Debian Edu are getting more and more professional,
+i.e. harder to understand for novices.</p>
+
+<p><strong>Which free software do you use daily?</strong></p>
+
+<p>LibreOffice, Wikipedia, Openstreetmap, Iceweasel (Mozilla Firefox),
+KMail, Gimp, Inkscape - and of course the Linux Kernel (not only on
+PC, Laptop, Mobile, but also our SAT receiver)</p>
+
+<p><strong>Which strategy do you believe is the right one to use to
+get schools to use free software?</strong></p>
+
+<p><ol>
+
+<li>Support computer science as regular subject in schools to make
+people really "own" their hardware, to make them understand the
+difference between proprietary software products, and free software
+developing.</li>
+
+<li>Make budget baskets corresponding: In Germany's public schools
+there are more or less fixed budgets for IT equipment (including
+licenses), so schools won't benefit from any savings here. This
+privilege is left to private schools which have consequently a large
+share among German Skolelinux schools.</li>
+
+<li>Get free software in the seminars where would-be teachers are
+trained. In many cases, teachers' software customs are respected by
+decision makers rather than the expertise of any IT experts.</li>