]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.html
Generated.
[homepage.git] / blog / index.html
index f82f196e9414a27be96996598c80df0a4f8843cd..712020be717681011670b6cda31fa5e31b77d3ab 100644 (file)
 
 
     
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">MIME type "text/vnd.sosi" for SOSI map data</a></div>
+      <div class="date">20th May 2019</div>
+      <div class="body"><p>As part of my involvement in the work to
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">standardise
+a REST based API for Noark 5</a>, the Norwegian archiving standard, I
+spent some time the last few months to try to register a
+<a href="https://www.iana.org/assignments/media-types/">MIME type</a>
+and <a href="https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
+code</a> for the SOSI file format.  The background is that there is a
+set of formats approved for long term storage and archiving in Norway,
+and among these formats, SOSI is the only format missing a MIME type
+and PRONOM code.</p>
+
+<p>What is SOSI, you might ask?  To quote Wikipedia: SOSI is short for
+Samordnet Opplegg for Stedfestet Informasjon (literally "Coordinated
+Approach for Spatial Information", but more commonly expanded in
+English to Systematic Organization of Spatial Information).  It is a
+text based file format for geo-spatial vector information used in
+Norway.  Information about the SOSI format can be found in English
+from <a href="https://en.wikipedia.org/wiki/SOSI">Wikipedia</a>.  The
+specification is available in Norwegian from
+<a href="https://www.kartverket.no/geodataarbeid/Standarder/SOSI/">the
+Norwegian mapping authority</a>.  The SOSI standard, which originated
+in the beginning of ninety eighties, was the inspiration and formed the
+basis for the XML based
+<a href="https://en.wikipedia.org/wiki/Geography_Markup_Language">Geography
+Markup Language</a>.</p>
+
+<p>I have so far written
+<a href="https://github.com/file/file/pull/67">a pattern matching
+rule</a> for the file(1) unix tool to recognize SOSI files, submitted
+a request to the PRONOM project to have a PRONOM ID assigned to the
+format (reference TNA1555078202S60), and today send a request to IANA
+to register the "text/vnd.sosi" MIME type for this format
+<a href="https://tools.iana.org/public-view/viewticket/1143144">[IANA
+#1143144]</a>.  If all go well, in a few months, anyone implementing
+the Noark 5 Tjenestegrensesnitt API spesification should be able to
+use an official MIME type and PRONOM code for SOSI files.  In
+addition, anyone using SOSI files on Linux should be able to
+automatically recognise the format and web sites handing out SOSI
+files can begin providing a more specific MIME type.  So far, SOSI
+files has been handed out from web sites using the
+"application/octet-stream" MIME type, which is just a nice way of
+stating "I do not know".  Soon, we will know. :)</p>
+
+<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>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html">PlantUML for text based UML diagram modelling - nice free software</a></div>
+      <div class="date">25th March 2019</div>
+      <div class="body"><p>As part of my involvement with the
+<a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
+Noark 5 core project</a>, I have been proposing improvements to the
+API specification created by <a href="https://www.arkivverket.no/">The
+National Archives of Norway</a> and helped migrating the text from a
+version control system unfriendly binary format (docx) to Markdown in
+git.  Combined with the migration to a public git repository (on
+github), this has made it possible for anyone to suggest improvement
+to the text.</p>
+
+<p>The specification is filled with UML diagrams.  I believe the
+original diagrams were modelled using Sparx Systems Enterprise
+Architect, and exported as EMF files for import into docx.  This
+approach make it very hard to track changes using a version control
+system.  To improve the situation I have been looking for a good text
+based UML format with associated command line free software tools on
+Linux and Windows, to allow anyone to send in corrections to the UML
+diagrams in the specification.  The tool must be text based to work
+with git, and command line to be able to run it automatically to
+generate the diagram images.  Finally, it must be free software to
+allow anyone, even those that can not accept a non-free software
+license, to contribute.</p>
+
+<p>I did not know much about free software UML modelling tools when I
+started.  I have used dia and inkscape for simple modelling in the
+past, but neither are available on Windows, as far as I could tell.  I
+came across a nice
+<a href="https://modeling-languages.com/text-uml-tools-complete-list/">list
+of text mode uml tools</a>, and tested out a few of the tools listed
+there.  <a href="http://plantuml.com/">The PlantUML tool</a> seemed
+most promising.  After verifying that the packages
+<a href="https://tracker.debian.org/pkg/plantuml">is available in
+Debian</a> and found <a href="https://github.com/plantuml/plantuml">its
+Java source</a> under a GPL license on github, I set out to test if it
+could represent the diagrams we needed, ie the ones currently in
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
+Noark 5 Tjenestegrensesnitt specification</a>.  I am happy to report
+that it could represent them, even thought it have a few warts here
+and there.</p>
+
+<p>After a few days of modelling I completed the task this weekend.  A
+temporary link to the complete set of diagrams (original and from
+PlantUML) is available in
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76">the
+github issue discussing the need for a text based UML format</a>, but
+please note I lack a sensible tool to convert EMF files to PNGs, so
+the "original" rendering is not as good as the original was in the
+publised PDF.</p>
+
+<p>Here is an example UML diagram, showing the core classes for
+keeping metadata about archived documents:</p>
+
+<pre>
+@startuml
+skinparam classAttributeIconSize 0
+
+!include media/uml-class-arkivskaper.iuml
+!include media/uml-class-arkiv.iuml
+!include media/uml-class-klassifikasjonssystem.iuml
+!include media/uml-class-klasse.iuml
+!include media/uml-class-arkivdel.iuml
+!include media/uml-class-mappe.iuml
+!include media/uml-class-merknad.iuml
+!include media/uml-class-registrering.iuml
+!include media/uml-class-basisregistrering.iuml
+!include media/uml-class-dokumentbeskrivelse.iuml
+!include media/uml-class-dokumentobjekt.iuml
+!include media/uml-class-konvertering.iuml
+!include media/uml-datatype-elektronisksignatur.iuml
+
+Arkivstruktur.Arkivskaper "+arkivskaper 1..*" <-o "+arkiv 0..*" Arkivstruktur.Arkiv
+Arkivstruktur.Arkiv o--> "+underarkiv 0..*" Arkivstruktur.Arkiv
+Arkivstruktur.Arkiv "+arkiv 1" o--> "+arkivdel 0..*" Arkivstruktur.Arkivdel
+Arkivstruktur.Klassifikasjonssystem "+klassifikasjonssystem [0..1]" <--o "+arkivdel 1..*" Arkivstruktur.Arkivdel
+Arkivstruktur.Klassifikasjonssystem "+klassifikasjonssystem [0..1]" o--> "+klasse 0..*" Arkivstruktur.Klasse
+Arkivstruktur.Arkivdel "+arkivdel 0..1" o--> "+mappe 0..*" Arkivstruktur.Mappe
+Arkivstruktur.Arkivdel "+arkivdel 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
+Arkivstruktur.Klasse "+klasse 0..1" o--> "+mappe 0..*" Arkivstruktur.Mappe
+Arkivstruktur.Klasse "+klasse 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
+Arkivstruktur.Mappe --> "+undermappe 0..*" Arkivstruktur.Mappe
+Arkivstruktur.Mappe "+mappe 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
+Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Mappe
+Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Dokumentbeskrivelse
+Arkivstruktur.Basisregistrering -|> Arkivstruktur.Registrering
+Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Basisregistrering
+Arkivstruktur.Registrering "+registrering 1..*" o--> "+dokumentbeskrivelse 0..*" Arkivstruktur.Dokumentbeskrivelse
+Arkivstruktur.Dokumentbeskrivelse "+dokumentbeskrivelse 1" o-> "+dokumentobjekt 0..*" Arkivstruktur.Dokumentobjekt
+Arkivstruktur.Dokumentobjekt *-> "+konvertering 0..*" Arkivstruktur.Konvertering
+Arkivstruktur.ElektroniskSignatur -[hidden]-> Arkivstruktur.Dokumentobjekt
+@enduml
+</pre>
+
+<p><a href="http://plantuml.com/class-diagram">The format</a> is quite
+compact, with little redundant information.  The text expresses
+entities and relations, and there is little layout related fluff.  One
+can reuse content by using include files, allowing for consistent
+naming across several diagrams.  The include files can be standalone
+PlantUML too.  Here is the content of
+<tt>media/uml-class-arkivskaper.iuml<tt>:</p>
+
+<pre>
+@startuml
+class Arkivstruktur.Arkivskaper <Arkivenhet> {
+  +arkivskaperID : string
+  +arkivskaperNavn : string
+  +beskrivelse : string [0..1]
+}
+@enduml
+</pre>
+
+<p>This is what the complete diagram for the PlantUML notation above
+look like:</p>
+
+<p><img width="80%" src="http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
+
+<p>A cool feature of PlantUML is that the generated PNG files include
+the entire original source diagram as text.  The source (with include
+statements expanded) can be extracted using for example
+<tt>exiftool</tt>.  Another cool feature is that parts of the entities
+can be hidden after inclusion.  This allow to use include files with
+all attributes listed, even for UML diagrams that should not list any
+attributes.</p>
+
+<p>The diagram also show some of the warts.  Some times the layout
+engine place text labels on top of each other, and some times it place
+the class boxes too close to each other, not leaving room for the
+labels on the relationship arrows.  The former can be worked around by
+placing extra newlines in the labes (ie "\n").  I did not do it here
+to be able to demonstrate the issue.  I have not found a good way
+around the latter, so I normally try to reduce the problem by changing
+from vertical to horizontal links to improve the layout.</p>
+
+<p>All in all, I am quite happy with PlantUML, and very impressed with
+how quickly its lead developer responds to questions.  So far I got an
+answer to my questions in a few hours when I send an email.  I
+definitely recommend looking at PlantUML if you need to make UML
+diagrams.  Note, PlantUML can draw a lot more than class relations.
+Check out the documention for a complete list. :)</p>
+
+<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>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html">Release 0.3 of free software archive API system Nikita announced</a></div>
+      <div class="date">24th March 2019</div>
+      <div class="body"><p>Yesterday,  a new release of 
+<a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
+Noark 5 core project</a> was
+<a href="https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html">announced
+on the project mailing list</a>.  The free software solution is an
+implementation of the Norwegian archive standard Noark 5 used by
+government offices in Norway.  These were the changes in version 0.3
+since version 0.2.1 (from NEWS.md):</p>
+
+<ul>
+  <li>Improved ClassificationSystem and Class behaviour.</li>
+  <li>Tidied up known inconsistencies between domain model and hateaos links.</li>
+  <li>Added experimental code for blockchain integration.  </li>
+  <li>Make token expiry time configurable at upstart from properties file.</li>
+  <li>Continued work on OData search syntax.</li>
+  <li>Started work on pagination for entities, partly implemented for Saksmappe.</li>
+  <li>Finalise ClassifiedCode Metadata entity.</li>
+  <li>Implement mechanism to check if authentication token is still
+   valid.  This allow the GUI to return a more sensible message to the
+   user if the token is expired.</li>
+  <li>Reintroduce browse.html page to allow user to browse JSON API using
+   hateoas links.</li>
+  <li>Fix bug in handling file/mappe sequence number.  Year change was
+   not properly handled.</li>
+  <li>Update application yml files to be in sync with current development.</li>
+  <li>Stop 'converting' everything to PDF using libreoffice.  Only
+   convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
+   and ods.</li>
+  <li>Continued code style fixing, making code more readable.</li>
+  <li>Minor bug fixes.</li>
+  
+</ul>
+
+<p>If free and open standardized archiving API sound interesting to
+you, please contact us on IRC
+(<a href="irc://irc.freenode.net/%23nikita">#nikita on
+irc.freenode.net</a>) or email
+(<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
+mailing list</a>).</p>
+
+<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>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html">Åpen og gjennomsiktig vedlikehold av spesifikasjonen for Noark 5 Tjenestegrensesnitt</a></div>
+      <div class="date">11th March 2019</div>
+      <div class="body"><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>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title"><a href="http://people.skolelinux.org/pere/blog/D_rlig_med_sikkerhetsoppdateringer_for_Ruters_billettautomater_i_Oslo_.html">Dårlig med sikkerhetsoppdateringer for Ruters billettautomater i Oslo?</a></div>
       <div class="date">13th February 2019</div>
@@ -63,7 +520,7 @@ Merk, betaling med bitcoin er ikke anonymt. :)</p>
       <div class="tags">
         
         
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter</a>. 
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter</a>. 
         
         
       </div>
@@ -717,205 +1174,6 @@ Merk, betaling med bitcoin er ikke anonymt. :)</p>
     </div>
     <div class="padding"></div>
     
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/CasparCG_Server_for_TV_broadcast_playout_in_Debian.html">CasparCG Server for TV broadcast playout in Debian</a></div>
-      <div class="date">15th January 2019</div>
-      <div class="body"><p>The layered video playout server created by Sveriges Television,
-<a href="https://casparcg.com/">CasparCG Server</a>, entered Debian
-today.  This completes many months of work to get the source ready to
-go into Debian.  The first upload to the Debian NEW queue happened a
-month ago, but the work upstream to prepare it for Debian started more
-than two and a half month ago.  So far
-<a href="https://tracker.debian.org/pkg/casparcg-server">the
-casparcg-server package</a> is only available for amd64, but I hope
-this can be improved.  The package is in contrib because it depend on
-the <a href="https://tracker.debian.org/pkg/fdk-aac">non-free fdk-aac
-library</a>.  The Debian package lack support for streaming web pages
-because Debian is missing CEF, Chromium Embedded Framework.  CEF is
-wanted by several packages in Debian.  But because the Chromium source
-is <a href="https://bugs.debian.org/893448">not available as a build
-dependency</a>, it is not yet possible to upload CEF to Debian.  I
-hope this will change in the future.</p>
-
-<p>The reason I got involved is that
-<a href="https://frikanalen.no/">the Norwegian open channel
-Frikanalen</a> is starting to use CasparCG for our HD playout, and I
-would like to have all the free software tools we use to run the TV
-channel available as packages from the Debian project.  The last
-remaining piece in the puzzle is Open Broadcast Encoder, but it depend
-on quite a lot of patched libraries which would have to be included in
-Debian first.</p>
-
-<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>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Learn_to_program_with_Minetest_on_Debian.html">Learn to program with Minetest on Debian</a></div>
-      <div class="date">15th December 2018</div>
-      <div class="body"><p>A fun way to learn how to program
-<a href="https://www.python.org/">Python</a> is to follow the
-instructions in the book
-"<a href="https://nostarch.com/programwithminecraft">Learn to program
-with Minecraft</a>", which introduces programming in Python to people
-who like to play with Minecraft.  The book uses a Python library to
-talk to a TCP/IP socket with an API accepting build instructions and
-providing information about the current players in a Minecraft world.
-The TCP/IP API was first created for the Minecraft implementation for
-Raspberry Pi, and has since been ported to some server versions of
-Minecraft.  The book contain recipes for those using Windows, MacOSX
-and Raspian.  But a little known fact is that you can follow the same
-recipes using the free software construction game
-<a href="https://minetest.net/">Minetest</a>.</p>
-
-<p>There is <a href="https://github.com/sprintingkiwi/pycraft_mod">a
-Minetest module implementing the same API</a>, making it possible to
-use the Python programs coded to talk to Minecraft with Minetest too.
-I
-<a href="https://ftp-master.debian.org/new/minetest-mod-pycraft_0.20%2Bgit20180331.0376a0a%2Bdfsg-1.html">uploaded
-this module</a> to Debian two weeks ago, and as soon as it clears the
-FTP masters NEW queue, learning to program Python with Minetest on
-Debian will be a simple 'apt install' away.  The Debian package is
-maintained as part of the Debian Games team, and
-<a href="https://salsa.debian.org/games-team/unfinished/minetest-mod-pycraft">the
-packaging rules</a> are currently located under 'unfinished' on
-Salsa.</p>
-
-<p>You will most likely need to install several of the Minetest
-modules in Debian for the examples included with the library to work
-well, as there are several blocks used by the example scripts that are
-provided via modules in Minetest.  Without the required blocks, a
-simple stone block is used instead.  My initial testing with a analog
-clock did not get gold arms as instructed in the python library, but
-instead used stone arms.</p>
-
-<p>I tried to find a way to add the API to the desktop version of
-Minecraft, but were unable to find any working recipes.  The
-<a href="https://www.epiphanydigest.com/tag/minecraft-python-api/">recipes</a>
-I <a href="https://github.com/kbsriram/mcpiapi">found</a> are only
-working with a standalone Minecraft server setup.  Are there any
-options to use with the normal desktop version?</p>
-
-<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>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Non_blocking_bittorrent_plugin_for_vlc.html">Non-blocking bittorrent plugin for vlc</a></div>
-      <div class="date">12th December 2018</div>
-      <div class="body"><p>A few hours ago, a new and improved version (2.4) of
-<a href="https://tracker.debian.org/pkg/vlc-plugin-bittorrent">the VLC
-bittorrent plugin</a> was uploaded to Debian.  This new version
-include a complete rewrite of the bittorrent related code, which seem
-to make the plugin non-blocking.  This mean you can actually exit VLC
-even when the plugin seem to be unable to get the bittorrent streaming
-started.  The new version also include support for filtering playlist
-by file extension using command line options, if you want to avoid
-processing audio, video or images.  The package is currently in Debian
-unstable, but should be available in Debian testing in two days.  To
-test it, simply install it like this:</p>
-
-<p><pre>
-apt install vlc-plugin-bittorrent
-</pre></p>
-
-<p>After it is installed, you can try to use it to play a file
-downloaded live via bittorrent like this:
-
-<p><pre>
-vlc https://archive.org/download/Glass_201703/Glass_201703_archive.torrent
-</pre></p>
-
-<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>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Retten_til_kontant_betaling_er_en_rettighet_som_m__brukes_for___beholdes.html">Retten til kontant betaling er en rettighet som må brukes for å beholdes</a></div>
-      <div class="date">11th December 2018</div>
-      <div class="body"><p><a href="https://www.fn.no/Om-FN/Avtaler/Menneskerettigheter/FNs-verdenserklaering-om-menneskerettigheter">FNs
-menneskerettighetserklæring</a> artikkel 13 første punkt lyder som
-følger:</p>
-
-<p><blockquote>
-Enhver har rett til å bevege seg fritt og til fritt å velge
-oppholdssted innenfor en stats grenser.
-</blockquote></p>
-
-<p>Det er altså en menneskerett å kunne bevege seg fritt i landet.
-For å bevege seg fritt i landet, så må en kunne bevege seg uten å bli
-sporet.  Det vil i dagens samfunn innebære å bevege seg uten å legge
-igjen digitale spor og uten å være radiomerket.  Hvis en vet at ens
-bevegelser, hvor en befinner seg når, og hvem som befinner seg i
-nærheten, blir samlet inn og gjort tilgjengelig for fremmede, det være
-seg myndighetene eller private organisasjoner, så kan en ikke lenger
-bevege seg fritt.  Dette gjør at det er en forutsetning for å ha glede
-av retten til å bevege seg fritt i landet at en motstår fristelsen til
-å legge igjen digitale spor når en betaler for seg.  Rettigheter som
-ikke blir brukt, blir fjernet.  Den eneste måten i dag å unngå å legge
-igjen digitale spor når en betaler for seg, er å betale med kontanter,
-samt takke nei til å legge igjen navn og adresse (slik f.eks. Elkjøp
-ber om &mdash; jeg sier de kan legge inn «anonym anonym» når
-datasystemet deres trenger et navn).  Personlig anbefaler jeg å
-konsekvent bruke kontant betaling når man beveger seg rundt, for å
-bidra til forsvaret av menneskerettighetene i Norge.  Kanskje noe også
-for deg?  Merk at det ikke er tilstrekkelig for å unngå sporing å
-betale med kontanter, men det er et lite steg i riktig retning.</p>
-
-<p>Det er flere andre argumenter i tillegg til
-menneskerettighetsargumentet for å bruke kontanter.  I går hadde
-Dagbladet en utmerket kommentar av sin journalist John Olav Egeland om
-hvilket
-<a href="https://www.dagbladet.no/kultur/kontantlost-diktatur/70543434">kontantløst
-diktatur</a> som venter oss hvis mange nok slutter å insistere på å
-betale med kontanter.  Jeg anbefaler deg å lese den.</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>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
     <p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
     <div id="sidebar">
       
@@ -931,6 +1189,10 @@ Merk, betaling med bitcoin er ikke anonymt. :)</p>
 
 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
 
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2019/05/">May (1)</a></li>
+
 </ul></li>
 
 <li>2018
@@ -1243,6 +1505,8 @@ Merk, betaling med bitcoin er ikke anonymt. :)</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
 
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (8)</a></li>
+
  <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (11)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
@@ -1257,7 +1521,7 @@ Merk, betaling med bitcoin er ikke anonymt. :)</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
 
@@ -1265,7 +1529,7 @@ Merk, betaling med bitcoin er ikke anonymt. :)</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (398)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (401)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
 
@@ -1283,7 +1547,7 @@ Merk, betaling med bitcoin er ikke anonymt. :)</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (20)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (21)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
 
@@ -1301,13 +1565,15 @@ Merk, betaling med bitcoin er ikke anonymt. :)</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (42)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (11)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (12)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (13)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (304)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (305)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (192)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (194)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (35)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (36)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
 
@@ -1337,7 +1603,7 @@ Merk, betaling med bitcoin er ikke anonymt. :)</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (58)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (62)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (6)</a></li>