+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Åpen og gjennomsiktig vedlikehold av spesifikasjonen for Noark 5 Tjenestegrensesnitt</title>
+ <link>http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html</guid>
+ <pubDate>Mon, 11 Mar 2019 16:00:00 +0100</pubDate>
+ <description><p>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
+finne informasjonen en trenger når en trenger det, og der
+virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
+finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
+vare på offentliggjort informasjon som er tilgjengelig flere steder,
+tar et arkiv vare på virksomhetsintern og til tider personlig
+informasjon som ofte kun er tilgjengelig fra et sted.</p>
+
+<p>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
+samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
+kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
+SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
+vekk det en ikke vil ta vare på, og legge på metadata om det som er
+samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
+arkivet er en del av daglig virke, ikke at det er siste hvilested for
+informasjon ingen lenger har daglig bruk for. For å kunne være en del
+av det daglige virket må arkivet enkelt kunne integreres med andre
+systemer. I disse dager betyr det å tilby arkivet som en
+nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
+og datamaskiner. Det betyr i tur å både tilby nettsider og et
+maskinlesbart grensesnitt.</p>
+
+<p>For noen år siden erkjente visjonære arkivarer fordelene med et
+standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
+gikk igang med å lage noe de kalte
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">Noark
+5 Tjenestegrensesnitt</a>. Gjort riktig, så åpner slike maskinlesbare
+grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
+Gjort feil, vil det blokkere for samvirke og bidra til
+leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
+klart og entydig beskrevet i en spesifikasjon som gjør at
+spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
+og uavhengig av hvem som tar den i bruk.</p>
+
+<p>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
+trengs for å kunne få en fri og åpen standard (se
+<a href="http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">Digistan-definisjon</a>),
+så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
+der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
+etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
+En trenger også automatiserte datasystemer som måler og sjekker at et
+gitt grensesnitt fungerer i tråd med spesifikasjonen.</p>
+
+<p>For Noark 5 Tjenestegrensesnittet er det nå etablert en slik åpen
+og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
+inngangsporten består først og fremst av en åpen portal som lar enhver
+se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
+det hører også med et åpent &quot;diskusjonsforum&quot; der en kan
+komme med endringsforslag og forespørsler om klargjøringer. Alle
+registrerte brukere på github kan bidra med innspill til disse
+henvendelsene.</p>
+
+<p>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
+med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
+inn historikk for endringer i teksten de siste årene, samt lagt inn
+endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
+for at jeg bidro med dette er at jeg er involvert i
+<a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet</a>,
+som lager en fri programvare-utgave av Noark 5 Tjenestegrensesnitt.
+Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
+en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
+å sikre samhandling.</p>
+
+<p>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
+format egnet for versjonskontroll via versjontrollsystemet git. Dette
+gjør det både enkelt å se konkret hvilke endringer som er gjort når,
+samt gjør det praktisk mulig for enhver med github-konto å sende inn
+endringsforslag med formuleringer til spesifikasjonsteksten. Dette
+tekstformatet vises frem som nettsider på github, slik at en ikke
+trenger spesielle verktøy for å se på siste utgave av
+spesifikasjonen.</p>
+
+<p>Fra dette rene tekstformatet kan det så avledes ulike formater, som
+HTML for websider, PDF for utskrift på papir og ePub for lesing med
+ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
+verktøyene pandoc, latex, docbook-xsl og GNU make til
+transformasjonen. Tekstformatet som brukes dag er
+<a href="https://www.markdownguide.org/">Markdown</a>, men det vurderes
+å
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/9">endre
+til formatet RST</a> i fremtiden for bedre styring av utseende på
+PDF-utgaven.</p>
+
+<p>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
+avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
+som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
+Github i andre sammenhenger.</p>
+
+<p>Enkle endringer i teksten kan gjøres av priviligerte brukere
+direkte i nettsidene til Github, ved å finne aktuell fil som skal
+endres (f.eks. kapitler/03-konformitet.md), klikke på den lille
+bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
+en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
+så må endringen &quot;sjekkes inn&quot; i historikken. Det gjøres ved
+å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
+trengs, ikke hva som er endret), under overskriften &quot;Commit
+changes&quot;. En kan og bør legge inn en lengre forklaring i det
+større skrivefeltet, før en velger om endringen skal sendes direkte
+til 'master'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
+om en skal lage en ny gren for denne endringen og opprette en
+endringsforespørsel (aka &quot;Pull Request&quot;/PR). Når alt dette
+er gjort kan en velge &quot;Commit changes&quot; for å sende inn
+endringen. Hvis den er lagt inn i &quot;master&quot;-grenen så er den
+en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
+en endringsforespørsel, så legges den inn i
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls">listen
+over forslag til endringer</a> som venter på korrekturlesing og
+godkjenning.</p>
+
+<p>Større endringer (for eksempel samtidig endringer i flere filer)
+gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
+endringene der før endringsforslaget sendes inn. Denne prosessen er
+godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
+&quot;klones&quot; er
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
+
+<p>For å registrere nye utfordringer (issues) eller kommentere på
+eksisterende utfordringer benyttes nettsiden
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues</a>.
+I skrivende stund er det 48 åpne og 11 avsluttede utfordringer. Et
+forslag til hva som bør være med når en beskriver en utfordring er
+tilgjengelig som utfordring
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/14">#14</a>.</p>
+
+<p>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
+Debian GNU/Linux-maskin med en rekke programpakker installert. Når
+dette er på plass, så holder det å kjøre kommandoen 'make pdf html' på
+kommandolinjen, vente ca. 20 sekunder, før spesifikasjon.pdf og
+spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
+PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
+MacOSX.</p>
+
+<p>Github bidrar med rammeverket. Men for at åpent vedlikehold av
+spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
+tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
+godkjenne forslag til endringer, men det blir størst suksess hvis alle
+som bruker og lager systemer basert på Noark 5 Tjenestegrensesnitt
+bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
+stiller. Blir du med?</p>
+
+<p>Det er viktig å legge til rette for åpen diskusjon blant alle
+interesserte, som ikke krever at en må godta lange kontrakter med
+vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
+laget en IRC-kanal der interesserte enkelt kan orientere seg og
+diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
+innom
+<a href="https://webchat.freenode.net/?channels=nikita">#nikita</a>
+(f.eks. via irc.freenode.net) for å møte likesinnede.</p>
+
+<p>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
+den i bruk gjør en like god jobb. For å automatisk teste om et konkret
+tjenestegrensesnitt følger (min) forståelse av
+spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
+opp til et Noark 5v4 REST-tjeneste og tester alt den finner for å se
+om det er i henhold til min tolkning av spesifikasjonen. Dette
+verktøyet er tilgjengelig fra
+<a href="https://github.com/petterreinholdtsen/noark5-tester">https://github.com/petterreinholdtsen/noark5-tester</a>,
+og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
+introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
+systemer er det helt essensielt å kunne raskt og automatisk sjekke at
+tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
+lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
+slik at vi tidlig og raskt kan oppdage hvor vi har tolket
+spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
+spesifikasjonsteksten enda klarere og bedre.</p>
+
+<p>Dagens beskrivelse av Noark 5 Tjenestegrensesnitt er et svært godt
+utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
+sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
+enda bedre?</p>
+</description>
+ </item>
+
+ <item>
+ <title>Dårlig med sikkerhetsoppdateringer for Ruters billettautomater i Oslo?</title>
+ <link>http://people.skolelinux.org/pere/blog/D_rlig_med_sikkerhetsoppdateringer_for_Ruters_billettautomater_i_Oslo_.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/D_rlig_med_sikkerhetsoppdateringer_for_Ruters_billettautomater_i_Oslo_.html</guid>
+ <pubDate>Wed, 13 Feb 2019 10:45:00 +0100</pubDate>
+ <description><p><a href="http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html">For
+syv år siden</a> oppdaget jeg at billettautomater for
+kollektivtrafikken i Oslo kjørte
+<a href="http://en.wikipedia.org/wiki/Windows_2000">Windows 2000
+Professional</a>. Operativsystemet har ikke fått sikkerhetsfikser fra
+Microsoft siden 2010-07-13 i følge dem selv. Den samme versjonen av
+operativsystemet var i bruk
+<a href="http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html">for
+to og et halvt år siden</a>, og jammen er det ikke også i bruk den dag
+i dag:</p>
+
+<p align="center"><a href="http://people.skolelinux.org/pere/blog/images/2019-02-13-ruter-win2000pro.jpeg"><img width="40%" src="http://people.skolelinux.org/pere/blog/images/2019-02-13-ruter-win2000pro.jpeg" alt="[Bilde av Ruters billettautomat med Windows 2000-feilmelding]"></a></p>
+
+<p>Bildet er tatt i dag av Kirill Miazine og tilgjengelig for bruk med
+bruksvilkårene til
+<a href="http://creativecommons.org/licenses/by/4.0/">Creative
+Commons Attribution 4.0 International (CC BY 4.0)</a>.</p>
+
+<p>Kanskje det hadde vært
+<a href="https://www.aftenposten.no/osloby/i/awqgO/Her-kjorer-du-gratis-trikk-og-buss">bedre
+med gratis kollektivtrafikk</A>, slik at vi slapp å stole på
+datakompetansen til Ruter for å verne våre privatliv samt holde
+personopplysninger og betalingsinformasjon unna uvedkommende. Eneste
+måten å sikre at hvor en befinner seg ikke kan hentes ut fra Ruters
+systemer er å betale enkeltbilletter med kontanter. Jeg vet at Ruter
+har en god historie om hvor personvernvennlige mobil-app og
+RFID-kortene er, men den historien er ikke mulig å uavhengig
+kontrollere uten priviligert tilgang til interne system og blir dermed
+bare nok en god historie basert på tillit til de som forteller
+historien. Det er ikke slik en sikrer privatsfæren. Det gjør en ved
+å sikre at det ikke (kan) registreres informasjon om ens person.</p>
+
+<p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
+det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
+til min adresse
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
+Merk, betaling med bitcoin er ikke anonymt. :)</p>
+</description>
+ </item>
+
+ <item>
+ <title>Stortinget vedtar maskinlesbart register over 20% av selskapseierne i Norge</title>
+ <link>http://people.skolelinux.org/pere/blog/Stortinget_vedtar_maskinlesbart_register_over_20__av_selskapseierne_i_Norge.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Stortinget_vedtar_maskinlesbart_register_over_20__av_selskapseierne_i_Norge.html</guid>
+ <pubDate>Thu, 7 Feb 2019 23:55:00 +0100</pubDate>
+ <description><p>Jeg registrerer med glede at Stortinget i dag har
+<a href="https://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=72826">vedtatt
+at det skal vedlikeholdes et åpent og maskinlesbart register over
+reelle rettighetshavere i Norge</a>. Her kan en kanskje få et
+register som kan brukes til å analysere eierskap og kontroll i Norge
+maskinelt og knytte det til internasjonale databaser som
+<a href="https://opencorporates.com/">OpenCorporates</a>. Det liker
+jeg.</p>
+
+<p>Den vedtatte grense på 25 prosents eierandel fikk stor
+oppmerksomhet i debatten. Jeg ser fra enkel analyse av skatteetatens
+eierskapsregister at 80.4% av alle selskapseiere i registeret har
+mindre enn 25% eierandel, mot 73.8% som har mindre enn 5% eierandel.
+En grense på 25% vil altså utelukke 80.4% av selskapseierne fra det
+vedtatte registeret, og en grense på 5% vil skjule 73.8%. En må helt
+ned i registrering av eierandeler over circa 0.002% for å få mer enn
+halvparten av selskapseierne i Norge. Mon tro hvor langt ned en må i
+eierprosent for å få med alle eierskapene til politisk valgte
+representanter?</p>
+
+<p>Jeg biter meg også merke i at Sivert Bjørnstad fra FrP
+tilsynelatende tror at aksjonærregisteret er et eksisterende åpent
+register, på tross av at det så vidt jeg vet kun deles ved personlig
+oppmøte hos skatteetaten og ikke er tilgjengelig i maskinlesbart
+format for enhver, og dermed så langt ikke er importert inn i
+OpenCorporates. Det anser jeg ikke for et spesielt åpent register.
+Debatten ga ellers lite håp om at situasjonen bedrer seg, da
+finansministeren bare henviste til en fraværende næringsministeren og
+ikke ville uttale seg om et skikkelig aksjonærregister snart dukker
+opp.</p>
+
+<p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
+det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
+til min adresse
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
+Merk, betaling med bitcoin er ikke anonymt. :)</p>
+</description>
+ </item>
+
+ <item>
+ <title>Websocket from Kraken in Valutakrambod</title>
+ <link>http://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html</guid>
+ <pubDate>Fri, 1 Feb 2019 22:25:00 +0100</pubDate>
+ <description><p>Yesterday, the Kraken virtual currency exchange announced
+<a href="https://blog.kraken.com/post/2019/websockets-public-api-launching-soon/">their
+Websocket service</a>, providing a stream of exchange updates to its
+clients. Getting updated rates quickly is a good idea, so I used
+their <a href="https://www.kraken.com/en-us/help/websocket-api">API
+documentation</a> and added Websocket support to the Kraken service in
+Valutakrambod today. The python library can now get updates
+from Kraken several times per second, instead of every time the
+information is polled from the REST API.</p>
+
+<p>If this sound interesting to you, the code for valutakrambod is
+available from
+<a href="http://github.com/petterreinholdtsen/valutakrambod">github</a>.
+Here is example output from the example client displaying rates in a
+curses view:</p>
+
+<p><blockquote><pre>
+ Name Pair Bid Ask Spr Ftcd Age
+ BitcoinsNorway BTCEUR 2959.2800 3021.0500 2.0% 36 nan nan
+ Bitfinex BTCEUR 3087.9000 3088.0000 0.0% 36 37 nan
+ Bitmynt BTCEUR 3001.8700 3135.4600 4.3% 36 52 nan
+ Bitpay BTCEUR 3003.8659 nan nan% 35 nan nan
+ Bitstamp BTCEUR 3008.0000 3010.2300 0.1% 0 1 1
+ Bl3p BTCEUR 3000.6700 3010.9300 0.3% 1 nan nan
+ Coinbase BTCEUR 2992.1800 3023.2500 1.0% 34 nan nan
+ Kraken+BTCEUR 3005.7000 3006.6000 0.0% 0 1 0
+ Paymium BTCEUR 2940.0100 2993.4400 1.8% 0 2688 nan
+ BitcoinsNorway BTCNOK 29000.0000 29360.7400 1.2% 36 nan nan
+ Bitmynt BTCNOK 29115.6400 29720.7500 2.0% 36 52 nan
+ Bitpay BTCNOK 29029.2512 nan nan% 36 nan nan
+ Coinbase BTCNOK 28927.6000 29218.5900 1.0% 35 nan nan
+ MiraiEx BTCNOK 29097.7000 29741.4200 2.2% 36 nan nan
+ BitcoinsNorway BTCUSD 3385.4200 3456.0900 2.0% 36 nan nan
+ Bitfinex BTCUSD 3538.5000 3538.6000 0.0% 36 45 nan
+ Bitpay BTCUSD 3443.4600 nan nan% 34 nan nan
+ Bitstamp BTCUSD 3443.0100 3445.0500 0.1% 0 2 1
+ Coinbase BTCUSD 3428.1600 3462.6300 1.0% 33 nan nan
+ Gemini BTCUSD 3445.8800 3445.8900 0.0% 36 326 nan
+ Hitbtc BTCUSD 3473.4700 3473.0700 -0.0% 0 0 0
+ Kraken+BTCUSD 3444.4000 3445.6000 0.0% 0 1 0
+ Exchangerates EURNOK 9.6685 9.6685 0.0% 36 22226 nan
+ Norgesbank EURNOK 9.6685 9.6685 0.0% 36 22226 nan
+ Bitstamp EURUSD 1.1440 1.1462 0.2% 0 1 2
+ Exchangerates EURUSD 1.1471 1.1471 0.0% 36 22226 nan
+ BitcoinsNorway LTCEUR 1.0009 22.6538 95.6% 35 nan nan
+ BitcoinsNorway LTCNOK 259.0900 264.9300 2.2% 35 nan nan
+ BitcoinsNorway LTCUSD 0.0000 29.0000 100.0% 35 nan nan
+ Norgesbank USDNOK 8.4286 8.4286 0.0% 36 22226 nan
+</pre></blockquote></p>
+
+<p>Yes, I notice the strange negative spread on Hitbtc. I've seen the
+same on Kraken. Another strange observation is that Kraken some times
+announce trade orders a fraction of a second in the future. I really
+wonder what is going on there.</p>
+