1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"http://people.skolelinux.org/pere/blog/index.rss" type=
"application/rss+xml" />
14 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <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>
24 <div class=
"date">20th May
2019</div>
25 <div class=
"body"><p>As part of my involvement in the work to
26 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">standardise
27 a REST based API for Noark
5</a>, the Norwegian archiving standard, I
28 spent some time the last few months to try to register a
29 <a href=
"https://www.iana.org/assignments/media-types/">MIME type
</a>
30 and
<a href=
"https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
31 code
</a> for the SOSI file format. The background is that there is a
32 set of formats approved for long term storage and archiving in Norway,
33 and among these formats, SOSI is the only format missing a MIME type
36 <p>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
37 Samordnet Opplegg for Stedfestet Informasjon (literally "Coordinated
38 Approach for Spatial Information", but more commonly expanded in
39 English to Systematic Organization of Spatial Information). It is a
40 text based file format for geo-spatial vector information used in
41 Norway. Information about the SOSI format can be found in English
42 from
<a href=
"https://en.wikipedia.org/wiki/SOSI">Wikipedia
</a>. The
43 specification is available in Norwegian from
44 <a href=
"https://www.kartverket.no/geodataarbeid/Standarder/SOSI/">the
45 Norwegian mapping authority
</a>. The SOSI standard, which originated
46 in the beginning of nineteen eighties, was the inspiration and formed the
47 basis for the XML based
48 <a href=
"https://en.wikipedia.org/wiki/Geography_Markup_Language">Geography
49 Markup Language
</a>.
</p>
51 <p>I have so far written
52 <a href=
"https://github.com/file/file/pull/67">a pattern matching
53 rule
</a> for the file(
1) unix tool to recognize SOSI files, submitted
54 a request to the PRONOM project to have a PRONOM ID assigned to the
55 format (reference TNA1555078202S60), and today send a request to IANA
56 to register the "text/vnd.sosi" MIME type for this format (referanse
57 <a href=
"https://tools.iana.org/public-view/viewticket/1143144">IANA
58 #
1143144</a>). If all goes well, in a few months, anyone implementing
59 the Noark
5 Tjenestegrensesnitt API spesification should be able to
60 use an official MIME type and PRONOM code for SOSI files. In
61 addition, anyone using SOSI files on Linux should be able to
62 automatically recognise the format and web sites handing out SOSI
63 files can begin providing a more specific MIME type. So far, SOSI
64 files has been handed out from web sites using the
65 "application/octet-stream" MIME type, which is just a nice way of
66 stating "I do not know". Soon, we will know. :)
</p>
68 <p>As usual, if you use Bitcoin and want to show your support of my
69 activities, please send Bitcoin donations to my address
70 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
75 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>.
80 <div class=
"padding"></div>
83 <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>
84 <div class=
"date">25th March
2019</div>
85 <div class=
"body"><p>As part of my involvement with the
86 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
87 Noark
5 core project
</a>, I have been proposing improvements to the
88 API specification created by
<a href=
"https://www.arkivverket.no/">The
89 National Archives of Norway
</a> and helped migrating the text from a
90 version control system unfriendly binary format (docx) to Markdown in
91 git. Combined with the migration to a public git repository (on
92 github), this has made it possible for anyone to suggest improvement
95 <p>The specification is filled with UML diagrams. I believe the
96 original diagrams were modelled using Sparx Systems Enterprise
97 Architect, and exported as EMF files for import into docx. This
98 approach make it very hard to track changes using a version control
99 system. To improve the situation I have been looking for a good text
100 based UML format with associated command line free software tools on
101 Linux and Windows, to allow anyone to send in corrections to the UML
102 diagrams in the specification. The tool must be text based to work
103 with git, and command line to be able to run it automatically to
104 generate the diagram images. Finally, it must be free software to
105 allow anyone, even those that can not accept a non-free software
106 license, to contribute.
</p>
108 <p>I did not know much about free software UML modelling tools when I
109 started. I have used dia and inkscape for simple modelling in the
110 past, but neither are available on Windows, as far as I could tell. I
112 <a href=
"https://modeling-languages.com/text-uml-tools-complete-list/">list
113 of text mode uml tools
</a>, and tested out a few of the tools listed
114 there.
<a href=
"http://plantuml.com/">The PlantUML tool
</a> seemed
115 most promising. After verifying that the packages
116 <a href=
"https://tracker.debian.org/pkg/plantuml">is available in
117 Debian
</a> and found
<a href=
"https://github.com/plantuml/plantuml">its
118 Java source
</a> under a GPL license on github, I set out to test if it
119 could represent the diagrams we needed, ie the ones currently in
120 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
121 Noark
5 Tjenestegrensesnitt specification
</a>. I am happy to report
122 that it could represent them, even thought it have a few warts here
125 <p>After a few days of modelling I completed the task this weekend. A
126 temporary link to the complete set of diagrams (original and from
127 PlantUML) is available in
128 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76">the
129 github issue discussing the need for a text based UML format
</a>, but
130 please note I lack a sensible tool to convert EMF files to PNGs, so
131 the "original" rendering is not as good as the original was in the
134 <p>Here is an example UML diagram, showing the core classes for
135 keeping metadata about archived documents:
</p>
139 skinparam classAttributeIconSize
0
141 !include media/uml-class-arkivskaper.iuml
142 !include media/uml-class-arkiv.iuml
143 !include media/uml-class-klassifikasjonssystem.iuml
144 !include media/uml-class-klasse.iuml
145 !include media/uml-class-arkivdel.iuml
146 !include media/uml-class-mappe.iuml
147 !include media/uml-class-merknad.iuml
148 !include media/uml-class-registrering.iuml
149 !include media/uml-class-basisregistrering.iuml
150 !include media/uml-class-dokumentbeskrivelse.iuml
151 !include media/uml-class-dokumentobjekt.iuml
152 !include media/uml-class-konvertering.iuml
153 !include media/uml-datatype-elektronisksignatur.iuml
155 Arkivstruktur.Arkivskaper "+arkivskaper
1..*"
<-o "+arkiv 0..*" Arkivstruktur.Arkiv
156 Arkivstruktur.Arkiv o-->
"+underarkiv 0..*" Arkivstruktur.Arkiv
157 Arkivstruktur.Arkiv
"+arkiv 1" o-->
"+arkivdel 0..*" Arkivstruktur.Arkivdel
158 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [0..1]" <--o
"+arkivdel 1..*" Arkivstruktur.Arkivdel
159 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [0..1]" o-->
"+klasse 0..*" Arkivstruktur.Klasse
160 Arkivstruktur.Arkivdel
"+arkivdel 0..1" o-->
"+mappe 0..*" Arkivstruktur.Mappe
161 Arkivstruktur.Arkivdel
"+arkivdel 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
162 Arkivstruktur.Klasse
"+klasse 0..1" o-->
"+mappe 0..*" Arkivstruktur.Mappe
163 Arkivstruktur.Klasse
"+klasse 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
164 Arkivstruktur.Mappe -->
"+undermappe 0..*" Arkivstruktur.Mappe
165 Arkivstruktur.Mappe
"+mappe 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
166 Arkivstruktur.Merknad
"+merknad 0..*" <--* Arkivstruktur.Mappe
167 Arkivstruktur.Merknad
"+merknad 0..*" <--* Arkivstruktur.Dokumentbeskrivelse
168 Arkivstruktur.Basisregistrering -|
> Arkivstruktur.Registrering
169 Arkivstruktur.Merknad "+merknad
0..*" <--* Arkivstruktur.Basisregistrering
170 Arkivstruktur.Registrering "+registrering
1..*" o--> "+dokumentbeskrivelse
0..*" Arkivstruktur.Dokumentbeskrivelse
171 Arkivstruktur.Dokumentbeskrivelse "+dokumentbeskrivelse
1" o-
> "+dokumentobjekt 0..*" Arkivstruktur.Dokumentobjekt
172 Arkivstruktur.Dokumentobjekt *-
> "+konvertering 0..*" Arkivstruktur.Konvertering
173 Arkivstruktur.ElektroniskSignatur -[hidden]-
> Arkivstruktur.Dokumentobjekt
177 <p><a href=
"http://plantuml.com/class-diagram">The format
</a> is quite
178 compact, with little redundant information. The text expresses
179 entities and relations, and there is little layout related fluff. One
180 can reuse content by using include files, allowing for consistent
181 naming across several diagrams. The include files can be standalone
182 PlantUML too. Here is the content of
183 <tt>media/uml-class-arkivskaper.iuml
<tt>:
</p>
187 class Arkivstruktur.Arkivskaper
<Arkivenhet> {
188 +arkivskaperID : string
189 +arkivskaperNavn : string
190 +beskrivelse : string [
0.
.1]
195 <p>This is what the complete diagram for the PlantUML notation above
198 <p><img width=
"80%" src=
"http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
200 <p>A cool feature of PlantUML is that the generated PNG files include
201 the entire original source diagram as text. The source (with include
202 statements expanded) can be extracted using for example
203 <tt>exiftool
</tt>. Another cool feature is that parts of the entities
204 can be hidden after inclusion. This allow to use include files with
205 all attributes listed, even for UML diagrams that should not list any
208 <p>The diagram also show some of the warts. Some times the layout
209 engine place text labels on top of each other, and some times it place
210 the class boxes too close to each other, not leaving room for the
211 labels on the relationship arrows. The former can be worked around by
212 placing extra newlines in the labes (ie "\n"). I did not do it here
213 to be able to demonstrate the issue. I have not found a good way
214 around the latter, so I normally try to reduce the problem by changing
215 from vertical to horizontal links to improve the layout.
</p>
217 <p>All in all, I am quite happy with PlantUML, and very impressed with
218 how quickly its lead developer responds to questions. So far I got an
219 answer to my questions in a few hours when I send an email. I
220 definitely recommend looking at PlantUML if you need to make UML
221 diagrams. Note, PlantUML can draw a lot more than class relations.
222 Check out the documention for a complete list. :)
</p>
224 <p>As usual, if you use Bitcoin and want to show your support of my
225 activities, please send Bitcoin donations to my address
226 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
231 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>.
236 <div class=
"padding"></div>
239 <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>
240 <div class=
"date">24th March
2019</div>
241 <div class=
"body"><p>Yesterday, a new release of
242 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
243 Noark
5 core project
</a> was
244 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html">announced
245 on the project mailing list
</a>. The free software solution is an
246 implementation of the Norwegian archive standard Noark
5 used by
247 government offices in Norway. These were the changes in version
0.3
248 since version
0.2.1 (from NEWS.md):
</p>
251 <li>Improved ClassificationSystem and Class behaviour.
</li>
252 <li>Tidied up known inconsistencies between domain model and hateaos links.
</li>
253 <li>Added experimental code for blockchain integration.
</li>
254 <li>Make token expiry time configurable at upstart from properties file.
</li>
255 <li>Continued work on OData search syntax.
</li>
256 <li>Started work on pagination for entities, partly implemented for Saksmappe.
</li>
257 <li>Finalise ClassifiedCode Metadata entity.
</li>
258 <li>Implement mechanism to check if authentication token is still
259 valid. This allow the GUI to return a more sensible message to the
260 user if the token is expired.
</li>
261 <li>Reintroduce browse.html page to allow user to browse JSON API using
263 <li>Fix bug in handling file/mappe sequence number. Year change was
264 not properly handled.
</li>
265 <li>Update application yml files to be in sync with current development.
</li>
266 <li>Stop 'converting' everything to PDF using libreoffice. Only
267 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
269 <li>Continued code style fixing, making code more readable.
</li>
270 <li>Minor bug fixes.
</li>
274 <p>If free and open standardized archiving API sound interesting to
275 you, please contact us on IRC
276 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
277 irc.freenode.net
</a>) or email
278 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
279 mailing list
</a>).
</p>
281 <p>As usual, if you use Bitcoin and want to show your support of my
282 activities, please send Bitcoin donations to my address
283 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
288 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>.
293 <div class=
"padding"></div>
296 <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>
297 <div class=
"date">11th March
2019</div>
298 <div class=
"body"><p>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
299 finne informasjonen en trenger når en trenger det, og der
300 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
301 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
302 vare på offentliggjort informasjon som er tilgjengelig flere steder,
303 tar et arkiv vare på virksomhetsintern og til tider personlig
304 informasjon som ofte kun er tilgjengelig fra et sted.
</p>
306 <p>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
307 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
308 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
309 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
310 vekk det en ikke vil ta vare på, og legge på metadata om det som er
311 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
312 arkivet er en del av daglig virke, ikke at det er siste hvilested for
313 informasjon ingen lenger har daglig bruk for. For å kunne være en del
314 av det daglige virket må arkivet enkelt kunne integreres med andre
315 systemer. I disse dager betyr det å tilby arkivet som en
316 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
317 og datamaskiner. Det betyr i tur å både tilby nettsider og et
318 maskinlesbart grensesnitt.
</p>
320 <p>For noen år siden erkjente visjonære arkivarer fordelene med et
321 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
322 gikk igang med å lage noe de kalte
323 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">Noark
324 5 Tjenestegrensesnitt
</a>. Gjort riktig, så åpner slike maskinlesbare
325 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
326 Gjort feil, vil det blokkere for samvirke og bidra til
327 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
328 klart og entydig beskrevet i en spesifikasjon som gjør at
329 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
330 og uavhengig av hvem som tar den i bruk.
</p>
332 <p>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
333 trengs for å kunne få en fri og åpen standard (se
334 <a href=
"http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">Digistan-definisjon
</a>),
335 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
336 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
337 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
338 En trenger også automatiserte datasystemer som måler og sjekker at et
339 gitt grensesnitt fungerer i tråd med spesifikasjonen.
</p>
341 <p>For Noark
5 Tjenestegrensesnittet er det nå etablert en slik åpen
342 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
343 inngangsporten består først og fremst av en åpen portal som lar enhver
344 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
345 det hører også med et åpent
"diskusjonsforum
" der en kan
346 komme med endringsforslag og forespørsler om klargjøringer. Alle
347 registrerte brukere på github kan bidra med innspill til disse
350 <p>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
351 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
352 inn historikk for endringer i teksten de siste årene, samt lagt inn
353 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
354 for at jeg bidro med dette er at jeg er involvert i
355 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet
</a>,
356 som lager en fri programvare-utgave av Noark
5 Tjenestegrensesnitt.
357 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
358 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
359 å sikre samhandling.
</p>
361 <p>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
362 format egnet for versjonskontroll via versjontrollsystemet git. Dette
363 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
364 samt gjør det praktisk mulig for enhver med github-konto å sende inn
365 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
366 tekstformatet vises frem som nettsider på github, slik at en ikke
367 trenger spesielle verktøy for å se på siste utgave av
370 <p>Fra dette rene tekstformatet kan det så avledes ulike formater, som
371 HTML for websider, PDF for utskrift på papir og ePub for lesing med
372 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
373 verktøyene pandoc, latex, docbook-xsl og GNU make til
374 transformasjonen. Tekstformatet som brukes dag er
375 <a href=
"https://www.markdownguide.org/">Markdown
</a>, men det vurderes
377 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/9">endre
378 til formatet RST
</a> i fremtiden for bedre styring av utseende på
381 <p>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
382 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
383 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
384 Github i andre sammenhenger.
</p>
386 <p>Enkle endringer i teksten kan gjøres av priviligerte brukere
387 direkte i nettsidene til Github, ved å finne aktuell fil som skal
388 endres (f.eks. kapitler/
03-konformitet.md), klikke på den lille
389 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
390 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
391 så må endringen
"sjekkes inn
" i historikken. Det gjøres ved
392 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
393 trengs, ikke hva som er endret), under overskriften
"Commit
394 changes
". En kan og bør legge inn en lengre forklaring i det
395 større skrivefeltet, før en velger om endringen skal sendes direkte
396 til 'master'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
397 om en skal lage en ny gren for denne endringen og opprette en
398 endringsforespørsel (aka
"Pull Request
"/PR). NÃ¥r alt dette
399 er gjort kan en velge
"Commit changes
" for å sende inn
400 endringen. Hvis den er lagt inn i
"master
"-grenen så er den
401 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
402 en endringsforespørsel, så legges den inn i
403 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls">listen
404 over forslag til endringer
</a> som venter på korrekturlesing og
407 <p>Større endringer (for eksempel samtidig endringer i flere filer)
408 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
409 endringene der før endringsforslaget sendes inn. Denne prosessen er
410 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
411 "klones
" er
412 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a>.
</p>
414 <p>For å registrere nye utfordringer (issues) eller kommentere på
415 eksisterende utfordringer benyttes nettsiden
416 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
</a>.
417 I skrivende stund er det
48 åpne og
11 avsluttede utfordringer. Et
418 forslag til hva som bør være med når en beskriver en utfordring er
419 tilgjengelig som utfordring
420 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/14">#
14</a>.
</p>
422 <p>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
423 Debian GNU/Linux-maskin med en rekke programpakker installert. NÃ¥r
424 dette er på plass, så holder det å kjøre kommandoen 'make pdf html' på
425 kommandolinjen, vente ca.
20 sekunder, før spesifikasjon.pdf og
426 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
427 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
430 <p>Github bidrar med rammeverket. Men for at åpent vedlikehold av
431 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
432 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
433 godkjenne forslag til endringer, men det blir størst suksess hvis alle
434 som bruker og lager systemer basert på Noark
5 Tjenestegrensesnitt
435 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
436 stiller. Blir du med?
</p>
438 <p>Det er viktig å legge til rette for åpen diskusjon blant alle
439 interesserte, som ikke krever at en må godta lange kontrakter med
440 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
441 laget en IRC-kanal der interesserte enkelt kan orientere seg og
442 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
444 <a href=
"https://webchat.freenode.net/?channels=nikita">#nikita
</a>
445 (f.eks. via irc.freenode.net) for å møte likesinnede.
</p>
447 <p>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
448 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
449 tjenestegrensesnitt følger (min) forståelse av
450 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
451 opp til et Noark
5v4 REST-tjeneste og tester alt den finner for å se
452 om det er i henhold til min tolkning av spesifikasjonen. Dette
453 verktøyet er tilgjengelig fra
454 <a href=
"https://github.com/petterreinholdtsen/noark5-tester">https://github.com/petterreinholdtsen/noark5-tester
</a>,
455 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
456 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
457 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
458 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
459 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
460 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
461 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
462 spesifikasjonsteksten enda klarere og bedre.
</p>
464 <p>Dagens beskrivelse av Noark
5 Tjenestegrensesnitt er et svært godt
465 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
466 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
472 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>.
477 <div class=
"padding"></div>
480 <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>
481 <div class=
"date">13th February
2019</div>
482 <div class=
"body"><p><a href=
"http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html">For
483 syv år siden
</a> oppdaget jeg at billettautomater for
484 kollektivtrafikken i Oslo kjørte
485 <a href=
"http://en.wikipedia.org/wiki/Windows_2000">Windows
2000
486 Professional
</a>. Operativsystemet har ikke fått sikkerhetsfikser fra
487 Microsoft siden
2010-
07-
13 i følge dem selv. Den samme versjonen av
488 operativsystemet var i bruk
489 <a href=
"http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html">for
490 to og et halvt år siden
</a>, og jammen er det ikke også i bruk den dag
493 <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>
495 <p>Bildet er tatt i dag av Kirill Miazine og tilgjengelig for bruk med
497 <a href=
"http://creativecommons.org/licenses/by/4.0/">Creative
498 Commons Attribution
4.0 International (CC BY
4.0)
</a>.
</p>
500 <p>Kanskje det hadde vært
501 <a href=
"https://www.aftenposten.no/osloby/i/awqgO/Her-kjorer-du-gratis-trikk-og-buss">bedre
502 med gratis kollektivtrafikk
</A>, slik at vi slapp å stole på
503 datakompetansen til Ruter for å verne våre privatliv samt holde
504 personopplysninger og betalingsinformasjon unna uvedkommende. Eneste
505 måten å sikre at hvor en befinner seg ikke kan hentes ut fra Ruters
506 systemer er å betale enkeltbilletter med kontanter. Jeg vet at Ruter
507 har en god historie om hvor personvernvennlige mobil-app og
508 RFID-kortene er, men den historien er ikke mulig å uavhengig
509 kontrollere uten priviligert tilgang til interne system og blir dermed
510 bare nok en god historie basert på tillit til de som forteller
511 historien. Det er ikke slik en sikrer privatsfæren. Det gjør en ved
512 å sikre at det ikke (kan) registreres informasjon om ens person.
</p>
514 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
515 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
517 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
518 Merk, betaling med bitcoin er ikke anonymt. :)
</p>
523 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>.
528 <div class=
"padding"></div>
531 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Stortinget_vedtar_maskinlesbart_register_over_20__av_selskapseierne_i_Norge.html">Stortinget vedtar maskinlesbart register over
20% av selskapseierne i Norge
</a></div>
532 <div class=
"date"> 7th February
2019</div>
533 <div class=
"body"><p>Jeg registrerer med glede at Stortinget i dag har
534 <a href=
"https://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=72826">vedtatt
535 at det skal vedlikeholdes et åpent og maskinlesbart register over
536 reelle rettighetshavere i Norge
</a>. Her kan en kanskje få et
537 register som kan brukes til å analysere eierskap og kontroll i Norge
538 maskinelt og knytte det til internasjonale databaser som
539 <a href=
"https://opencorporates.com/">OpenCorporates
</a>. Det liker
542 <p>Den vedtatte grense på
25 prosents eierandel fikk stor
543 oppmerksomhet i debatten. Jeg ser fra enkel analyse av skatteetatens
544 eierskapsregister at
80.4% av alle selskapseiere i registeret har
545 mindre enn
25% eierandel, mot
73.8% som har mindre enn
5% eierandel.
546 En grense på
25% vil altså utelukke
80.4% av selskapseierne fra det
547 vedtatte registeret, og en grense på
5% vil skjule
73.8%. En må helt
548 ned i registrering av eierandeler over circa
0.002% for å få mer enn
549 halvparten av selskapseierne i Norge. Mon tro hvor langt ned en må i
550 eierprosent for å få med alle eierskapene til politisk valgte
553 <p>Jeg biter meg også merke i at Sivert Bjørnstad fra FrP
554 tilsynelatende tror at aksjonærregisteret er et eksisterende åpent
555 register, på tross av at det så vidt jeg vet kun deles ved personlig
556 oppmøte hos skatteetaten og ikke er tilgjengelig i maskinlesbart
557 format for enhver, og dermed så langt ikke er importert inn i
558 OpenCorporates. Det anser jeg ikke for et spesielt åpent register.
559 Debatten ga ellers lite håp om at situasjonen bedrer seg, da
560 finansministeren bare henviste til en fraværende næringsministeren og
561 ikke ville uttale seg om et skikkelig aksjonærregister snart dukker
564 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
565 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
567 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
568 Merk, betaling med bitcoin er ikke anonymt. :)
</p>
573 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>.
578 <div class=
"padding"></div>
581 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html">Websocket from Kraken in Valutakrambod
</a></div>
582 <div class=
"date"> 1st February
2019</div>
583 <div class=
"body"><p>Yesterday, the Kraken virtual currency exchange announced
584 <a href=
"https://blog.kraken.com/post/2019/websockets-public-api-launching-soon/">their
585 Websocket service
</a>, providing a stream of exchange updates to its
586 clients. Getting updated rates quickly is a good idea, so I used
587 their
<a href=
"https://www.kraken.com/en-us/help/websocket-api">API
588 documentation
</a> and added Websocket support to the Kraken service in
589 Valutakrambod today. The python library can now get updates
590 from Kraken several times per second, instead of every time the
591 information is polled from the REST API.
</p>
593 <p>If this sound interesting to you, the code for valutakrambod is
595 <a href=
"http://github.com/petterreinholdtsen/valutakrambod">github
</a>.
596 Here is example output from the example client displaying rates in a
600 Name Pair Bid Ask Spr Ftcd Age
601 BitcoinsNorway BTCEUR
2959.2800 3021.0500 2.0%
36 nan nan
602 Bitfinex BTCEUR
3087.9000 3088.0000 0.0%
36 37 nan
603 Bitmynt BTCEUR
3001.8700 3135.4600 4.3%
36 52 nan
604 Bitpay BTCEUR
3003.8659 nan nan%
35 nan nan
605 Bitstamp BTCEUR
3008.0000 3010.2300 0.1%
0 1 1
606 Bl3p BTCEUR
3000.6700 3010.9300 0.3%
1 nan nan
607 Coinbase BTCEUR
2992.1800 3023.2500 1.0%
34 nan nan
608 Kraken+BTCEUR
3005.7000 3006.6000 0.0%
0 1 0
609 Paymium BTCEUR
2940.0100 2993.4400 1.8%
0 2688 nan
610 BitcoinsNorway BTCNOK
29000.0000 29360.7400 1.2%
36 nan nan
611 Bitmynt BTCNOK
29115.6400 29720.7500 2.0%
36 52 nan
612 Bitpay BTCNOK
29029.2512 nan nan%
36 nan nan
613 Coinbase BTCNOK
28927.6000 29218.5900 1.0%
35 nan nan
614 MiraiEx BTCNOK
29097.7000 29741.4200 2.2%
36 nan nan
615 BitcoinsNorway BTCUSD
3385.4200 3456.0900 2.0%
36 nan nan
616 Bitfinex BTCUSD
3538.5000 3538.6000 0.0%
36 45 nan
617 Bitpay BTCUSD
3443.4600 nan nan%
34 nan nan
618 Bitstamp BTCUSD
3443.0100 3445.0500 0.1%
0 2 1
619 Coinbase BTCUSD
3428.1600 3462.6300 1.0%
33 nan nan
620 Gemini BTCUSD
3445.8800 3445.8900 0.0%
36 326 nan
621 Hitbtc BTCUSD
3473.4700 3473.0700 -
0.0%
0 0 0
622 Kraken+BTCUSD
3444.4000 3445.6000 0.0%
0 1 0
623 Exchangerates EURNOK
9.6685 9.6685 0.0%
36 22226 nan
624 Norgesbank EURNOK
9.6685 9.6685 0.0%
36 22226 nan
625 Bitstamp EURUSD
1.1440 1.1462 0.2%
0 1 2
626 Exchangerates EURUSD
1.1471 1.1471 0.0%
36 22226 nan
627 BitcoinsNorway LTCEUR
1.0009 22.6538 95.6%
35 nan nan
628 BitcoinsNorway LTCNOK
259.0900 264.9300 2.2%
35 nan nan
629 BitcoinsNorway LTCUSD
0.0000 29.0000 100.0%
35 nan nan
630 Norgesbank USDNOK
8.4286 8.4286 0.0%
36 22226 nan
631 </pre></blockquote></p>
633 <p>Yes, I notice the strange negative spread on Hitbtc. I've seen the
634 same on Kraken. Another strange observation is that Kraken some times
635 announce trade orders a fraction of a second in the future. I really
636 wonder what is going on there.
</p>
638 <p>As usual, if you use Bitcoin and want to show your support of my
639 activities, please send Bitcoin donations to my address
640 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
645 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
650 <div class=
"padding"></div>
653 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Strategispillet_Unknown_Horizons_n__tilgjengelig_p__bokm_l.html">Strategispillet Unknown Horizons nå tilgjengelig på bokmål
</a></div>
654 <div class=
"date">23rd January
2019</div>
655 <div class=
"body"><p>I høst ble jeg inspirert til å bidra til oversettelsen av
656 <a href=
"http://unknown-horizons.org/">strategispillet Unknown
657 Horizons
</a>, og oversatte de nesten
200 strengene i prosjektet til
658 bokmål. Deretter har jeg gått å ventet på at det kom en ny utgave som
659 inneholdt disse oversettelsene. NÃ¥ er endelig ventetiden over. Den
660 nye versjonen kom på nyåret, og ble
661 <a href=
"https://tracker.debian.org/pkg/unknown-horizons">lastet opp i
662 Debian
</a> for noen få dager siden. I går kveld fikk jeg testet det ut, og
663 må innrømme at oversettelsene fungerer fint. Fant noen få tekster som
664 måtte justeres, men ikke noe alvorlig. Har oppdatert
665 <a href=
"https://hosted.weblate.org/projects/uh/">oversettelsen på
666 Weblate
</a>, slik at neste utgave vil være enda bedre. :)
</p>
668 <p>Spillet er et ressursstyringsspill ala Civilization, og er morsomt
669 å spille for oss som liker slikt. :)
</p>
671 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
672 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
674 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
675 Merk, betaling med bitcoin er ikke anonymt. :)
</p>
680 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>.
685 <div class=
"padding"></div>
688 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Debian_now_got_everything_you_need_to_program_Micro_bit.html">Debian now got everything you need to program Micro:bit
</a></div>
689 <div class=
"date">22nd January
2019</div>
690 <div class=
"body"><p>I am amazed and very pleased to discover that since a few days ago,
691 everything you need to program the
<a href=
"https://microbit.org/">BBC
692 micro:bit
</a> is available from the Debian archive. All this is
693 thanks to the hard work of Nick Morrott and the Debian python
694 packaging team. The micro:bit project recommend the mu-editor to
695 program the microcomputer, as this editor will take care of all the
696 machinery required to injekt/flash micropython alongside the program
697 into the micro:bit, as long as the pieces are available.
</p>
699 <p>There are three main pieces involved. The first to enter Debian
701 <a href=
"https://tracker.debian.org/pkg/python-uflash">python-uflash
</a>,
702 which was accepted into the archive
2019-
01-
12. The next one was
703 <a href=
"https://tracker.debian.org/pkg/mu-editor">mu-editor
</a>, which
704 showed up
2019-
01-
13. The final and hardest part to to into the
706 <a href=
"https://tracker.debian.org/pkg/firmware-microbit-micropython">firmware-microbit-micropython
</a>,
707 which needed to get its build system and dependencies into Debian
708 before it was accepted
2019-
01-
20. The last one is already in Debian
709 Unstable and should enter Debian Testing / Buster in three days. This
710 all allow any user of the micro:bit to get going by simply running
711 'apt install mu-editor' when using Testing or Unstable, and once
712 Buster is released as stable, all the users of Debian stable will be
715 <p>As a minor final touch, I added rules to
716 <a href=
"https://tracker.debian.org/pkg/isenkram">the isenkram
717 package
</a> for recognizing micro:bit and recommend the mu-editor
718 package. This make sure any user of the isenkram desktop daemon will
719 get a popup suggesting to install mu-editor then the USB cable from
720 the micro:bit is inserted for the first time.
</p>
722 <p>This should make it easier to have fun.
</p>
724 <p>As usual, if you use Bitcoin and want to show your support of my
725 activities, please send Bitcoin donations to my address
726 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
731 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>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot
</a>.
736 <div class=
"padding"></div>
739 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Oppdaterte_kommentarer_til__Evaluation_of__il_legality__for_Popcorn_Time.html">Oppdaterte kommentarer til «Evaluation of (il)legality» for Popcorn Time
</a></div>
740 <div class=
"date">16th January
2019</div>
741 <div class=
"body"><p>I forrige uke var jeg i Borgarting lagmannsrett som partshjelper og
742 sakkyndig vitne og presenterte mine oppdaterte undersøkelser rundt
743 <a href=
"https://github.com/petterreinholdtsen/public-domain-free-imdb">telling
744 av filmverk i det fri
</a>, relatert til
745 <a href=
"https://www.nuug.no/">foreningen NUUG
</a>s involvering i
<a
746 href=
"https://www.nuug.no/news/tags/dns-domenebeslag/">saken om
747 Økokrims beslag og senere inndragning av DNS-domenet
748 popcorn-time.no
</a>. I forkant hadde jeg oppdatert mitt notat med
749 kommentarer til et av aktors bevis, som forsøkte å måle hvor stor
750 andel ulovligheter som var tilgjengelig via Popcorn Time-avspillere.
751 Jeg mistenker flere kan ha glede av å lese dette notatet, som jeg
752 publiserte en tidligere versjon av i fjor, så her er det. Legger
753 også ved avskrift av dokument
09,
13, som er det sentrale dokumentet
756 <p><strong>Oppdaterte kommentarer til «Evaluation of (il)legality» for
757 Popcorn Time
</strong></p>
759 <p><strong>Oppsummering
</strong></p>
761 <p>Målemetoden som Økokrim har lagt til grunn når de påstår at
99% av
762 filmene tilgjengelig fra Popcorn Time deles ulovlig har svakheter
763 som gjør resultatet upålitelig.
</p>
765 <p>De eller den som har vurdert hvorvidt filmer kan lovlig deles er
766 ikke i stand til å identifisere filmer som kan deles lovlig eller er
767 falt i det fri og har tilsynelatende antatt at kun veldig gamle
768 filmer kan deles lovlig. Økokrim legger til grunn at det bare finnes
769 èn film, Charlie Chaplin-filmen «The Circus» fra
1928, som kan deles
770 fritt blant de som ble observert tilgjengelig via ulike Popcorn
771 Time-varianter. Med min begrensede og ufullstendige oversikt finner
772 jeg tre flere blant de observerte filmene: «The Brain That Wouldn't
773 Die» fra
1962, «God’s Little Acre» fra
1958 og «She Wore a Yellow
774 Ribbon» fra
1949. Det er godt mulig det finnes flere. Det finnes
775 dermed minst fire ganger så mange filmer som lovlig kan deles på
776 Internett i datasettet Økokrim har lagt til grunn når det påstås at
777 mindre enn
1 % kan deles lovlig.
</p>
779 <p>Dernest, utplukket som gjøres ved søk på tilfeldige ord hentet fra
780 ordlisten til Dale-Chall avviker fra årsfordelingen til de brukte
781 filmkatalogene som helhet, hvilket påvirker fordelingen mellom
782 filmer som kan lovlig deles og filmer som ikke kan lovlig deles. I
783 tillegg gir valg av øvre del (de fem første) av søkeresultatene et
784 avvik fra riktig årsfordeling, hvilket påvirker fordelingen av verk
785 i det fri i søkeresultatet.
</p>
787 <p>Til sist er det viktig å merke seg at det som måles er ikke
788 (u)lovligheten knyttet til
<strong>bruken
</strong> av Popcorn Time,
789 men (u)lovligheten til innholdet i ulike bittorrent-filmkataloger
790 som vedlikeholdes av ulike miljøer uavhengig av Popcorn Time, og som
791 ulike Popcorn Time-varianter har benyttet seg av.
</p>
793 <p>Omtalte dokumenter:
09,
12,
<a href=
"#dok-09-13">09,
13</a>,
09,
14,
794 09,
18,
09,
19,
09,
20.
</p>
796 <p><strong>Utfyllende kommentarer
</strong></p>
798 <p>Økokrim har forklart domstolene at minst
99% av alt som er
799 tilgjengelig fra ulike Popcorn Time-varianter deles ulovlig på
800 Internet. Jeg ble nysgjerrig på hvordan de er kommet frem til dette
801 tallet, og dette notatet er en samling kommentarer rundt målingen
802 Økokrim henviser til. Litt av bakgrunnen for at jeg valgte å se på
803 saken er at jeg er interessert i å identifisere og telle hvor mange
804 kunstneriske verk som er falt i det fri eller av andre grunner kan
805 lovlig deles på Internett, og dermed var interessert i hvordan en
806 hadde funnet den ene prosenten som kanskje deles lovlig.
</p>
808 <p>Andelen på
99% kommer fra et ukreditert og udatert notatet som tar
809 mål av seg å dokumentere en metode for å måle hvor (u)lovlig ulike
810 Popcorn Time-varianter er.
</p>
812 <p>Raskt oppsummert, så forteller metodedokumentet at fordi det ikke
813 er mulig å få tak i komplett liste over alle filmtitler tilgjengelig
814 via Popcorn Time, så lages noe som skal være et representativt
815 utvalg ved å velge
50 tilfeldige søkeord større enn tre tegn fra en
816 ordliste kjent som Dale-Chall. For hvert søkeord gjøres et søk og de
817 første fem filmene i søkeresultatet samles inn inntil
100 unike
818 filmtitler er funnet. Hvis
50 søkeord ikke var tilstrekkelig for å
819 nå
100 unike filmtitler ble flere filmer fra hvert søkeresultat lagt
820 til. Hvis dette heller ikke var tilstrekkelig, så ble det hentet ut
821 og søkt på flere tilfeldig valgte søkeord inntil
100 unike
822 filmtitler var identifisert.
</p>
824 <p>Deretter ble for hver av filmtitlene «vurdert hvorvidt det var
825 rimelig å forvente om at verket var vernet av copyright, ved å se på
826 om filmen var tilgjengelig i IMDB, samt se på regissør,
827 utgivelsesår, når det var utgitt for bestemte markedsområder samt
828 hvilke produksjons- og distribusjonsselskap som var registrert» (min
831 <p>Metoden er gjengitt både i de ukrediterte dokumentene
09,
13 og
832 09,
19, samt beskrevet fra side
47 i dokument
09,
20, lysark datert
833 2017-
02-
01. Sistnevnte er kreditert Geerart Bourlon fra Motion
834 Picture Association EMEA.
</p>
836 <p>Metoden virker å ha flere svakheter som gir resultatene en
837 slagside. Den starter med å slå fast at det ikke er mulig å hente ut
838 en komplett liste over alle filmtitler som er tilgjengelig, og at
839 dette er bakgrunnen for metodevalget. Denne forutsetningen er ikke i
840 tråd med det som står i dokument
09,
12, som ikke heller har oppgitt
841 forfatter og dato. Dokument
09,
12 forteller hvordan hele
842 kataloginnholdet i en bittorrent-katalog ble lasted ned og talt
843 opp. Dokument
09,
12 er muligens samme rapport som det ble referert
844 til i dom fra Oslo Tingrett
2017-
11-
03
845 (
<a href=
"https://www.domstol.no/no/Enkelt-domstol/Oslo--tingrett/Nyheter/ma-sperre-for-popcorn-time/">sak
846 17-
093347TVI-OTIR/
05</a>) under navnet rapport av
1. juni
2017 av
847 Alexander Kind Petersen. De ligner, men jeg har ikke sammenlignet
848 dokumentene ord for ord for å kontrollere om de er identiske.
</p>
850 <p>Det finnes flere kilder som kan brukes til å finne filmer som er
851 allemannseie (public domain) eller har bruksvilkår som gjør det
852 lovlig for alle å dele dem på Internett. Jeg har det siste året
853 forsøkt å samle og krysskoble disse listene ved hjelp av tittel-ID i
854 IMDB for å forsøke å telle antall filmer i det fri. Ved å ta
855 utgangspunkt i slike lister (og publiserte filmer for
856 Internett-arkivets del), har jeg så langt klart å identifisere over
857 14 000 filmer, hovedsaklig spillefilmer. Noen filmer er gått tapt
858 ved at de eneste kjente eksemplarene er blitt ødelagt. Jeg har ikke
859 forsøkt å finne ut hvilke filmer som er gått tapt, ut over å se
860 hvilke filmer som er tilgjengelig på filmdelings-nettsteder.
</p>
862 <p>IMDB er en forkortelse for The Internet Movie Database, en
863 anerkjent kommersiell nettjeneste som brukes aktivt av både
864 filmbransjen og andre til å holde rede på hvilke spillefilmer (og
865 endel andre filmer) som finnes eller er under produksjon, samt
866 informasjon om disse filmene. Datakvaliteten er høy, med få feil og
867 få filmer som mangler. IMDB viser ikke informasjon om
868 opphavsrettslig status for filmene på infosiden for hver film, men
869 frivillige har lagt ut på IMDB-tjenesten lister med filmer som antas
870 å være verk i det fri. Disse listene er en liten del av kildene for
871 min telling av verk som kan lovlig deles på Internett.
</p>
873 <p>De aller fleste oppføringene over verk i det fri er hentet fra IMDB
874 selv, basert på det faktum at alle filmer laget i USA før
1923 er
875 falt i det fri. Tilsvarende tidsgrense for Storbritannia er
876 1912-
07-
01, men dette utgjør bare veldig liten del av spillefilmene
877 i IMDB (
19 totalt). En annen stor andel kommer fra
878 Internett-arkivet, der jeg har identifisert filmer som har referanse
879 til IMDB. Internett-arkivet, som holder til i USA, har
880 som
<a href=
"https://archive.org/about/terms.php">policy å kun
881 publisere filmer som det er lovlig å distribuere
</a>. Jeg har under
882 arbeidet kommet over flere filmer som har blitt fjernet fra
883 Internett-arkivet, hvilket gjør at jeg konkluderer med at folkene
884 som kontrollerer Internett-arkivet har et aktivt forhold til kun å
885 ha lovlig innhold der, selv om det i stor grad er drevet av
886 frivillige. Internett-arkivet har publisert
4.6 millioner
887 videofilmer som samtlige er tilgjengelig også med
888 Bittorrent-protokollen. En annen stor liste med filmer kommer fra
889 det kommersielle selskapet Retro Film Vault, som selger
890 allemannseide filmer til TV- og filmbransjen, Jeg har også benyttet
891 meg av lister over filmer som hevdes å være allemannseie, det være
892 seg Public Domain Review, Public Domain Torrents og Public Domain
893 Movies (to ulike tjenester med samme navn, på .net og .info), samt
894 lister over filmer med Creative Commons-lisensiering fra Wikipedia,
895 VODO og The Hill Productions. Jeg har gjort endel stikkontroll ved å
896 vurdere filmer som kun omtales på en liste. Der jeg har funnet feil
897 som har gjort meg i tvil om vurderingen til de som har laget listen
898 har jeg forkastet listen fullstendig (gjelder for eksemel en av
899 listene fra IMDB).
</p>
901 <p>Ved å ta utgangspunkt i verk som kan antas å være lovlig delt på
902 Internett (fra blant annet Internett-arkivet, Public Domain
903 Torrents, Public Domain Reivew og Public Domain Movies), og knytte
904 dem til oppføringer i IMDB, så har jeg så langt klart å identifisere
905 over
14 000 filmer (hovedsaklig spillefilmer) det er grunn til å tro
906 kan lovlig distribueres av alle på Internett. Som ekstra kilder er
907 det brukt lister over filmer som antas/påstås å være
908 allemannseie. Disse kildene kommer fra miljøer som jobber for å
909 gjøre tilgjengelig for almennheten alle verk som er falt i det fri
910 eller har bruksvilkår som tillater deling.
</p>
912 <p>I tillegg til de over
14 000 filmene der tittel-ID i IMDB er
913 identifisert, har jeg funnet mer enn
26 000 oppføringer der jeg ennå
914 ikke har hatt kapasitet til å spore opp tittel-ID i IMDB. Jeg har
915 sett at noen av disse er duplikater av de IMDB-oppføringene som er
916 identifisert så langt, men de fleste jeg har hatt tid til å
917 undersøke så langt har vist seg å ikke være duplikater. Retro Film
918 Vault hevder å ha
44 000 filmverk i det fri i sin katalog, så det er
919 mulig at det reelle tallet er betydelig høyere enn de jeg har klart
920 å identifisere så langt. Konklusjonen en kan trekke fra dette er at
921 tallet
14 000 er nedre grense for hvor mange filmer i IMDB som kan
922 lovlig deles på Internett. I
923 følge
<a href=
"https://www.imdb.com/stats">statistikk fra IMDB
</a>
924 er det
4.6 millioner titler registrert, hvorav
3 millioner er
925 TV-serieepisoder.
</p>
927 <p>Hvis en fordeler på år alle tittel-IDene i IMDB som hevdes å deles
928 lovlig på Internett, får en følgende histogram:
</p>
930 <p align=
"center"><img src=
"http://people.skolelinux.org/pere/blog/images/2019-01-16-dns-beslag-verkidetfri-2018-11-26-histogram-year.png"
931 alt=
"histogram over frie filmer per år" width=
"80%"/></p>
933 <p>En kan i histogrammet se at effekten av manglende registrering
934 eller fornying av registrering er at mange filmer gitt ut i USA før
935 1978 er allemannseie i dag. I tillegg kan en se at det finnes flere
936 filmer gitt ut de siste årene med bruksvilkår som tillater deling,
937 muligens på grunn av fremveksten
938 av
<a href=
"https://creativecommons.org/">Creative
939 Commons
</a>-bevegelsen.
</p>
941 <p>IMDB har lagt ut
<a href=
"https://www.imdb.com/interfaces/">en
942 maskinlesbare liste
</a> over alle registreringene i sin database, og
943 ved hjelp av denne har jeg oppsummert antall titler per år i
944 kategoriene «movies» og «short», som er det jeg fokuserer på i min
945 telling. Inn i oversikten er det tegnet hvor stor prosentandel
946 antallet filmer som hevdes å kunne deles lovlig på Internett utgjør
947 av IMDB-totalen. Ut fra oversikten får man en ide om hvor stor andel
948 av totalen som kan mangle i min telling, for eksempel ved å merke
949 seg at få prosenter av filmene utgitt tidlig på
1900-tallet er med i
952 <p align=
"center"><img src=
"http://people.skolelinux.org/pere/blog/images/2019-01-16-dns-beslag-verkidetfri-2018-11-26-histogram-year-imdb.png"
953 alt=
"histogram over filmer og frie filmer per år" width=
"80%" /></p>
955 <p>For maskinell analyse av katalogene laget jeg et lite program som
956 kobler seg til bittorrent-katalogene som brukes av ulike Popcorn
957 Time-varianter og laster ned komplett liste over filmer i
958 katalogene. Dette bekrefter at det er mulig å hente ut komplett
959 liste med alle filmtitler som er tilgjengelig i katalogene, i strid
960 med påstanden i dokumentene
09,
13,
09,
19 og
09,
20. Jeg har sett på
961 fire bittorrent-kataloger. Den ene ble brukt av klienten
962 tilgjengelig fra www.popcorntime.sh
2017-
12-
18 og er navngitt «sh» i
963 dette dokumentet. Den andre brukes i følge dokument
09,
12 av
964 klienten tilgjengelig fra popcorntime.ag og popcorntime.sh på ukjent
965 tidspunkt og er navngitt «yts» i dette dokumentet. Den tredje ble
966 brukt av websidene tilgjengelig fra popcorntime-online.tv
2017-
12-
18
967 og er navngitt «apidomain» i dette dokumentet. Den fjerde ble brukt
968 av klienten tilgjengelig fra popcorn-time.to i følge dokument
09,
12
969 på ukjent tidspunkt, og er navngitt «ukrfnlge» i dette
970 dokumentet. Hvilke kataloger som brukes av ulike Popcorn
971 Time-klienter endrer seg over tid, da Popcorn Time-klientene i
972 praksis er nettlesere som viser frem ulike nettsider og disse
973 nettsidene bytter datakilder når nettsidens eier ønsker det.
</p>
975 <p>Metoden som Økokrim legger til grunn, skriver i sitt punkt fire at
976 skjønn er en egnet metode for å finne ut om en film kan lovlig deles
977 på Internett eller ikke, og sier at det ble «vurdert hvorvidt det
978 var rimelig å forvente om at verket var vernet av copyright». For
979 det første er det ikke nok å slå fast om en film er «vernet av
980 copyright» for å vite om det er lovlig å dele den på Internett eller
981 ikke, da det finnes flere filmer med opphavsrettslige bruksvilkår
982 som tillater deling på Internett. Eksempler på dette er Creative
983 Commons-lisensierte filmer som Citizenfour fra
2014 og Sintel fra
984 2010. I tillegg til slike finnes det flere filmer som nå er
985 allemannseie (public domain) på grunn av manglende registrering
986 eller fornying av registrering selv om både regisør,
987 produksjonsselskap og distributør ønsker seg vern. Eksempler på
988 dette er Plan
9 from Outer Space fra
1959 og Night of the Living
989 Dead fra
1968. Alle filmer fra USA som var allemannseie før
990 1989-
03-
01 forble i det fri da Bern-konvensjonen, som tok effekt i
991 USA på det tidspunktet, ikke ble gitt tilbakevirkende
992 kraft.
<a href=
"https://www.latimes.com/local/lanow/la-me-ln-happy-birthday-song-lawsuit-decision-20150922-story.html">Historien
993 om sangen «Happy birthday»
</a>, der betaling for bruk har vært krevd
994 inn i flere tiår selv om sangen ikke var vernet av åndsverksloven,
995 forteller oss at hvert enkelt verk må vurderes nøye og i detalj før
996 en kan slå fast om verket er allemannseie eller ikke, det holder
997 ikke å tro på selverklærte rettighetshavere. Flere eksempel på verk
998 i det fri som feilklassifiseres som vernet er fra dokument
09,
18,
999 som lister opp søkeresultater for pklienten omtalt som
1000 popcorntime.sh og i følge notatet kun inneholder en film (The Circus
1001 fra
1928) som under tvil kan antas å være allemannseie.
</p>
1003 <p>Ved rask gjennomlesning av dokument
09,
18, som inneholder
1004 skjermbilder fra bruk av en Popcorn Time-variant, fant jeg omtalt
1005 både filmen «The Brain That Wouldn't Die» fra
1962 som
1006 er
<a href=
"https://archive.org/details/brain_that_wouldnt_die">tilgjengelig
1007 fra Internett-arkivet
</a> og
1008 som
<a href=
"https://en.wikipedia.org/wiki/List_of_films_in_the_public_domain_in_the_United_States">i
1009 følge Wikipedia er allemannseie i USA
</a> da den ble gitt ut i
1962
1010 uten «copyright»-merking, og filmen «God’s Little Acre» fra
1011 1958 <a href=
"https://en.wikipedia.org/wiki/God%27s_Little_Acre_%28film%29">som
1012 er lagt ut på Wikipedia
</a>, der det fortelles at sort/hvit-utgaven
1013 er allemannseie. Det fremgår ikke fra dokument
09,
18 om filmen
1014 omtalt der er sort/hvit-utgaven. Av kapasitetsårsaker og på grunn av
1015 at filmoversikten i dokument
09,
18 ikke er maskinlesbart har jeg
1016 ikke forsøkt å sjekke alle filmene som listes opp der om mot liste
1017 med filmer som er antatt lovlig kan distribueres på Internet.
</p>
1019 <p>Ved maskinell gjennomgang av listen med IMDB-referanser under
1020 regnearkfanen «Unique titles» i dokument
09.14, fant jeg i tillegg
1021 filmen «She Wore a Yellow Ribbon» fra
1949) som nok også er
1022 feilklassifisert. Filmen «She Wore a Yellow Ribbon» er tilgjengelig
1023 fra Internett-arkivet og markert som allemannseie der. Det virker
1024 dermed å være minst fire ganger så mange filmer som kan lovlig deles
1025 på Internett enn det som er lagt til grunn når en påstår at minst
1026 99% av innholdet er ulovlig. Jeg ser ikke bort fra at nærmere
1027 undersøkelser kan avdekke flere. Poenget er uansett ikke hvor mange
1028 filmer i listen som er lovlig å dele på Internet, men at metodens
1029 punkt med vurdering av «rimelig å forvente om at verket var vernet
1030 av copyright» gjør metoden upålitelig.
</p>
1032 <p>Den omtalte målemetoden velger ut tilfeldige søketermer fra
1033 ordlisten Dale-Chall. Den ordlisten inneholder
3000 enkle engelske
1034 ord som fjerdeklassinger i USA er forventet å forstå. Det fremgår
1035 ikke hvorfor akkurat denne ordlisten er valgt, og det er uklart for
1036 meg om den er egnet til å få et representativt utvalg av
1037 filmer. Mange av ordene gir tomt søkeresultat. Ved å simulerte
1038 tilsvarende søk ser jeg store avvik fra fordelingen i katalogen for
1039 enkeltmålinger. Dette antyder at enkeltmålinger av
100 filmer slik
1040 målemetoden beskriver er gjort, ikke er velegnet til å finne andel
1041 ulovlig innhold i bittorrent-katalogene.
</p>
1043 <p>En kan motvirke dette store avviket for enkeltmålinger ved å gjøre
1044 mange søk og slå sammen resultatet. Jeg har testet ved å gjennomføre
1045 100 enkeltmålinger (dvs. måling av (
100x100=)
10 000 tilfeldig
1046 valgte filmer) som gir mindre, men fortsatt betydelig avvik, i
1047 forhold til telling av filmer pr år i hele katalogen.
</p>
1049 <p>Målemetoden henter ut de fem øverste i
1050 søkeresultatet. Søkeresultatene er sortert på antall
1051 bittorrent-klienter registrert som delere i katalogene, hvilket kan
1052 gi en slagside mot hvilke filmer som er populære blant de som bruker
1053 bittorrent-katalogene, uten at det forteller noe om hvilket innhold
1054 som er tilgjengelig eller hvilket innhold som deles med Popcorn
1055 Time-klienter. Jeg har forsøkt å måle hvor stor en slik slagside
1056 eventuelt er ved å sammenligne fordelingen hvis en tar de
5 nederste
1057 i søkeresultatet i stedet. Avviket for disse to metodene for flere
1058 av katalogene er godt synlig på histogramet. Her er histogram over
1059 filmer funnet i den komplette katalogen (grønn strek), og filmer
1060 funnet ved søk etter ord i Dale-Chall. Grafer merket «top» henter
1061 fra de
5 første i søkeresultatet, mens de merket «bottom» henter fra
1062 de
5 siste. En kan her se at resultatene påvirkes betydelig av
1063 hvorvidt en ser på de første eller de siste filmene i et
1067 <img src=
"http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-sh-top.png" width=
"40%" />
1068 <img src=
"http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-sh-bottom.png" width=
"40%" />
1070 <img src=
"http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-yts-top.png" width=
"40%" />
1071 <img src=
"http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-yts-bottom.png" width=
"40%" />
1073 <img src=
"http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-ukrfnlge-top.png" width=
"40%" />
1074 <img src=
"http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-ukrfnlge-bottom.png" width=
"40%" />
1076 <img src=
"http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-apidomain-top.png" width=
"40%" />
1077 <img src=
"http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-apidomain-bottom.png" width=
"40%" />
1080 <p>Det er viktig å merke seg at de omtalte bittorrent-katalogene ikke
1081 er laget for bruk med Popcorn Time, men for ulike miljøer av
1082 bittorrent-brukere. Eksempelvis tilhører katalogen YTS, som brukes
1083 av klientet som ble lastes ned fra popcorntime.sh, et selvstendig
1084 fildelings-relatert nettsted YTS.AG med et separat
1085 brukermiljø. Målemetoden foreslått av Økokrim måler dermed ikke
1086 (u)lovligheten rundt bruken av Popcorn Time, men (u)lovligheten til
1087 innholdet i disse katalogene.
</p>
1091 <p id=
"dok-09-13">Metoden fra Økokrims dokument
09,
13 i straffesaken
1096 <p><strong>1. Evaluation of (il)legality
</strong></p>
1098 <p><strong>1.1. Methodology
</strong>
1100 <p>Due to its technical configuration, Popcorn Time applications don't
1101 allow to make a full list of all titles made available. In order to
1102 evaluate the level of illegal operation of PCT, the following
1103 methodology was applied:
</p>
1107 <li>A random selection of
50 keywords, greater than
3 letters, was
1108 made from the Dale-Chall list that contains
3000 simple English
1109 words1. The selection was made by using a Random Number
1112 <li>For each keyword, starting with the first randomly selected
1113 keyword, a search query was conducted in the movie section of the
1114 respective Popcorn Time application. For each keyword, the first
1115 five results were added to the title list until the number of
100
1116 unique titles was reached (duplicates were removed).
</li>
1118 <li>For one fork, .CH, insufficient titles were generated via this
1119 approach to reach
100 titles. This was solved by adding any
1120 additional query results above five for each of the
50 keywords.
1121 Since this still was not enough, another
42 random keywords were
1122 selected to finally reach
100 titles.
</li>
1124 <li>It was verified whether or not there is a reasonable expectation
1125 that the work is copyrighted by checking if they are available on
1126 IMDb, also verifying the director, the year when the title was
1127 released, the release date for a certain market, the production
1128 company/ies of the title and the distribution company/ies.
</li>
1132 <p><strong>1.2. Results
</strong></p>
1134 <p>Between
6 and
9 June
2016, four forks of Popcorn Time were
1135 investigated: popcorn-time.to, popcorntime.ag, popcorntime.sh and
1136 popcorntime.ch. An excel sheet with the results is included in
1137 Appendix
1. Screenshots were secured in separate Appendixes for each
1138 respective fork, see Appendix
2-
5.
</p>
1140 <p>For each fork, out of
100, de-duplicated titles it was possible to
1141 retrieve data according to the parameters set out above that indicate
1142 that the title is commercially available. Per fork, there was
1 title
1143 that presumably falls within the public domain, i.e. the
1928 movie
1144 "The Circus" by and with Charles Chaplin.
</p>
1146 <p>Based on the above it is reasonable to assume that
99% of the movie
1147 content of each fork is copyright protected and is made available
1150 <p>This exercise was not repeated for TV series, but considering that
1151 besides production companies and distribution companies also
1152 broadcasters may have relevant rights, it is reasonable to assume that
1153 at least a similar level of infringement will be established.
</p>
1155 <p>Based on the above it is reasonable to assume that
99% of all the
1156 content of each fork is copyright protected and are made available
1161 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
1162 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
1164 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
1165 Merk, betaling med bitcoin er ikke anonymt. :)
</p>
1170 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett
</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>.
1175 <div class=
"padding"></div>
1177 <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>
1188 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
1190 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
1192 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
1194 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/05/">May (
1)
</a></li>
1201 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
1203 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
1205 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
1207 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
1209 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
1211 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
1213 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
1215 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
1217 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
1219 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
1221 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
1228 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
1230 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
1232 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
1234 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
1236 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
1238 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
1240 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
1242 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
1244 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
1246 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
1248 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
1255 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
1257 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
1259 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
1261 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
1263 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
1265 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
1267 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
1269 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
1271 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
1273 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
1275 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
1277 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
1284 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
1286 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
1288 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
1290 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
1292 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
1294 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
1296 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
1298 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
1300 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
1302 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
1304 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
1306 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
1313 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
1315 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
1317 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
1319 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
1321 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
1323 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
1325 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
1327 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
1329 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
1331 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
1333 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
1335 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
1342 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
1344 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
1346 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
1348 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
1350 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
1352 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
1354 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
1356 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
1358 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
1360 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
1362 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
1364 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
1371 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
1373 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
1375 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
1377 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
1379 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
1381 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
1383 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
1385 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
1387 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
1389 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
1391 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
1393 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
1400 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
1402 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
1404 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
1406 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
1408 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
1410 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
1412 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
1414 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
1416 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
1418 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
1420 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
1422 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
1429 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
1431 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
1433 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
1435 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
1437 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
1439 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
1441 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
1443 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
1445 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
1447 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
1449 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
1451 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
1458 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
1460 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
1462 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
1464 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
1466 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
1468 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
1470 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
1472 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
1474 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
1476 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
1478 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
1480 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
1487 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
1489 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
1500 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
16)
</a></li>
1502 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
1504 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
1506 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
1508 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
8)
</a></li>
1510 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
11)
</a></li>
1512 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
1514 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
1516 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
1518 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
167)
</a></li>
1520 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
1522 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
4)
</a></li>
1524 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
1526 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
1528 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
25)
</a></li>
1530 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
1532 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
401)
</a></li>
1534 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
1536 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
1538 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
33)
</a></li>
1540 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
1542 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
1544 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
1546 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
1548 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
1550 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
21)
</a></li>
1552 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kodi">kodi (
4)
</a></li>
1554 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
1556 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
1558 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
1560 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
1562 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
1564 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
1566 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
42)
</a></li>
1568 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
12)
</a></li>
1570 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
13)
</a></li>
1572 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
305)
</a></li>
1574 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
194)
</a></li>
1576 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
36)
</a></li>
1578 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
1580 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
73)
</a></li>
1582 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
108)
</a></li>
1584 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
1586 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
1588 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
1590 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
1592 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
11)
</a></li>
1594 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
1596 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
1598 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
1600 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
55)
</a></li>
1602 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
1604 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
1606 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
62)
</a></li>
1608 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
6)
</a></li>
1610 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
12)
</a></li>
1612 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
55)
</a></li>
1614 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
4)
</a></li>
1616 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
1618 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
1620 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
15)
</a></li>
1622 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
73)
</a></li>
1624 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
1626 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
1632 <p style=
"text-align: right">
1633 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>