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