1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/' xmlns:
atom=
"http://www.w3.org/2005/Atom">
4 <title>Petter Reinholdtsen
</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
7 <atom:link href=
"http://people.skolelinux.org/pere/blog/index.rss" rel=
"self" type=
"application/rss+xml" />
10 <title>PlantUML for text based UML diagram modelling - nice free software
</title>
11 <link>http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html
</guid>
13 <pubDate>Mon,
25 Mar
2019 09:
35:
00 +
0100</pubDate>
14 <description><p
>As part of my involvement with the
15 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
16 Noark
5 core project
</a
>, I have been proposing improvements to the
17 API specification created by
<a href=
"https://www.arkivverket.no/
">The
18 National Archives of Norway
</a
> and helped migrating the text from a
19 version control system unfriendly binary format (docx) to Markdown in
20 git. Combined with the migration to a public git repository (on
21 github), this has made it possible for anyone to suggest improvement
22 to the text.
</p
>
24 <p
>The specification is filled with UML diagrams. I believe the
25 original diagrams were modelled using Sparx Systems Enterprise
26 Architect, and exported as EMF files for import into docx. This
27 approach make it very hard to track changes using a version control
28 system. To improve the situation I have been looking for a good text
29 based UML format with associated command line free software tools on
30 Linux and Windows, to allow anyone to send in corrections to the UML
31 diagrams in the specification. The tool must be text based to work
32 with git, and command line to be able to run it automatically to
33 generate the diagram images. Finally, it must be free software to
34 allow anyone, even those that can not accept a non-free software
35 license, to contribute.
</p
>
37 <p
>I did not know much about free software UML modelling tools when I
38 started. I have used dia and inkscape for simple modelling in the
39 past, but neither are available on Windows, as far as I could tell. I
41 <a href=
"https://modeling-languages.com/text-uml-tools-complete-list/
">list
42 of text mode uml tools
</a
>, and tested out a few of the tools listed
43 there.
<a href=
"http://plantuml.com/
">The PlantUML tool
</a
> seemed
44 most promising. After verifying that the packages
45 <a href=
"https://tracker.debian.org/pkg/plantuml
">is available in
46 Debian
</a
> and found
<a href=
"https://github.com/plantuml/plantuml
">its
47 Java source
</a
> under a GPL license on github, I set out to test if it
48 could represent the diagrams we needed, ie the ones currently in
49 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">the
50 Noark
5 Tjenestegrensesnitt specification
</a
>. I am happy to report
51 that it could represent them, even thought it have a few warts here
54 <p
>After a few days of modelling I completed the task this weekend. A
55 temporary link to the complete set of diagrams (original and from
56 PlantUML) is available in
57 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/
76">the
58 github issue discussing the need for a text based UML format
</a
>, but
59 please note I lack a sensible tool to convert EMF files to PNGs, so
60 the
"original
" rendering is not as good as the original was in the
61 publised PDF.
</p
>
63 <p
>Here is an example UML diagram, showing the core classes for
64 keeping metadata about archived documents:
</p
>
68 skinparam classAttributeIconSize
0
70 !include media/uml-class-arkivskaper.iuml
71 !include media/uml-class-arkiv.iuml
72 !include media/uml-class-klassifikasjonssystem.iuml
73 !include media/uml-class-klasse.iuml
74 !include media/uml-class-arkivdel.iuml
75 !include media/uml-class-mappe.iuml
76 !include media/uml-class-merknad.iuml
77 !include media/uml-class-registrering.iuml
78 !include media/uml-class-basisregistrering.iuml
79 !include media/uml-class-dokumentbeskrivelse.iuml
80 !include media/uml-class-dokumentobjekt.iuml
81 !include media/uml-class-konvertering.iuml
82 !include media/uml-datatype-elektronisksignatur.iuml
84 Arkivstruktur.Arkivskaper
"+arkivskaper
1..*
" <-o
"+arkiv
0..*
" Arkivstruktur.Arkiv
85 Arkivstruktur.Arkiv o--
> "+underarkiv
0..*
" Arkivstruktur.Arkiv
86 Arkivstruktur.Arkiv
"+arkiv
1" o--
> "+arkivdel
0..*
" Arkivstruktur.Arkivdel
87 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [
0.
.1]
" <--o
"+arkivdel
1..*
" Arkivstruktur.Arkivdel
88 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [
0.
.1]
" o--
> "+klasse
0..*
" Arkivstruktur.Klasse
89 Arkivstruktur.Arkivdel
"+arkivdel
0.
.1" o--
> "+mappe
0..*
" Arkivstruktur.Mappe
90 Arkivstruktur.Arkivdel
"+arkivdel
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
91 Arkivstruktur.Klasse
"+klasse
0.
.1" o--
> "+mappe
0..*
" Arkivstruktur.Mappe
92 Arkivstruktur.Klasse
"+klasse
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
93 Arkivstruktur.Mappe --
> "+undermappe
0..*
" Arkivstruktur.Mappe
94 Arkivstruktur.Mappe
"+mappe
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
95 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Mappe
96 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Dokumentbeskrivelse
97 Arkivstruktur.Basisregistrering -|
> Arkivstruktur.Registrering
98 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Basisregistrering
99 Arkivstruktur.Registrering
"+registrering
1..*
" o--
> "+dokumentbeskrivelse
0..*
" Arkivstruktur.Dokumentbeskrivelse
100 Arkivstruktur.Dokumentbeskrivelse
"+dokumentbeskrivelse
1" o-
> "+dokumentobjekt
0..*
" Arkivstruktur.Dokumentobjekt
101 Arkivstruktur.Dokumentobjekt *-
> "+konvertering
0..*
" Arkivstruktur.Konvertering
102 Arkivstruktur.ElektroniskSignatur -[hidden]-
> Arkivstruktur.Dokumentobjekt
106 <p
><a href=
"http://plantuml.com/class-diagram
">The format
</a
> is quite
107 compact, with little redundant information. The text expresses
108 entities and relations, and there is little layout related fluff. One
109 can reuse content by using include files, allowing for consistent
110 naming across several diagrams. The include files can be standalone
111 PlantUML too. Here is the content of
112 <tt
>media/uml-class-arkivskaper.iuml
<tt
>:
</p
>
116 class Arkivstruktur.Arkivskaper
<Arkivenhet
> {
117 +arkivskaperID : string
118 +arkivskaperNavn : string
119 +beskrivelse : string [
0.
.1]
124 <p
>This is what the complete diagram for the PlantUML notation above
127 <p
><img width=
"80%
" src=
"http://people.skolelinux.org/pere/blog/images/
2019-
03-
25-noark5-plantuml-diagrameksempel.png
"></p
>
129 <p
>A cool feature of PlantUML is that the generated PNG files include
130 the entire original source diagram as text. The source (with include
131 statements expanded) can be extracted using for example
132 <tt
>exiftool
</tt
>. Another cool feature is that parts of the entities
133 can be hidden after inclusion. This allow to use include files with
134 all attributes listed, even for UML diagrams that should not list any
135 attributes.
</p
>
137 <p
>The diagram also show some of the warts. Some times the layout
138 engine place text labels on top of each other, and some times it place
139 the class boxes too close to each other, not leaving room for the
140 labels on the relationship arrows. The former can be worked around by
141 placing extra newlines in the labes (ie
"\n
"). I did not do it here
142 to be able to demonstrate the issue. I have not found a good way
143 around the latter, so I normally try to reduce the problem by changing
144 from vertical to horizontal links to improve the layout.
</p
>
146 <p
>All in all, I am quite happy with PlantUML, and very impressed with
147 how quickly its lead developer responds to questions. So far I got an
148 answer to my questions in a few hours when I send an email. I
149 definitely recommend looking at PlantUML if you need to make UML
150 diagrams. Note, PlantUML can draw a lot more than class relations.
151 Check out the documention for a complete list. :)
</p
>
153 <p
>As usual, if you use Bitcoin and want to show your support of my
154 activities, please send Bitcoin donations to my address
155 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
160 <title>Release
0.3 of free software archive API system Nikita announced
</title>
161 <link>http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html
</link>
162 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html
</guid>
163 <pubDate>Sun,
24 Mar
2019 14:
30:
00 +
0100</pubDate>
164 <description><p
>Yesterday, a new release of
165 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
166 Noark
5 core project
</a
> was
167 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/
2019-March/
000451.html
">announced
168 on the project mailing list
</a
>. The free software solution is an
169 implementation of the Norwegian archive standard Noark
5 used by
170 government offices in Norway. These were the changes in version
0.3
171 since version
0.2.1 (from NEWS.md):
</p
>
174 <li
>Improved ClassificationSystem and Class behaviour.
</li
>
175 <li
>Tidied up known inconsistencies between domain model and hateaos links.
</li
>
176 <li
>Added experimental code for blockchain integration.
</li
>
177 <li
>Make token expiry time configurable at upstart from properties file.
</li
>
178 <li
>Continued work on OData search syntax.
</li
>
179 <li
>Started work on pagination for entities, partly implemented for Saksmappe.
</li
>
180 <li
>Finalise ClassifiedCode Metadata entity.
</li
>
181 <li
>Implement mechanism to check if authentication token is still
182 valid. This allow the GUI to return a more sensible message to the
183 user if the token is expired.
</li
>
184 <li
>Reintroduce browse.html page to allow user to browse JSON API using
185 hateoas links.
</li
>
186 <li
>Fix bug in handling file/mappe sequence number. Year change was
187 not properly handled.
</li
>
188 <li
>Update application yml files to be in sync with current development.
</li
>
189 <li
>Stop
'converting
' everything to PDF using libreoffice. Only
190 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
192 <li
>Continued code style fixing, making code more readable.
</li
>
193 <li
>Minor bug fixes.
</li
>
197 <p
>If free and open standardized archiving API sound interesting to
198 you, please contact us on IRC
199 (
<a href=
"irc://irc.freenode.net/%
23nikita
">#nikita on
200 irc.freenode.net
</a
>) or email
201 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">nikita-noark
202 mailing list
</a
>).
</p
>
204 <p
>As usual, if you use Bitcoin and want to show your support of my
205 activities, please send Bitcoin donations to my address
206 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
211 <title>Åpen og gjennomsiktig vedlikehold av spesifikasjonen for Noark
5 Tjenestegrensesnitt
</title>
212 <link>http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html
</link>
213 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html
</guid>
214 <pubDate>Mon,
11 Mar
2019 16:
00:
00 +
0100</pubDate>
215 <description><p
>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
216 finne informasjonen en trenger når en trenger det, og der
217 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
218 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
219 vare på offentliggjort informasjon som er tilgjengelig flere steder,
220 tar et arkiv vare på virksomhetsintern og til tider personlig
221 informasjon som ofte kun er tilgjengelig fra et sted.
</p
>
223 <p
>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
224 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
225 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
226 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
227 vekk det en ikke vil ta vare på, og legge på metadata om det som er
228 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
229 arkivet er en del av daglig virke, ikke at det er siste hvilested for
230 informasjon ingen lenger har daglig bruk for. For å kunne være en del
231 av det daglige virket må arkivet enkelt kunne integreres med andre
232 systemer. I disse dager betyr det å tilby arkivet som en
233 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
234 og datamaskiner. Det betyr i tur å både tilby nettsider og et
235 maskinlesbart grensesnitt.
</p
>
237 <p
>For noen år siden erkjente visjonære arkivarer fordelene med et
238 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
239 gikk igang med å lage noe de kalte
240 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">Noark
241 5 Tjenestegrensesnitt
</a
>. Gjort riktig, så åpner slike maskinlesbare
242 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
243 Gjort feil, vil det blokkere for samvirke og bidra til
244 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
245 klart og entydig beskrevet i en spesifikasjon som gjør at
246 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
247 og uavhengig av hvem som tar den i bruk.
</p
>
249 <p
>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
250 trengs for å kunne få en fri og åpen standard (se
251 <a href=
"http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html
">Digistan-definisjon
</a
>),
252 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
253 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
254 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
255 En trenger også automatiserte datasystemer som måler og sjekker at et
256 gitt grensesnitt fungerer i tråd med spesifikasjonen.
</p
>
258 <p
>For Noark
5 Tjenestegrensesnittet er det nå etablert en slik åpen
259 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
260 inngangsporten består først og fremst av en åpen portal som lar enhver
261 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
262 det hører også med et åpent
&quot;diskusjonsforum
&quot; der en kan
263 komme med endringsforslag og forespørsler om klargjøringer. Alle
264 registrerte brukere på github kan bidra med innspill til disse
265 henvendelsene.
</p
>
267 <p
>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
268 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
269 inn historikk for endringer i teksten de siste årene, samt lagt inn
270 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
271 for at jeg bidro med dette er at jeg er involvert i
272 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core
">Nikita-prosjektet
</a
>,
273 som lager en fri programvare-utgave av Noark
5 Tjenestegrensesnitt.
274 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
275 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
276 å sikre samhandling.
</p
>
278 <p
>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
279 format egnet for versjonskontroll via versjontrollsystemet git. Dette
280 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
281 samt gjør det praktisk mulig for enhver med github-konto å sende inn
282 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
283 tekstformatet vises frem som nettsider på github, slik at en ikke
284 trenger spesielle verktøy for å se på siste utgave av
285 spesifikasjonen.
</p
>
287 <p
>Fra dette rene tekstformatet kan det så avledes ulike formater, som
288 HTML for websider, PDF for utskrift på papir og ePub for lesing med
289 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
290 verktøyene pandoc, latex, docbook-xsl og GNU make til
291 transformasjonen. Tekstformatet som brukes dag er
292 <a href=
"https://www.markdownguide.org/
">Markdown
</a
>, men det vurderes
294 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/
9">endre
295 til formatet RST
</a
> i fremtiden for bedre styring av utseende på
296 PDF-utgaven.
</p
>
298 <p
>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
299 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
300 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
301 Github i andre sammenhenger.
</p
>
303 <p
>Enkle endringer i teksten kan gjøres av priviligerte brukere
304 direkte i nettsidene til Github, ved å finne aktuell fil som skal
305 endres (f.eks. kapitler/
03-konformitet.md), klikke på den lille
306 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
307 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
308 så må endringen
&quot;sjekkes inn
&quot; i historikken. Det gjøres ved
309 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
310 trengs, ikke hva som er endret), under overskriften
&quot;Commit
311 changes
&quot;. En kan og bør legge inn en lengre forklaring i det
312 større skrivefeltet, før en velger om endringen skal sendes direkte
313 til
'master
'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
314 om en skal lage en ny gren for denne endringen og opprette en
315 endringsforespørsel (aka
&quot;Pull Request
&quot;/PR). Når alt dette
316 er gjort kan en velge
&quot;Commit changes
&quot; for å sende inn
317 endringen. Hvis den er lagt inn i
&quot;master
&quot;-grenen så er den
318 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
319 en endringsforespørsel, så legges den inn i
320 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls
">listen
321 over forslag til endringer
</a
> som venter på korrekturlesing og
322 godkjenning.
</p
>
324 <p
>Større endringer (for eksempel samtidig endringer i flere filer)
325 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
326 endringene der før endringsforslaget sendes inn. Denne prosessen er
327 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
328 &quot;klones
&quot; er
329 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a
>.
</p
>
331 <p
>For å registrere nye utfordringer (issues) eller kommentere på
332 eksisterende utfordringer benyttes nettsiden
333 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
</a
>.
334 I skrivende stund er det
48 åpne og
11 avsluttede utfordringer. Et
335 forslag til hva som bør være med når en beskriver en utfordring er
336 tilgjengelig som utfordring
337 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/
14">#
14</a
>.
</p
>
339 <p
>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
340 Debian GNU/Linux-maskin med en rekke programpakker installert. Når
341 dette er på plass, så holder det å kjøre kommandoen
'make pdf html
' på
342 kommandolinjen, vente ca.
20 sekunder, før spesifikasjon.pdf og
343 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
344 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
347 <p
>Github bidrar med rammeverket. Men for at åpent vedlikehold av
348 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
349 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
350 godkjenne forslag til endringer, men det blir størst suksess hvis alle
351 som bruker og lager systemer basert på Noark
5 Tjenestegrensesnitt
352 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
353 stiller. Blir du med?
</p
>
355 <p
>Det er viktig å legge til rette for åpen diskusjon blant alle
356 interesserte, som ikke krever at en må godta lange kontrakter med
357 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
358 laget en IRC-kanal der interesserte enkelt kan orientere seg og
359 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
361 <a href=
"https://webchat.freenode.net/?channels=nikita
">#nikita
</a
>
362 (f.eks. via irc.freenode.net) for å møte likesinnede.
</p
>
364 <p
>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
365 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
366 tjenestegrensesnitt følger (min) forståelse av
367 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
368 opp til et Noark
5v4 REST-tjeneste og tester alt den finner for å se
369 om det er i henhold til min tolkning av spesifikasjonen. Dette
370 verktøyet er tilgjengelig fra
371 <a href=
"https://github.com/petterreinholdtsen/noark5-tester
">https://github.com/petterreinholdtsen/noark5-tester
</a
>,
372 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
373 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
374 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
375 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
376 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
377 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
378 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
379 spesifikasjonsteksten enda klarere og bedre.
</p
>
381 <p
>Dagens beskrivelse av Noark
5 Tjenestegrensesnitt er et svært godt
382 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
383 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
384 enda bedre?
</p
>
389 <title>Dårlig med sikkerhetsoppdateringer for Ruters billettautomater i Oslo?
</title>
390 <link>http://people.skolelinux.org/pere/blog/D_rlig_med_sikkerhetsoppdateringer_for_Ruters_billettautomater_i_Oslo_.html
</link>
391 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/D_rlig_med_sikkerhetsoppdateringer_for_Ruters_billettautomater_i_Oslo_.html
</guid>
392 <pubDate>Wed,
13 Feb
2019 10:
45:
00 +
0100</pubDate>
393 <description><p
><a href=
"http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html
">For
394 syv år siden
</a
> oppdaget jeg at billettautomater for
395 kollektivtrafikken i Oslo kjørte
396 <a href=
"http://en.wikipedia.org/wiki/Windows_2000
">Windows
2000
397 Professional
</a
>. Operativsystemet har ikke fått sikkerhetsfikser fra
398 Microsoft siden
2010-
07-
13 i følge dem selv. Den samme versjonen av
399 operativsystemet var i bruk
400 <a href=
"http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html
">for
401 to og et halvt år siden
</a
>, og jammen er det ikke også i bruk den dag
404 <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
>
406 <p
>Bildet er tatt i dag av Kirill Miazine og tilgjengelig for bruk med
408 <a href=
"http://creativecommons.org/licenses/by/
4.0/
">Creative
409 Commons Attribution
4.0 International (CC BY
4.0)
</a
>.
</p
>
411 <p
>Kanskje det hadde vært
412 <a href=
"https://www.aftenposten.no/osloby/i/awqgO/Her-kjorer-du-gratis-trikk-og-buss
">bedre
413 med gratis kollektivtrafikk
</A
>, slik at vi slapp å stole på
414 datakompetansen til Ruter for å verne våre privatliv samt holde
415 personopplysninger og betalingsinformasjon unna uvedkommende. Eneste
416 måten å sikre at hvor en befinner seg ikke kan hentes ut fra Ruters
417 systemer er å betale enkeltbilletter med kontanter. Jeg vet at Ruter
418 har en god historie om hvor personvernvennlige mobil-app og
419 RFID-kortene er, men den historien er ikke mulig å uavhengig
420 kontrollere uten priviligert tilgang til interne system og blir dermed
421 bare nok en god historie basert på tillit til de som forteller
422 historien. Det er ikke slik en sikrer privatsfæren. Det gjør en ved
423 å sikre at det ikke (kan) registreres informasjon om ens person.
</p
>
425 <p
>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
426 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
428 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
429 Merk, betaling med bitcoin er ikke anonymt. :)
</p
>
434 <title>Stortinget vedtar maskinlesbart register over
20% av selskapseierne i Norge
</title>
435 <link>http://people.skolelinux.org/pere/blog/Stortinget_vedtar_maskinlesbart_register_over_20__av_selskapseierne_i_Norge.html
</link>
436 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Stortinget_vedtar_maskinlesbart_register_over_20__av_selskapseierne_i_Norge.html
</guid>
437 <pubDate>Thu,
7 Feb
2019 23:
55:
00 +
0100</pubDate>
438 <description><p
>Jeg registrerer med glede at Stortinget i dag har
439 <a href=
"https://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=
72826">vedtatt
440 at det skal vedlikeholdes et åpent og maskinlesbart register over
441 reelle rettighetshavere i Norge
</a
>. Her kan en kanskje få et
442 register som kan brukes til å analysere eierskap og kontroll i Norge
443 maskinelt og knytte det til internasjonale databaser som
444 <a href=
"https://opencorporates.com/
">OpenCorporates
</a
>. Det liker
447 <p
>Den vedtatte grense på
25 prosents eierandel fikk stor
448 oppmerksomhet i debatten. Jeg ser fra enkel analyse av skatteetatens
449 eierskapsregister at
80.4% av alle selskapseiere i registeret har
450 mindre enn
25% eierandel, mot
73.8% som har mindre enn
5% eierandel.
451 En grense på
25% vil altså utelukke
80.4% av selskapseierne fra det
452 vedtatte registeret, og en grense på
5% vil skjule
73.8%. En må helt
453 ned i registrering av eierandeler over circa
0.002% for å få mer enn
454 halvparten av selskapseierne i Norge. Mon tro hvor langt ned en må i
455 eierprosent for å få med alle eierskapene til politisk valgte
456 representanter?
</p
>
458 <p
>Jeg biter meg også merke i at Sivert Bjørnstad fra FrP
459 tilsynelatende tror at aksjonærregisteret er et eksisterende åpent
460 register, på tross av at det så vidt jeg vet kun deles ved personlig
461 oppmøte hos skatteetaten og ikke er tilgjengelig i maskinlesbart
462 format for enhver, og dermed så langt ikke er importert inn i
463 OpenCorporates. Det anser jeg ikke for et spesielt åpent register.
464 Debatten ga ellers lite håp om at situasjonen bedrer seg, da
465 finansministeren bare henviste til en fraværende næringsministeren og
466 ikke ville uttale seg om et skikkelig aksjonærregister snart dukker
469 <p
>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
470 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
472 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
473 Merk, betaling med bitcoin er ikke anonymt. :)
</p
>
478 <title>Websocket from Kraken in Valutakrambod
</title>
479 <link>http://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html
</link>
480 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html
</guid>
481 <pubDate>Fri,
1 Feb
2019 22:
25:
00 +
0100</pubDate>
482 <description><p
>Yesterday, the Kraken virtual currency exchange announced
483 <a href=
"https://blog.kraken.com/post/
2019/websockets-public-api-launching-soon/
">their
484 Websocket service
</a
>, providing a stream of exchange updates to its
485 clients. Getting updated rates quickly is a good idea, so I used
486 their
<a href=
"https://www.kraken.com/en-us/help/websocket-api
">API
487 documentation
</a
> and added Websocket support to the Kraken service in
488 Valutakrambod today. The python library can now get updates
489 from Kraken several times per second, instead of every time the
490 information is polled from the REST API.
</p
>
492 <p
>If this sound interesting to you, the code for valutakrambod is
494 <a href=
"http://github.com/petterreinholdtsen/valutakrambod
">github
</a
>.
495 Here is example output from the example client displaying rates in a
496 curses view:
</p
>
498 <p
><blockquote
><pre
>
499 Name Pair Bid Ask Spr Ftcd Age
500 BitcoinsNorway BTCEUR
2959.2800 3021.0500 2.0%
36 nan nan
501 Bitfinex BTCEUR
3087.9000 3088.0000 0.0%
36 37 nan
502 Bitmynt BTCEUR
3001.8700 3135.4600 4.3%
36 52 nan
503 Bitpay BTCEUR
3003.8659 nan nan%
35 nan nan
504 Bitstamp BTCEUR
3008.0000 3010.2300 0.1%
0 1 1
505 Bl3p BTCEUR
3000.6700 3010.9300 0.3%
1 nan nan
506 Coinbase BTCEUR
2992.1800 3023.2500 1.0%
34 nan nan
507 Kraken+BTCEUR
3005.7000 3006.6000 0.0%
0 1 0
508 Paymium BTCEUR
2940.0100 2993.4400 1.8%
0 2688 nan
509 BitcoinsNorway BTCNOK
29000.0000 29360.7400 1.2%
36 nan nan
510 Bitmynt BTCNOK
29115.6400 29720.7500 2.0%
36 52 nan
511 Bitpay BTCNOK
29029.2512 nan nan%
36 nan nan
512 Coinbase BTCNOK
28927.6000 29218.5900 1.0%
35 nan nan
513 MiraiEx BTCNOK
29097.7000 29741.4200 2.2%
36 nan nan
514 BitcoinsNorway BTCUSD
3385.4200 3456.0900 2.0%
36 nan nan
515 Bitfinex BTCUSD
3538.5000 3538.6000 0.0%
36 45 nan
516 Bitpay BTCUSD
3443.4600 nan nan%
34 nan nan
517 Bitstamp BTCUSD
3443.0100 3445.0500 0.1%
0 2 1
518 Coinbase BTCUSD
3428.1600 3462.6300 1.0%
33 nan nan
519 Gemini BTCUSD
3445.8800 3445.8900 0.0%
36 326 nan
520 Hitbtc BTCUSD
3473.4700 3473.0700 -
0.0%
0 0 0
521 Kraken+BTCUSD
3444.4000 3445.6000 0.0%
0 1 0
522 Exchangerates EURNOK
9.6685 9.6685 0.0%
36 22226 nan
523 Norgesbank EURNOK
9.6685 9.6685 0.0%
36 22226 nan
524 Bitstamp EURUSD
1.1440 1.1462 0.2%
0 1 2
525 Exchangerates EURUSD
1.1471 1.1471 0.0%
36 22226 nan
526 BitcoinsNorway LTCEUR
1.0009 22.6538 95.6%
35 nan nan
527 BitcoinsNorway LTCNOK
259.0900 264.9300 2.2%
35 nan nan
528 BitcoinsNorway LTCUSD
0.0000 29.0000 100.0%
35 nan nan
529 Norgesbank USDNOK
8.4286 8.4286 0.0%
36 22226 nan
530 </pre
></blockquote
></p
>
532 <p
>Yes, I notice the strange negative spread on Hitbtc. I
've seen the
533 same on Kraken. Another strange observation is that Kraken some times
534 announce trade orders a fraction of a second in the future. I really
535 wonder what is going on there.
</p
>
537 <p
>As usual, if you use Bitcoin and want to show your support of my
538 activities, please send Bitcoin donations to my address
539 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
544 <title>Strategispillet Unknown Horizons nå tilgjengelig på bokmål
</title>
545 <link>http://people.skolelinux.org/pere/blog/Strategispillet_Unknown_Horizons_n__tilgjengelig_p__bokm_l.html
</link>
546 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Strategispillet_Unknown_Horizons_n__tilgjengelig_p__bokm_l.html
</guid>
547 <pubDate>Wed,
23 Jan
2019 07:
50:
00 +
0100</pubDate>
548 <description><p
>I høst ble jeg inspirert til å bidra til oversettelsen av
549 <a href=
"http://unknown-horizons.org/
">strategispillet Unknown
550 Horizons
</a
>, og oversatte de nesten
200 strengene i prosjektet til
551 bokmål. Deretter har jeg gått å ventet på at det kom en ny utgave som
552 inneholdt disse oversettelsene. Nå er endelig ventetiden over. Den
553 nye versjonen kom på nyåret, og ble
554 <a href=
"https://tracker.debian.org/pkg/unknown-horizons
">lastet opp i
555 Debian
</a
> for noen få dager siden. I går kveld fikk jeg testet det ut, og
556 må innrømme at oversettelsene fungerer fint. Fant noen få tekster som
557 måtte justeres, men ikke noe alvorlig. Har oppdatert
558 <a href=
"https://hosted.weblate.org/projects/uh/
">oversettelsen på
559 Weblate
</a
>, slik at neste utgave vil være enda bedre. :)
</p
>
561 <p
>Spillet er et ressursstyringsspill ala Civilization, og er morsomt
562 å spille for oss som liker slikt. :)
</p
>
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 <title>Debian now got everything you need to program Micro:bit
</title>
574 <link>http://people.skolelinux.org/pere/blog/Debian_now_got_everything_you_need_to_program_Micro_bit.html
</link>
575 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Debian_now_got_everything_you_need_to_program_Micro_bit.html
</guid>
576 <pubDate>Tue,
22 Jan
2019 17:
20:
00 +
0100</pubDate>
577 <description><p
>I am amazed and very pleased to discover that since a few days ago,
578 everything you need to program the
<a href=
"https://microbit.org/
">BBC
579 micro:bit
</a
> is available from the Debian archive. All this is
580 thanks to the hard work of Nick Morrott and the Debian python
581 packaging team. The micro:bit project recommend the mu-editor to
582 program the microcomputer, as this editor will take care of all the
583 machinery required to injekt/flash micropython alongside the program
584 into the micro:bit, as long as the pieces are available.
</p
>
586 <p
>There are three main pieces involved. The first to enter Debian
588 <a href=
"https://tracker.debian.org/pkg/python-uflash
">python-uflash
</a
>,
589 which was accepted into the archive
2019-
01-
12. The next one was
590 <a href=
"https://tracker.debian.org/pkg/mu-editor
">mu-editor
</a
>, which
591 showed up
2019-
01-
13. The final and hardest part to to into the
593 <a href=
"https://tracker.debian.org/pkg/firmware-microbit-micropython
">firmware-microbit-micropython
</a
>,
594 which needed to get its build system and dependencies into Debian
595 before it was accepted
2019-
01-
20. The last one is already in Debian
596 Unstable and should enter Debian Testing / Buster in three days. This
597 all allow any user of the micro:bit to get going by simply running
598 'apt install mu-editor
' when using Testing or Unstable, and once
599 Buster is released as stable, all the users of Debian stable will be
600 catered for.
</p
>
602 <p
>As a minor final touch, I added rules to
603 <a href=
"https://tracker.debian.org/pkg/isenkram
">the isenkram
604 package
</a
> for recognizing micro:bit and recommend the mu-editor
605 package. This make sure any user of the isenkram desktop daemon will
606 get a popup suggesting to install mu-editor then the USB cable from
607 the micro:bit is inserted for the first time.
</p
>
609 <p
>This should make it easier to have fun.
</p
>
611 <p
>As usual, if you use Bitcoin and want to show your support of my
612 activities, please send Bitcoin donations to my address
613 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
618 <title>Oppdaterte kommentarer til «Evaluation of (il)legality» for Popcorn Time
</title>
619 <link>http://people.skolelinux.org/pere/blog/Oppdaterte_kommentarer_til__Evaluation_of__il_legality__for_Popcorn_Time.html
</link>
620 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Oppdaterte_kommentarer_til__Evaluation_of__il_legality__for_Popcorn_Time.html
</guid>
621 <pubDate>Wed,
16 Jan
2019 11:
40:
00 +
0100</pubDate>
622 <description><p
>I forrige uke var jeg i Borgarting lagmannsrett som partshjelper og
623 sakkyndig vitne og presenterte mine oppdaterte undersøkelser rundt
624 <a href=
"https://github.com/petterreinholdtsen/public-domain-free-imdb
">telling
625 av filmverk i det fri
</a
>, relatert til
626 <a href=
"https://www.nuug.no/
">foreningen NUUG
</a
>s involvering i
<a
627 href=
"https://www.nuug.no/news/tags/dns-domenebeslag/
">saken om
628 Økokrims beslag og senere inndragning av DNS-domenet
629 popcorn-time.no
</a
>. I forkant hadde jeg oppdatert mitt notat med
630 kommentarer til et av aktors bevis, som forsøkte å måle hvor stor
631 andel ulovligheter som var tilgjengelig via Popcorn Time-avspillere.
632 Jeg mistenker flere kan ha glede av å lese dette notatet, som jeg
633 publiserte en tidligere versjon av i fjor, så her er det. Legger
634 også ved avskrift av dokument
09,
13, som er det sentrale dokumentet
635 jeg kommenterer.
</p
>
637 <p
><strong
>Oppdaterte kommentarer til «Evaluation of (il)legality» for
638 Popcorn Time
</strong
></p
>
640 <p
><strong
>Oppsummering
</strong
></p
>
642 <p
>Målemetoden som Økokrim har lagt til grunn når de påstår at
99% av
643 filmene tilgjengelig fra Popcorn Time deles ulovlig har svakheter
644 som gjør resultatet upålitelig.
</p
>
646 <p
>De eller den som har vurdert hvorvidt filmer kan lovlig deles er
647 ikke i stand til å identifisere filmer som kan deles lovlig eller er
648 falt i det fri og har tilsynelatende antatt at kun veldig gamle
649 filmer kan deles lovlig. Økokrim legger til grunn at det bare finnes
650 èn film, Charlie Chaplin-filmen «The Circus» fra
1928, som kan deles
651 fritt blant de som ble observert tilgjengelig via ulike Popcorn
652 Time-varianter. Med min begrensede og ufullstendige oversikt finner
653 jeg tre flere blant de observerte filmene: «The Brain That Wouldn
't
654 Die» fra
1962, «God’s Little Acre» fra
1958 og «She Wore a Yellow
655 Ribbon» fra
1949. Det er godt mulig det finnes flere. Det finnes
656 dermed minst fire ganger så mange filmer som lovlig kan deles på
657 Internett i datasettet Økokrim har lagt til grunn når det påstås at
658 mindre enn
1 % kan deles lovlig.
</p
>
660 <p
>Dernest, utplukket som gjøres ved søk på tilfeldige ord hentet fra
661 ordlisten til Dale-Chall avviker fra årsfordelingen til de brukte
662 filmkatalogene som helhet, hvilket påvirker fordelingen mellom
663 filmer som kan lovlig deles og filmer som ikke kan lovlig deles. I
664 tillegg gir valg av øvre del (de fem første) av søkeresultatene et
665 avvik fra riktig årsfordeling, hvilket påvirker fordelingen av verk
666 i det fri i søkeresultatet.
</p
>
668 <p
>Til sist er det viktig å merke seg at det som måles er ikke
669 (u)lovligheten knyttet til
<strong
>bruken
</strong
> av Popcorn Time,
670 men (u)lovligheten til innholdet i ulike bittorrent-filmkataloger
671 som vedlikeholdes av ulike miljøer uavhengig av Popcorn Time, og som
672 ulike Popcorn Time-varianter har benyttet seg av.
</p
>
674 <p
>Omtalte dokumenter:
09,
12,
<a href=
"#dok-
09-
13">09,
13</a
>,
09,
14,
675 09,
18,
09,
19,
09,
20.
</p
>
677 <p
><strong
>Utfyllende kommentarer
</strong
></p
>
679 <p
>Økokrim har forklart domstolene at minst
99% av alt som er
680 tilgjengelig fra ulike Popcorn Time-varianter deles ulovlig på
681 Internet. Jeg ble nysgjerrig på hvordan de er kommet frem til dette
682 tallet, og dette notatet er en samling kommentarer rundt målingen
683 Økokrim henviser til. Litt av bakgrunnen for at jeg valgte å se på
684 saken er at jeg er interessert i å identifisere og telle hvor mange
685 kunstneriske verk som er falt i det fri eller av andre grunner kan
686 lovlig deles på Internett, og dermed var interessert i hvordan en
687 hadde funnet den ene prosenten som kanskje deles lovlig.
</p
>
689 <p
>Andelen på
99% kommer fra et ukreditert og udatert notatet som tar
690 mål av seg å dokumentere en metode for å måle hvor (u)lovlig ulike
691 Popcorn Time-varianter er.
</p
>
693 <p
>Raskt oppsummert, så forteller metodedokumentet at fordi det ikke
694 er mulig å få tak i komplett liste over alle filmtitler tilgjengelig
695 via Popcorn Time, så lages noe som skal være et representativt
696 utvalg ved å velge
50 tilfeldige søkeord større enn tre tegn fra en
697 ordliste kjent som Dale-Chall. For hvert søkeord gjøres et søk og de
698 første fem filmene i søkeresultatet samles inn inntil
100 unike
699 filmtitler er funnet. Hvis
50 søkeord ikke var tilstrekkelig for å
700 nå
100 unike filmtitler ble flere filmer fra hvert søkeresultat lagt
701 til. Hvis dette heller ikke var tilstrekkelig, så ble det hentet ut
702 og søkt på flere tilfeldig valgte søkeord inntil
100 unike
703 filmtitler var identifisert.
</p
>
705 <p
>Deretter ble for hver av filmtitlene «vurdert hvorvidt det var
706 rimelig å forvente om at verket var vernet av copyright, ved å se på
707 om filmen var tilgjengelig i IMDB, samt se på regissør,
708 utgivelsesår, når det var utgitt for bestemte markedsområder samt
709 hvilke produksjons- og distribusjonsselskap som var registrert» (min
710 oversettelse).
</p
>
712 <p
>Metoden er gjengitt både i de ukrediterte dokumentene
09,
13 og
713 09,
19, samt beskrevet fra side
47 i dokument
09,
20, lysark datert
714 2017-
02-
01. Sistnevnte er kreditert Geerart Bourlon fra Motion
715 Picture Association EMEA.
</p
>
717 <p
>Metoden virker å ha flere svakheter som gir resultatene en
718 slagside. Den starter med å slå fast at det ikke er mulig å hente ut
719 en komplett liste over alle filmtitler som er tilgjengelig, og at
720 dette er bakgrunnen for metodevalget. Denne forutsetningen er ikke i
721 tråd med det som står i dokument
09,
12, som ikke heller har oppgitt
722 forfatter og dato. Dokument
09,
12 forteller hvordan hele
723 kataloginnholdet i en bittorrent-katalog ble lasted ned og talt
724 opp. Dokument
09,
12 er muligens samme rapport som det ble referert
725 til i dom fra Oslo Tingrett
2017-
11-
03
726 (
<a href=
"https://www.domstol.no/no/Enkelt-domstol/Oslo--tingrett/Nyheter/ma-sperre-for-popcorn-time/
">sak
727 17-
093347TVI-OTIR/
05</a
>) under navnet rapport av
1. juni
2017 av
728 Alexander Kind Petersen. De ligner, men jeg har ikke sammenlignet
729 dokumentene ord for ord for å kontrollere om de er identiske.
</p
>
731 <p
>Det finnes flere kilder som kan brukes til å finne filmer som er
732 allemannseie (public domain) eller har bruksvilkår som gjør det
733 lovlig for alle å dele dem på Internett. Jeg har det siste året
734 forsøkt å samle og krysskoble disse listene ved hjelp av tittel-ID i
735 IMDB for å forsøke å telle antall filmer i det fri. Ved å ta
736 utgangspunkt i slike lister (og publiserte filmer for
737 Internett-arkivets del), har jeg så langt klart å identifisere over
738 14 000 filmer, hovedsaklig spillefilmer. Noen filmer er gått tapt
739 ved at de eneste kjente eksemplarene er blitt ødelagt. Jeg har ikke
740 forsøkt å finne ut hvilke filmer som er gått tapt, ut over å se
741 hvilke filmer som er tilgjengelig på filmdelings-nettsteder.
</p
>
743 <p
>IMDB er en forkortelse for The Internet Movie Database, en
744 anerkjent kommersiell nettjeneste som brukes aktivt av både
745 filmbransjen og andre til å holde rede på hvilke spillefilmer (og
746 endel andre filmer) som finnes eller er under produksjon, samt
747 informasjon om disse filmene. Datakvaliteten er høy, med få feil og
748 få filmer som mangler. IMDB viser ikke informasjon om
749 opphavsrettslig status for filmene på infosiden for hver film, men
750 frivillige har lagt ut på IMDB-tjenesten lister med filmer som antas
751 å være verk i det fri. Disse listene er en liten del av kildene for
752 min telling av verk som kan lovlig deles på Internett.
</p
>
754 <p
>De aller fleste oppføringene over verk i det fri er hentet fra IMDB
755 selv, basert på det faktum at alle filmer laget i USA før
1923 er
756 falt i det fri. Tilsvarende tidsgrense for Storbritannia er
757 1912-
07-
01, men dette utgjør bare veldig liten del av spillefilmene
758 i IMDB (
19 totalt). En annen stor andel kommer fra
759 Internett-arkivet, der jeg har identifisert filmer som har referanse
760 til IMDB. Internett-arkivet, som holder til i USA, har
761 som
<a href=
"https://archive.org/about/terms.php
">policy å kun
762 publisere filmer som det er lovlig å distribuere
</a
>. Jeg har under
763 arbeidet kommet over flere filmer som har blitt fjernet fra
764 Internett-arkivet, hvilket gjør at jeg konkluderer med at folkene
765 som kontrollerer Internett-arkivet har et aktivt forhold til kun å
766 ha lovlig innhold der, selv om det i stor grad er drevet av
767 frivillige. Internett-arkivet har publisert
4.6 millioner
768 videofilmer som samtlige er tilgjengelig også med
769 Bittorrent-protokollen. En annen stor liste med filmer kommer fra
770 det kommersielle selskapet Retro Film Vault, som selger
771 allemannseide filmer til TV- og filmbransjen, Jeg har også benyttet
772 meg av lister over filmer som hevdes å være allemannseie, det være
773 seg Public Domain Review, Public Domain Torrents og Public Domain
774 Movies (to ulike tjenester med samme navn, på .net og .info), samt
775 lister over filmer med Creative Commons-lisensiering fra Wikipedia,
776 VODO og The Hill Productions. Jeg har gjort endel stikkontroll ved å
777 vurdere filmer som kun omtales på en liste. Der jeg har funnet feil
778 som har gjort meg i tvil om vurderingen til de som har laget listen
779 har jeg forkastet listen fullstendig (gjelder for eksemel en av
780 listene fra IMDB).
</p
>
782 <p
>Ved å ta utgangspunkt i verk som kan antas å være lovlig delt på
783 Internett (fra blant annet Internett-arkivet, Public Domain
784 Torrents, Public Domain Reivew og Public Domain Movies), og knytte
785 dem til oppføringer i IMDB, så har jeg så langt klart å identifisere
786 over
14 000 filmer (hovedsaklig spillefilmer) det er grunn til å tro
787 kan lovlig distribueres av alle på Internett. Som ekstra kilder er
788 det brukt lister over filmer som antas/påstås å være
789 allemannseie. Disse kildene kommer fra miljøer som jobber for å
790 gjøre tilgjengelig for almennheten alle verk som er falt i det fri
791 eller har bruksvilkår som tillater deling.
</p
>
793 <p
>I tillegg til de over
14 000 filmene der tittel-ID i IMDB er
794 identifisert, har jeg funnet mer enn
26 000 oppføringer der jeg ennå
795 ikke har hatt kapasitet til å spore opp tittel-ID i IMDB. Jeg har
796 sett at noen av disse er duplikater av de IMDB-oppføringene som er
797 identifisert så langt, men de fleste jeg har hatt tid til å
798 undersøke så langt har vist seg å ikke være duplikater. Retro Film
799 Vault hevder å ha
44 000 filmverk i det fri i sin katalog, så det er
800 mulig at det reelle tallet er betydelig høyere enn de jeg har klart
801 å identifisere så langt. Konklusjonen en kan trekke fra dette er at
802 tallet
14 000 er nedre grense for hvor mange filmer i IMDB som kan
803 lovlig deles på Internett. I
804 følge
<a href=
"https://www.imdb.com/stats
">statistikk fra IMDB
</a
>
805 er det
4.6 millioner titler registrert, hvorav
3 millioner er
806 TV-serieepisoder.
</p
>
808 <p
>Hvis en fordeler på år alle tittel-IDene i IMDB som hevdes å deles
809 lovlig på Internett, får en følgende histogram:
</p
>
811 <p align=
"center
"><img src=
"http://people.skolelinux.org/pere/blog/images/
2019-
01-
16-dns-beslag-verkidetfri-
2018-
11-
26-histogram-year.png
"
812 alt=
"histogram over frie filmer per år
" width=
"80%
"/
></p
>
814 <p
>En kan i histogrammet se at effekten av manglende registrering
815 eller fornying av registrering er at mange filmer gitt ut i USA før
816 1978 er allemannseie i dag. I tillegg kan en se at det finnes flere
817 filmer gitt ut de siste årene med bruksvilkår som tillater deling,
818 muligens på grunn av fremveksten
819 av
<a href=
"https://creativecommons.org/
">Creative
820 Commons
</a
>-bevegelsen.
</p
>
822 <p
>IMDB har lagt ut
<a href=
"https://www.imdb.com/interfaces/
">en
823 maskinlesbare liste
</a
> over alle registreringene i sin database, og
824 ved hjelp av denne har jeg oppsummert antall titler per år i
825 kategoriene «movies» og «short», som er det jeg fokuserer på i min
826 telling. Inn i oversikten er det tegnet hvor stor prosentandel
827 antallet filmer som hevdes å kunne deles lovlig på Internett utgjør
828 av IMDB-totalen. Ut fra oversikten får man en ide om hvor stor andel
829 av totalen som kan mangle i min telling, for eksempel ved å merke
830 seg at få prosenter av filmene utgitt tidlig på
1900-tallet er med i
831 min telling.
</p
>
833 <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
"
834 alt=
"histogram over filmer og frie filmer per år
" width=
"80%
" /
></p
>
836 <p
>For maskinell analyse av katalogene laget jeg et lite program som
837 kobler seg til bittorrent-katalogene som brukes av ulike Popcorn
838 Time-varianter og laster ned komplett liste over filmer i
839 katalogene. Dette bekrefter at det er mulig å hente ut komplett
840 liste med alle filmtitler som er tilgjengelig i katalogene, i strid
841 med påstanden i dokumentene
09,
13,
09,
19 og
09,
20. Jeg har sett på
842 fire bittorrent-kataloger. Den ene ble brukt av klienten
843 tilgjengelig fra www.popcorntime.sh
2017-
12-
18 og er navngitt «sh» i
844 dette dokumentet. Den andre brukes i følge dokument
09,
12 av
845 klienten tilgjengelig fra popcorntime.ag og popcorntime.sh på ukjent
846 tidspunkt og er navngitt «yts» i dette dokumentet. Den tredje ble
847 brukt av websidene tilgjengelig fra popcorntime-online.tv
2017-
12-
18
848 og er navngitt «apidomain» i dette dokumentet. Den fjerde ble brukt
849 av klienten tilgjengelig fra popcorn-time.to i følge dokument
09,
12
850 på ukjent tidspunkt, og er navngitt «ukrfnlge» i dette
851 dokumentet. Hvilke kataloger som brukes av ulike Popcorn
852 Time-klienter endrer seg over tid, da Popcorn Time-klientene i
853 praksis er nettlesere som viser frem ulike nettsider og disse
854 nettsidene bytter datakilder når nettsidens eier ønsker det.
</p
>
856 <p
>Metoden som Økokrim legger til grunn, skriver i sitt punkt fire at
857 skjønn er en egnet metode for å finne ut om en film kan lovlig deles
858 på Internett eller ikke, og sier at det ble «vurdert hvorvidt det
859 var rimelig å forvente om at verket var vernet av copyright». For
860 det første er det ikke nok å slå fast om en film er «vernet av
861 copyright» for å vite om det er lovlig å dele den på Internett eller
862 ikke, da det finnes flere filmer med opphavsrettslige bruksvilkår
863 som tillater deling på Internett. Eksempler på dette er Creative
864 Commons-lisensierte filmer som Citizenfour fra
2014 og Sintel fra
865 2010. I tillegg til slike finnes det flere filmer som nå er
866 allemannseie (public domain) på grunn av manglende registrering
867 eller fornying av registrering selv om både regisør,
868 produksjonsselskap og distributør ønsker seg vern. Eksempler på
869 dette er Plan
9 from Outer Space fra
1959 og Night of the Living
870 Dead fra
1968. Alle filmer fra USA som var allemannseie før
871 1989-
03-
01 forble i det fri da Bern-konvensjonen, som tok effekt i
872 USA på det tidspunktet, ikke ble gitt tilbakevirkende
873 kraft.
<a href=
"https://www.latimes.com/local/lanow/la-me-ln-happy-birthday-song-lawsuit-decision-
20150922-story.html
">Historien
874 om sangen «Happy birthday»
</a
>, der betaling for bruk har vært krevd
875 inn i flere tiår selv om sangen ikke var vernet av åndsverksloven,
876 forteller oss at hvert enkelt verk må vurderes nøye og i detalj før
877 en kan slå fast om verket er allemannseie eller ikke, det holder
878 ikke å tro på selverklærte rettighetshavere. Flere eksempel på verk
879 i det fri som feilklassifiseres som vernet er fra dokument
09,
18,
880 som lister opp søkeresultater for pklienten omtalt som
881 popcorntime.sh og i følge notatet kun inneholder en film (The Circus
882 fra
1928) som under tvil kan antas å være allemannseie.
</p
>
884 <p
>Ved rask gjennomlesning av dokument
09,
18, som inneholder
885 skjermbilder fra bruk av en Popcorn Time-variant, fant jeg omtalt
886 både filmen «The Brain That Wouldn
't Die» fra
1962 som
887 er
<a href=
"https://archive.org/details/brain_that_wouldnt_die
">tilgjengelig
888 fra Internett-arkivet
</a
> og
889 som
<a href=
"https://en.wikipedia.org/wiki/List_of_films_in_the_public_domain_in_the_United_States
">i
890 følge Wikipedia er allemannseie i USA
</a
> da den ble gitt ut i
1962
891 uten «copyright»-merking, og filmen «God’s Little Acre» fra
892 1958 <a href=
"https://en.wikipedia.org/wiki/God%
27s_Little_Acre_%
28film%
29">som
893 er lagt ut på Wikipedia
</a
>, der det fortelles at sort/hvit-utgaven
894 er allemannseie. Det fremgår ikke fra dokument
09,
18 om filmen
895 omtalt der er sort/hvit-utgaven. Av kapasitetsårsaker og på grunn av
896 at filmoversikten i dokument
09,
18 ikke er maskinlesbart har jeg
897 ikke forsøkt å sjekke alle filmene som listes opp der om mot liste
898 med filmer som er antatt lovlig kan distribueres på Internet.
</p
>
900 <p
>Ved maskinell gjennomgang av listen med IMDB-referanser under
901 regnearkfanen «Unique titles» i dokument
09.14, fant jeg i tillegg
902 filmen «She Wore a Yellow Ribbon» fra
1949) som nok også er
903 feilklassifisert. Filmen «She Wore a Yellow Ribbon» er tilgjengelig
904 fra Internett-arkivet og markert som allemannseie der. Det virker
905 dermed å være minst fire ganger så mange filmer som kan lovlig deles
906 på Internett enn det som er lagt til grunn når en påstår at minst
907 99% av innholdet er ulovlig. Jeg ser ikke bort fra at nærmere
908 undersøkelser kan avdekke flere. Poenget er uansett ikke hvor mange
909 filmer i listen som er lovlig å dele på Internet, men at metodens
910 punkt med vurdering av «rimelig å forvente om at verket var vernet
911 av copyright» gjør metoden upålitelig.
</p
>
913 <p
>Den omtalte målemetoden velger ut tilfeldige søketermer fra
914 ordlisten Dale-Chall. Den ordlisten inneholder
3000 enkle engelske
915 ord som fjerdeklassinger i USA er forventet å forstå. Det fremgår
916 ikke hvorfor akkurat denne ordlisten er valgt, og det er uklart for
917 meg om den er egnet til å få et representativt utvalg av
918 filmer. Mange av ordene gir tomt søkeresultat. Ved å simulerte
919 tilsvarende søk ser jeg store avvik fra fordelingen i katalogen for
920 enkeltmålinger. Dette antyder at enkeltmålinger av
100 filmer slik
921 målemetoden beskriver er gjort, ikke er velegnet til å finne andel
922 ulovlig innhold i bittorrent-katalogene.
</p
>
924 <p
>En kan motvirke dette store avviket for enkeltmålinger ved å gjøre
925 mange søk og slå sammen resultatet. Jeg har testet ved å gjennomføre
926 100 enkeltmålinger (dvs. måling av (
100x100=)
10 000 tilfeldig
927 valgte filmer) som gir mindre, men fortsatt betydelig avvik, i
928 forhold til telling av filmer pr år i hele katalogen.
</p
>
930 <p
>Målemetoden henter ut de fem øverste i
931 søkeresultatet. Søkeresultatene er sortert på antall
932 bittorrent-klienter registrert som delere i katalogene, hvilket kan
933 gi en slagside mot hvilke filmer som er populære blant de som bruker
934 bittorrent-katalogene, uten at det forteller noe om hvilket innhold
935 som er tilgjengelig eller hvilket innhold som deles med Popcorn
936 Time-klienter. Jeg har forsøkt å måle hvor stor en slik slagside
937 eventuelt er ved å sammenligne fordelingen hvis en tar de
5 nederste
938 i søkeresultatet i stedet. Avviket for disse to metodene for flere
939 av katalogene er godt synlig på histogramet. Her er histogram over
940 filmer funnet i den komplette katalogen (grønn strek), og filmer
941 funnet ved søk etter ord i Dale-Chall. Grafer merket «top» henter
942 fra de
5 første i søkeresultatet, mens de merket «bottom» henter fra
943 de
5 siste. En kan her se at resultatene påvirkes betydelig av
944 hvorvidt en ser på de første eller de siste filmene i et
947 <p align=
"center
">
948 <img src=
"http://people.skolelinux.org/pere/blog/images/
2017-
12-
20-histogram-year-sh-top.png
" width=
"40%
" /
>
949 <img src=
"http://people.skolelinux.org/pere/blog/images/
2017-
12-
20-histogram-year-sh-bottom.png
" width=
"40%
" /
>
951 <img src=
"http://people.skolelinux.org/pere/blog/images/
2017-
12-
20-histogram-year-yts-top.png
" width=
"40%
" /
>
952 <img src=
"http://people.skolelinux.org/pere/blog/images/
2017-
12-
20-histogram-year-yts-bottom.png
" width=
"40%
" /
>
954 <img src=
"http://people.skolelinux.org/pere/blog/images/
2017-
12-
20-histogram-year-ukrfnlge-top.png
" width=
"40%
" /
>
955 <img src=
"http://people.skolelinux.org/pere/blog/images/
2017-
12-
20-histogram-year-ukrfnlge-bottom.png
" width=
"40%
" /
>
957 <img src=
"http://people.skolelinux.org/pere/blog/images/
2017-
12-
20-histogram-year-apidomain-top.png
" width=
"40%
" /
>
958 <img src=
"http://people.skolelinux.org/pere/blog/images/
2017-
12-
20-histogram-year-apidomain-bottom.png
" width=
"40%
" /
>
961 <p
>Det er viktig å merke seg at de omtalte bittorrent-katalogene ikke
962 er laget for bruk med Popcorn Time, men for ulike miljøer av
963 bittorrent-brukere. Eksempelvis tilhører katalogen YTS, som brukes
964 av klientet som ble lastes ned fra popcorntime.sh, et selvstendig
965 fildelings-relatert nettsted YTS.AG med et separat
966 brukermiljø. Målemetoden foreslått av Økokrim måler dermed ikke
967 (u)lovligheten rundt bruken av Popcorn Time, men (u)lovligheten til
968 innholdet i disse katalogene.
</p
>
972 <p id=
"dok-
09-
13">Metoden fra Økokrims dokument
09,
13 i straffesaken
973 om DNS-beslag.
</p
>
977 <p
><strong
>1. Evaluation of (il)legality
</strong
></p
>
979 <p
><strong
>1.1. Methodology
</strong
>
981 <p
>Due to its technical configuration, Popcorn Time applications don
't
982 allow to make a full list of all titles made available. In order to
983 evaluate the level of illegal operation of PCT, the following
984 methodology was applied:
</p
>
988 <li
>A random selection of
50 keywords, greater than
3 letters, was
989 made from the Dale-Chall list that contains
3000 simple English
990 words1. The selection was made by using a Random Number
991 Generator2.
</li
>
993 <li
>For each keyword, starting with the first randomly selected
994 keyword, a search query was conducted in the movie section of the
995 respective Popcorn Time application. For each keyword, the first
996 five results were added to the title list until the number of
100
997 unique titles was reached (duplicates were removed).
</li
>
999 <li
>For one fork, .CH, insufficient titles were generated via this
1000 approach to reach
100 titles. This was solved by adding any
1001 additional query results above five for each of the
50 keywords.
1002 Since this still was not enough, another
42 random keywords were
1003 selected to finally reach
100 titles.
</li
>
1005 <li
>It was verified whether or not there is a reasonable expectation
1006 that the work is copyrighted by checking if they are available on
1007 IMDb, also verifying the director, the year when the title was
1008 released, the release date for a certain market, the production
1009 company/ies of the title and the distribution company/ies.
</li
>
1013 <p
><strong
>1.2. Results
</strong
></p
>
1015 <p
>Between
6 and
9 June
2016, four forks of Popcorn Time were
1016 investigated: popcorn-time.to, popcorntime.ag, popcorntime.sh and
1017 popcorntime.ch. An excel sheet with the results is included in
1018 Appendix
1. Screenshots were secured in separate Appendixes for each
1019 respective fork, see Appendix
2-
5.
</p
>
1021 <p
>For each fork, out of
100, de-duplicated titles it was possible to
1022 retrieve data according to the parameters set out above that indicate
1023 that the title is commercially available. Per fork, there was
1 title
1024 that presumably falls within the public domain, i.e. the
1928 movie
1025 "The Circus
" by and with Charles Chaplin.
</p
>
1027 <p
>Based on the above it is reasonable to assume that
99% of the movie
1028 content of each fork is copyright protected and is made available
1029 illegally.
</p
>
1031 <p
>This exercise was not repeated for TV series, but considering that
1032 besides production companies and distribution companies also
1033 broadcasters may have relevant rights, it is reasonable to assume that
1034 at least a similar level of infringement will be established.
</p
>
1036 <p
>Based on the above it is reasonable to assume that
99% of all the
1037 content of each fork is copyright protected and are made available
1038 illegally.
</p
>
1042 <p
>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
1043 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
1045 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
1046 Merk, betaling med bitcoin er ikke anonymt. :)
</p
>
1051 <title>CasparCG Server for TV broadcast playout in Debian
</title>
1052 <link>http://people.skolelinux.org/pere/blog/CasparCG_Server_for_TV_broadcast_playout_in_Debian.html
</link>
1053 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/CasparCG_Server_for_TV_broadcast_playout_in_Debian.html
</guid>
1054 <pubDate>Tue,
15 Jan
2019 00:
10:
00 +
0100</pubDate>
1055 <description><p
>The layered video playout server created by Sveriges Television,
1056 <a href=
"https://casparcg.com/
">CasparCG Server
</a
>, entered Debian
1057 today. This completes many months of work to get the source ready to
1058 go into Debian. The first upload to the Debian NEW queue happened a
1059 month ago, but the work upstream to prepare it for Debian started more
1060 than two and a half month ago. So far
1061 <a href=
"https://tracker.debian.org/pkg/casparcg-server
">the
1062 casparcg-server package
</a
> is only available for amd64, but I hope
1063 this can be improved. The package is in contrib because it depend on
1064 the
<a href=
"https://tracker.debian.org/pkg/fdk-aac
">non-free fdk-aac
1065 library
</a
>. The Debian package lack support for streaming web pages
1066 because Debian is missing CEF, Chromium Embedded Framework. CEF is
1067 wanted by several packages in Debian. But because the Chromium source
1068 is
<a href=
"https://bugs.debian.org/
893448">not available as a build
1069 dependency
</a
>, it is not yet possible to upload CEF to Debian. I
1070 hope this will change in the future.
</p
>
1072 <p
>The reason I got involved is that
1073 <a href=
"https://frikanalen.no/
">the Norwegian open channel
1074 Frikanalen
</a
> is starting to use CasparCG for our HD playout, and I
1075 would like to have all the free software tools we use to run the TV
1076 channel available as packages from the Debian project. The last
1077 remaining piece in the puzzle is Open Broadcast Encoder, but it depend
1078 on quite a lot of patched libraries which would have to be included in
1079 Debian first.
</p
>
1081 <p
>As usual, if you use Bitcoin and want to show your support of my
1082 activities, please send Bitcoin donations to my address
1083 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>