- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Litt_informasjon_om_Bitfactorys_Bensinpris_API.html">Litt informasjon om Bitfactorys Bensinpris-API</a></div>
- <div class="date">28th May 2012</div>
- <div class="body"><p>I fjor siden 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
-Dagbladet</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=X43uP9KS_3ZqR | POST http://www.bitfactory.no/Bensin/GetXMLDatabase.php
-<p><tt>echo password=XYZXYZXYZXYZX | POST http://www.bitfactory.no/Bensin/GetXMLDatabase.php
-
-<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>
-
-<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><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>
-
-<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.</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>
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Hvorfor_leverer_noen_sent_til_Offentlig_Elektronisk_postjournal_.html">Hvorfor leverer noen sent til Offentlig Elektronisk postjournal?</a></div>
+ <div class="date"> 5th July 2012</div>
+ <div class="body"><p>I forbindelse med NUUG-prosjektet for å
+<a href="http://people.skolelinux.org/pere/blog/Postjournaler_i_det_offentlige___vanskelig_med_vilje_.html">lage
+en samlet postjournal</a>, har jeg som tidligere nevnt
+<a href="https://scraperwiki.com/scrapers/postliste-oep-deliverydates/">samlet
+inn leveringstidspunkt</a> for de ulike leverandørene av postjournaler
+til DIFIs <a href="http://www.oep.no/">Offentlig Elektronisk
+Postjournal</a>.
+<a href="https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=htmltable&name=postliste-oep-deliverydates&query=select%20agency%2C%0A(julianday(datetime('now'))%20-%20%0A%20julianday(min(%60deliverydate%60)))%2Fcount(*)%20as%20dayfreq%2C%0A%20count(*),max(deliverydate)%20as%20lastdelivery%0Afrom%20%60swdata%60%20group%20by%20agency%20order%20by%20dayfreq%20desc">Leveringsfrekvensen</a>
+ser i dag slik ut for de som har brukt mer enn 10 dager i snitt siden
+jeg startet innsamling av leveringsdato 2012-05-14</p>
+
+<table border="1">
+<tr> <th>agency</th> <th>dayfreq</th> <th>count(*)</th> <th>lastdelivery</th> </tr>
+<tr> <td>Norges geologiske undersøkelse</td> <td>27.0866579862</td> <td>4</td> <td>2012-07-02T00:00:00</td> </tr>
+<tr> <td>Kompetansesenter for distriktsutvikling</td> <td>18.4488773149</td> <td>3</td> <td>2012-06-20T00:00:00</td> </tr>
+<tr> <td>Toll- og avgiftsdirektoratet</td> <td>18.4488773149</td> <td>3</td> <td>2012-07-04T00:00:00</td> </tr>
+<tr> <td>Departementenes servicesenter</td> <td>18.0866579862</td> <td>4</td> <td>2012-06-29T00:00:00</td> </tr>
+<tr> <td>Medietilsynet</td> <td>14.5866579862</td> <td>4</td> <td>2012-07-04T00:00:00</td> </tr>
+<tr> <td>Politidirektoratet</td> <td>14.3366579862</td> <td>4</td> <td>2012-06-20T00:00:00</td> </tr>
+<tr> <td>Fredskorpset</td> <td>12.4693263889</td> <td>5</td> <td>2012-06-22T00:00:00</td> </tr>
+<tr> <td>Kunnskapsdepartementet</td> <td>11.2693263889</td> <td>5</td> <td>2012-07-05T00:00:00</td> </tr>
+<tr> <td>Statens legemiddelverk</td> <td>10.4780902778</td> <td>7</td> <td>2012-06-29T00:00:00</td> </tr>
+<tr> <td>Norsk Akkreditering</td> <td>10.4488773149</td> <td>3</td> <td>2012-07-02T00:00:00</td> </tr>