]> pere.pagekite.me Git - homepage.git/blob - blog/index.html
Klar for publisering.
[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/Teach_kids_to_protect_their_privacy___the_EDRi_way.html">Teach kids to protect their privacy - the EDRi way</a></div>
24 <div class="date"> 4th July 2019</div>
25 <div class="body"><p>Childs need to learn how to guard their privacy too. To help them,
26 <a href="https://edri.org/">European Digital Rights (EDRi)</a> created
27 a colorful booklet providing information on several privacy related topics,
28 and tips on how to protect ones privacy in the digital age.</p>
29
30 <p>The 24 page booklet titled Digital Defenders is
31 <a href="https://edri.org/digital-defenders-help-kids-defend-their-privacy-around-europe">available
32 in several languages</a>. Thanks to the valuable contributions from
33 members of <a href="https://efn.no/">the Electronic Foundation Norway
34 (EFN)</a> and others, it is also available in Norwegian Bokmål.
35 If you would like to have it available in your language too,
36 <a href="https://hosted.weblate.org/projects/efn/privacy4kids/">contribute
37 via Weblate</a> and get in touch.</p>
38
39 <p>But a funny, well written and good looking PDF do not have much
40 impact, unless it is read by the right audience. To increase the
41 chance of kids reading it, I am currently assisting EFN in getting
42 copies printed on paper to distribute on the street and in class
43 rooms. Print the booklet was made possible thanks to a small et of
44 great sponsors. Thank you very much to each and every one of them! I
45 hope to have the printed booklet ready to hand out on Tuesday, when
46 <a href="https://www.nuug.no/>">the Norwegian Unix Users Group</a> is
47 organizing <a href="https://wiki.nuug.no/sommerfest2019">its yearly
48 barbecue for geeks and free software zealots in the Oslo area</a>. If
49 you are nearby, feel free to come by and check out the party and the
50 booklet.</p>
51
52 <p>If the booklet prove to be a success, it would be great to get
53 more sponsoring and distribute it to every kid in the country. :)</p>
54
55 <p>As usual, if you use Bitcoin and want to show your support of my
56 activities, please send Bitcoin donations to my address
57 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
58 </div>
59 <div class="tags">
60
61
62 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>.
63
64
65 </div>
66 </div>
67 <div class="padding"></div>
68
69 <div class="entry">
70 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html">Nikita og Noark 5 tjenestegrensesnittet tilbyr ny måte å tenke arkivering</a></div>
71 <div class="date">21st June 2019</div>
72 <div class="body"><p><em>av Thomas Sødring (OsloMet) og Petter Reinholdtsen (foreningen
73 NUUG)</em></p>
74
75 <p>Nikita Noark 5-kjerne er et fri programvareprosjekt som tar i bruk
76 Arkivverkets spesifikasjonen for Noark 5 Tjenestegrensesnitt og tilbyr
77 et maskinlesbart grensesnitt (arkiv-API) til datasystemer som trenger å
78 arkivere dokumenter og informasjon. I tillegg tilbyr Nikita et
79 nettleserbasert brukergrensesnitt for brukere av arkivet. Dette
80 brukergrensesnittet benytter det maskinlesbare grensesnittet. Noark 5
81 Tjenestegrensesnitt er en ny måte å tenke arkivering, med fokus på
82 automatisering og maskinell behandling av arkivmateriale, i stedet for
83 å fokusere på brukergrensesnitt. En kan tenke på
84 tjenestegrensesnittet som arkivet uten brukergrensesnitt, der flere
85 aktører kan koble til ulike brukergrensesnitt, tilpasset ulike
86 behov.</p>
87
88 <p>Historisk sett gjorde Noark standarden en veldig bra jobb med
89 overgangen fra
90 papir til digital saksbehandling, men det har kommet til kort på andre
91 områder. Den teknologiske utviklingen har brakt oss ditt at vi kan og
92 skal forvente langt mer fra en arkivkjerne enn før, men det offentlig
93 er ofte konservativ når det gjelder nytenking. For lengst skulle
94 begreper som samvirke mellom datasystemer, metadata, prosess og
95 tjenestegrensesnitt (API) vært dominerende når systemer kjøpes
96 inn. Dessverre er det slik at ikke alle ønsker samvirke mellom
97 datasystemer velkommen, og det kan være trygt å kjøpe «svarte bokser»
98 der du slipper å ta stilling til hvordan man skal få flere systemer
99 til å virke sammen. Men IT-arkitektur er et begrep arkivfolk også
100 begynner å ta inn over seg.</p>
101
102 <p>Slike systemer for å organisere metadata bør ha nettbaserte
103 tjenestegrensesnitt der brukergrensesnitt er tydelig adskilt fra
104 bakenforliggende system. Det finnes mange rapporter som snakker om å
105 bryte ned siloer i forvaltningen og standardiserte tjenestegrensesnitt
106 er det viktigste virkemiddel mot datasiloer og legger til rette for
107 økt samvirke mellom systemer. Et standardisert tjenestegrensesnitt er
108 et viktig middel for å få systemer til å samhandle da det sikrer at
109 ulike produsenters systemer kan snakke sammen på tvers. Samfunnet
110 fungerer ikke uten standardisering. Vi har alle samme strømstyrke og
111 kontakter i veggene og kjører alle på høyre side av veien i Norge. Det er i en slik
112 sammenheng at prosjektet «Noark 5 Tjenestegrensesnitt» er veldig
113 viktig. Hvis alle leverandører av arkivsystemer forholdt seg til et
114 standardisert tjenestegrensesnitt kunne kostnadene for arkivering
115 reduseres. Tenk deg at du er en kommune som ønsker et fagsystem integrert
116 med arkivløsningen din. I dag må fagsystemleverandøren vite og
117 tilpasse seg den spesifikke versjonen og varianten av arkivløsningen
118 du har. Hvis vi antar at alle leverandører av arkivkjerner har solgt
119 inn enten SOAP eller REST-grensesnitt til kunder de siste 10 årene og
120 det kommer endret versjon av grensesnittet innimellom, så gir det
121 veldig mange forskjellige tjenestegrensesnitt en fagsystemleverandør
122 må forholde seg til. Med 12 leverandører og kvartalsvise oppdateringer
123 kan det potensielt bli 96 ulike varianter hvert eneste år. Det sier
124 seg selv at det blir dyrt. Men det blir faktisk verre. Hvis du senere
125 ønsker å bytte ut arkivsystemet med et annet så er du avhengig å få
126 alle integrasjonene dine laget på nytt. Dette kan gjøre at du velger å
127 forbli hos en dårlig leverandør framfor å skaffe nytt system, fordi
128 det blir for vanskelig og dyrt å bytte. Dermed etableres det «små»
129 monopolsituasjoner som er vanskelig å bryte ut av. Dårlige valg i dag
130 kan ha uante kostander på sikt. I Nikita-prosjektet har vi kun jobbet
131 opp mot Noark 5 Tjenestegrensesnittet. Det har tatt en god del
132 ressurser å sette seg inn i spesifikasjonen og ta den i bruk, spesielt
133 på grunn av uklarheter i spesifikasjonen. Hvis vi måtte gjøre det
134 samme for alle versjoner og varianter av de forskjellige
135 tjenestegrensesnittene ville det blitt veldig tidkrevende og
136 kostbart.</p>
137
138 <p>For deg som arkivar er digitalisering og systemer som skal virke
139 sammen en del av den nye hverdagen. Du har kanskje blitt skånet for
140 det ved å kjøpe svarte bokser, men du risikerer at du gjør deg selv en
141 bjørnetjeneste. Det kan oppleves som kjedelig å fortelle kolleger at
142 du skal sette deg inn i et tjenestegrensesnitt, men dette er faktisk
143 veldig spennende. Tjenestegrensesnittet er på en måte blitt levende og
144 det er spesielt et begrep du bør merke deg: OData. Å trekke inn deler
145 av OData-standarden som en måte å filtrere entitetsøk i et arkivsystem
146 var et nyttig trekk i prosjektet. Følgende eksempel er en
147 OData-spørring det går an å sende inn til en standardisert
148 arkivkjerne:</p>
149
150 <p><blockquote>
151 .../sakarkiv/journalpost?filter=contains(tittel, 'nabovarsel')
152 </blockquote></p>
153
154 <p>Spørringen over vil hente en liste av alle dine journalposter der
155 tittelen til journalposten inneholder ordet 'nabovarsel'. Alle
156 leverandører som implementerer tjenestegrensesnittet vil måtte tilby
157 dette. Det betyr at hvis du lærer dette språket for et system, vil det
158 være gjeldende for alle. Dette er egentlig en ny måte å søke i
159 arkivdatabasen på og vil være svært nyttig, for eksempel kan søk i
160 tjenestegrensesnittet antagelig brukes til å hente ut offentlig
161 postjournal. I arkivverden pleier vi å like teknologier som er
162 menneskelesbart, da vet vi det er enkelt og nyttig! OData er også
163 viktig fordi det kan bli en ny måte å svare innsynsforespørsler på i
164 tråd med offentlighetsloven § 9, der retten til å kreve innsyn i
165 sammenstilling fra databaser er nedfelt. I dag ser vi
166 forvaltningsorganer som avviser slike krav fordi det «ikke kan gjøres
167 med enkle framgangsmåter». Bruken av OData i tjenestegrensesnittet,
168 sammen med maskinlesbar markeringsformater kan være et viktig bidrag
169 til å åpne arkivene i tråd med prinsippene om en åpen og transparent
170 forvaltning.</p>
171
172 <p>Standardisering er viktig fordi det <em>kan</em> sikre samvirke.
173 Men den effekten kommer kun hvis standardiseringen sikrer at alle
174 forstår standarden på samme måte, dvs. at den er entydig og klar. En
175 god måte å sikre en entydig og klar spesifikasjon er ved å kreve at
176 det finnes minst to ulike implementasjoner som følger spesifikasjonen
177 og som kan snakke sammen, det vil si at de snakker samme språk, slik
178 IETF krever for alle sine standarder, før spesifikasjonen anses å være
179 ferdig. Tilbakemelding fra miljøet forteller at både leverandører og
180 kunder har et avslappet forhold til Noark 5 Tjenestegrensesnitt og det
181 er så langt kun Evry som har visst offentlig at de har en
182 implementasjon av tjenestegrensesnittet. Evry, HK Data og Fredrikstad
183 kommune er igang med et pilotprosjekt på Noark 5
184 Tjenestegrensesnitt. For å redusere kostnadene for samvirkende
185 datasystemer betraktelig, er det veldig viktig at vi kommer i en
186 situasjon der alle leverandører har sine egne implementasjoner av
187 tjenestegrensesnittet, og at disse oppfører seg likt og i tråd med det
188 som er beskrevet i spesifikasjonen.</p>
189
190 <p>Det er her fri programvare spiller en viktig rolle. Med en uklar
191 standard blir det som en polsk riksdag, der ingenting fungerer. Nikita
192 er en fri programvareimplementasjon av tjenestegrensesnitt og kan
193 fungere som teknisk referanse slik at leverandører enklere kan se og
194 forstå hvordan standarden skal tolkes. Vi har i Nikitaprosjektet
195 erfart å ende opp med vidt forskjellige tolkninger når
196 prosjektmedlemmene leser spesifikasjonsteksten, en effekt av en uklar
197 spesifikasjon. Men Nikitaprosjektet har også utviklet et test-program
198 som sjekker om et tjenestegrensesnitt er i samsvar med standarden, og
199 prosjektet bruker det hele tiden for å sikre at endringer og
200 forbedringer fungerer. Egenerklæringsskjemaenes dager kan være talte!
201 Snart vil du selv kunne teste hver oppdatering av arkivsystemet med en
202 uavhengig sjekk.</p>
203
204 <p>Fri programvare representerer en demokratisering av kunnskap der
205 tolkning- og innlåsingsmakt flyttes fra leverandør til allmenheten.
206 Med fri programvare har du en litt annerledes verdikjede, der selve
207 produktet ikke holdes hemmelig for å tjene penger, slik en gjør med
208 ufri programvare og skytjenester som ikke bruker fri programvare, men
209 du kan tjene penger på andre deler av verdikjeden. Med fri programvare
210 kan samfunnet betale for å videreutvikle nyttig
211 fellesfunksjonalitet.</p>
212
213 <p>Nikita er en fri programvareimplementasjon av tjenestegrensesnittet og
214 kan fungere som en referanseimplementasjon dersom det er ønskelig.
215 Alle har lik tilgang til koden og det koster ingenting å ta den i bruk
216 og utforske det. Nikitaprosjektet ønsker tjenestegrensesnittet
217 velkommen og stiller veldig gjerne opp i diskusjoner om tolkning av
218 tjenestegrensesnittet. Nikita er bygget på moderne
219 programmeringsrammeverk og utviklet i full åpenhet. Men Nikita er ikke
220 noe du kan kjøpe. Nikita er først og fremst et verktøy for forsking og
221 utvikling laget for å fremme forskning på arkivfeltet. Systemer som
222 virker sammen har alltid vært hovedfokus og vil være det fremover.
223 Det brukes som undervisningsverktøy der studentene ved OsloMet lærer
224 om administrativt oppsett, saksbehandling, uttrekk og samvirkende
225 datasystemer. Det brukes også som forskningsobjekt der vi ser på
226 import av dokumentsamlinger, bruk av blokkjede og andre nyskapende
227 måter å tenke arkiv på. Det er dog helt greit om andre tar Nikita og
228 pakker det for å selge det som produkt. Forvaltningsorganer med
229 sterke drift- og utviklingsmiljøer kan også se på Nikita og utforske
230 hva som er mulig. Dette kan de gjøre uten å måtte betale for
231 bruksrettigheter eller tilgang til konsulenter. Men arkivering blir
232 ikke gratis på grunn av Nikita. Det trengs fortsatt folk med
233 kompetanse og tid til å ta i bruk Nikita.</p>
234
235 <p>Nikita har nylig kommet med en ny utgave, den sjette i rekken.
236 Systemet er ikke ferdig, mest på grunn av at API-spesifikasjonen for
237 Noark 5 Tjenestegrensesnitt ikke er ferdig, men allerede i dag kan en
238 bruke Nikita som arkiv. Vi har laget eksempelsystem for å importere
239 data fra deponi-XML og slik gjøre eksisterende arkivdata tilgjengelig
240 via et API. Vi har også laget en testklient som importerer epost inn
241 i arkivet med vedlegg der epostenes trådinformasjon brukes til å legge
242 eposttråder i samme arkivmappe, og en annen testklient som henter
243 epost ut av en arkivmappe på mbox-format slik at en vanlig epostklient
244 kan brukes til å lese igjennom og svare på epostene i en
245 arkivmappe. De som vil ta en titt på Nikita kan besøke
246 <a href="https://nikita.oslomet.no">https://nikita.oslomet.no</a> og
247 logge inn med brukernavn «admin@example.com» og passord «password».
248 Dette gir tilgang til det forenklede brukergrensesnittet som brukes
249 til undervisning. De som heller vil ta en titt under panseret kan
250 besøke
251 <a href="https://nikita.oslomet.no/browse.html">https://nikita.oslomet.no/browse.html</a>
252 og der se hvordan API-et fungerer mer i detalj. Innloggingsdetaljer
253 her er det samme som for brukergrensesnittet.</p>
254
255 <p>Fremover er fokuset på forbedring av spesifikasjonen Noark 5
256 Tjenestegrensesnitt. De som skrev tjenestegrensesnittet gjorde et
257 interessant og framtidsrettet grep, de skilte sak fra arkiv.
258 Tjenestegrensesnittet består av flere "pakker", der noen er
259 grunnleggende mens andre bygger på de grunnleggende pakkene. Pakkene
260 som er beskrevet så langt heter «arkivstruktur», «sakarkiv»,
261 «administrasjon», «loggogsporing» og «moeter» (dessverre
262 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pull/120">planlagt
263 fjernet</a> i første utgave). Etter hvert håper vi å utforske
264 prosses- og metadatabeskrivelser til flere fagområder og bidra til at
265 tjenestegrensesnittet kan legge til flere pakker som «byggarkiv»,
266 «barnevern», «personal», «barnehage», der arkivfaglig metadata- og
267 dokumentasjonsbehov er kartlagt og standardisert.</p>
268
269 <p>Nikita utvikles av en liten prosjektgruppe, og vi er alltid
270 interessert å bli flere. Hvis en åpen, fri og standardisert tilnærming
271 til arkivering høres interessant ut, bli med oss på veien videre. Vi
272 er tilstede på IRC-kanalen #nikita hos FreeNode (tilgjengelig via
273 nettleser på
274 <a href="https://webchat.freenode.net?channels=#nikita">https://webchat.freenode.net?channels=#nikita</a>),
275 og har en e-postliste nikita-noark@nuug.no hos NUUG (tilgjengelig for
276 påmelding og arkiv på
277 <a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">https://lists.nuug.no/mailman/listinfo/nikita-noark</a>)
278 der en kan følge med eller være med oss på den spennende veien videre.
279 Spesifikasjonen for Noark 5 Tjenestegrensesnitt vedlikeholdes på
280 github,
281 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
282
283 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
284 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
285 til min adresse
286 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
287 </div>
288 <div class="tags">
289
290
291 Tags: <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>.
292
293
294 </div>
295 </div>
296 <div class="padding"></div>
297
298 <div class="entry">
299 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html">Jami/Ring, finally functioning peer to peer communication client</a></div>
300 <div class="date">19th June 2019</div>
301 <div class="body"><p>Some years ago, in 2016, I
302 <a href="http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html">wrote
303 for the first time about</a> the Ring peer to peer messaging system.
304 It would provide messaging without any central server coordinating the
305 system and without requiring all users to register a phone number or
306 own a mobile phone. Back then, I could not get it to work, and put it
307 aside until it had seen more development. A few days ago I decided to
308 give it another try, and am happy to report that this time I am able
309 to not only send and receive messages, but also place audio and video
310 calls. But only if UDP is not blocked into your network.</p>
311
312 <p>The Ring system changed name earlier this year to
313 <a href="https://en.wikipedia.org/wiki/Jami_(software)">Jami</a>. I
314 tried doing web search for 'ring' when I discovered it for the first
315 time, and can only applaud this change as it is impossible to find
316 something called Ring among the noise of other uses of that word. Now
317 you can search for 'jami' and this client and
318 <a href="https://jami.net/">the Jami system</a> is the first hit at
319 least on duckduckgo.</p>
320
321 <p>Jami will by default encrypt messages as well as audio and video
322 calls, and try to send them directly between the communicating parties
323 if possible. If this proves impossible (for example if both ends are
324 behind NAT), it will use a central SIP TURN server maintained by the
325 Jami project. Jami can also be a normal SIP client. If the SIP
326 server is unencrypted, the audio and video calls will also be
327 unencrypted. This is as far as I know the only case where Jami will
328 do anything without encryption.</p>
329
330 <p>Jami is available for several platforms: Linux, Windows, MacOSX,
331 Android, iOS, and Android TV. It is included in Debian already. Jami
332 also work for those using F-Droid without any Google connections,
333 while Signal do not.
334 <a href="https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/Protocol">The
335 protocol</a> is described in the Ring project wiki. The system uses a
336 distributed hash table (DHT) system (similar to BitTorrent) running
337 over UDP. On one of the networks I use, I discovered Jami failed to
338 work. I tracked this down to the fact that incoming UDP packages
339 going to ports 1-49999 were blocked, and the DHT would pick a random
340 port and end up in the low range most of the time. After talking to
341 the developers, I solved this by enabling the dhtproxy in the
342 settings, thus using TCP to talk to a central DHT proxy instead of
343
344 peering directly with others. I've been told the developers are
345 working on allowing DHT to use TCP to avoid this problem. I also ran
346 into a problem when trying to talk to the version of Ring included in
347 Debian Stable (Stretch). Apparently the protocol changed between
348 beta2 and the current version, making these clients incompatible.
349 Hopefully the protocol will not be made incompatible in the
350 future.</p>
351
352 <p>It is worth noting that while looking at Jami and its features, I
353 came across another communication platform I have not tested yet. The
354 <a href="https://en.wikipedia.org/wiki/Tox_(protocol)">Tox protocol</a>
355 and <a href="https://tox.chat/">family of Tox clients</a>. It might
356 become the topic of a future blog post.</p>
357
358 <p>As usual, if you use Bitcoin and want to show your support of my
359 activities, please send Bitcoin donations to my address
360 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
361 </div>
362 <div class="tags">
363
364
365 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/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
366
367
368 </div>
369 </div>
370 <div class="padding"></div>
371
372 <div class="entry">
373 <div class="title"><a href="http://people.skolelinux.org/pere/blog/More_sales_number_for_my_Free_Culture_paper_editions__2019_edition_.html">More sales number for my Free Culture paper editions (2019-edition)</a></div>
374 <div class="date">11th June 2019</div>
375 <div class="body"><p>The first book I published,
376 <a href="http://www.free-culture.cc/">Free Culture by Lawrence
377 Lessig</a>, is still selling a few copies. Not a lot, but enough to
378 have contributed slightly over $500 to the <a
379 href="https://creativecommons.org/">Creative Commons Corporation</a>
380 so far. All the profit is sent there. Most books are still sold via
381 Amazon (83 copies), with Ingram second (49) and Lulu (12) and Machette (7) as
382 minor channels. Bying directly from Lulu bring the largest cut to
383 Creative Commons. The English Edition sold 80 copies so far, the
384 French 59 copies, and Norwegian only 8 copies. Nothing impressive,
385 but nice to see the work we put down is still being appreciated. The
386 ebook edition is available for free from
387 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">Github</a>.</p>
388
389 <table border="0">
390 <tr><th rowspan="2" valign="bottom">Title / language</th>
391 <th colspan="7">Quantity</th></tr>
392 <tr>
393 <th>2016 jan-jun</th>
394 <th>2016 jul-dec</th>
395 <th>2017 jan-jun</th>
396 <th>2017 jul-dec</th>
397 <th>2018 jan-jun</th>
398 <th>2018 jul-dec</th>
399 <th>2019 jan-may</th>
400 </tr>
401
402 <tr>
403 <td><a href="http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html">Culture Libre / French</a></td>
404 <td align="right">3</td>
405 <td align="right">6</td>
406 <td align="right">19</td>
407 <td align="right">11</td>
408 <td align="right">7</td>
409 <td align="right">6</td>
410 <td align="right">7</td>
411 </tr>
412
413 <tr>
414 <td><a href="http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html">Fri kultur / Norwegian</a></td>
415 <td align="right">7</td>
416 <td align="right">1</td>
417 <td align="right">0</td>
418 <td align="right">0</td>
419 <td align="right">0</td>
420 <td align="right">0</td>
421 <td align="right">0</td>
422 </tr>
423
424 <tr>
425 <td><a href="http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html">Free Culture / English</a></td>
426 <td align="right">14</td>
427 <td align="right">27</td>
428 <td align="right">16</td>
429 <td align="right">9</td>
430 <td align="right">3</td>
431 <td align="right">7</td>
432 <td align="right">3</td>
433 </tr>
434
435 <tr>
436 <td>Total</td>
437 <td align="right">24</td>
438 <td align="right">34</td>
439 <td align="right">35</td>
440 <td align="right">20</td>
441 <td align="right">10</td>
442 <td align="right">13</td>
443 <td align="right">10</td>
444 </tr>
445
446 </table>
447
448 <p>It is fun to see the French edition being more popular than the
449 English one.</p>
450
451 <p>If you would like to translate and publish the book in your native
452 language, I would be happy to help make it happen. Please get in
453 touch.</p>
454 </div>
455 <div class="tags">
456
457
458 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>.
459
460
461 </div>
462 </div>
463 <div class="padding"></div>
464
465 <div class="entry">
466 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html">Official MIME type "text/vnd.sosi" for SOSI map data</a></div>
467 <div class="date"> 4th June 2019</div>
468 <div class="body"><p>Just 15 days ago,
469 <ahref="http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">I
470 mentioned</a> my submission to IANA to register an official MIME type
471 for the SOSI vector map format. This morning, just an hour ago, I was
472 notified that
473 <a href="https://www.iana.org/assignments/media-types/text/vnd.sosi">the
474 MIME type "text/vnd.sosi"</a> is registered for this format. In
475 addition to this registration, my
476 <a href="https://github.com/file/file/blob/master/magic/Magdir/sosi">file(1)
477 patch for a pattern matching rule for SOSI files</a> has been accepted
478 into the official source of that program (pending a new release), and
479 I've been told by the team behind
480 <a href="https://www.nationalarchives.gov.uk/PRONOM/">PRONOM</a> that
481 the SOSI format will be included in the next release of PRONOM, which
482 they plan to release this summer around July.</p>
483
484 <p>I am very happy to see all of this fall into place, for use by
485 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
486 Noark 5 Tjenestegrensesnitt</a> implementations.</p>
487
488 <p>As usual, if you use Bitcoin and want to show your support of my
489 activities, please send Bitcoin donations to my address
490 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
491 </div>
492 <div class="tags">
493
494
495 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
496
497
498 </div>
499 </div>
500 <div class="padding"></div>
501
502 <div class="entry">
503 <div class="title"><a href="http://people.skolelinux.org/pere/blog/The_space_rover_coquine__or_how_I_ended_up_on_the_dark_side_of_the_moon.html">The space rover coquine, or how I ended up on the dark side of the moon</a></div>
504 <div class="date"> 2nd June 2019</div>
505 <div class="body"><p>A while back a college and friend from Debian and the Skolelinux /
506 Debian Edu project approached me, asking if I knew someone that might
507 be interested in helping out with a technology project he was running
508 as a teacher at <a href="https://www.ecolefrancodanoise.dk/">L'école
509 franco-danoise</a> - the Danish-French school and kindergarden. The
510 kids were building robots, rovers. The story behind it is to build a
511 rover for use
512 <a href="http://blog.ecolefrancodanoise.dk/first-week-on-the-dark-side">on
513 the dark side of the moon</a>, and remote control it. As travel cost
514 was a bit high for the final destination, and they wanted to test the
515 concept first, he was looking for volunteers to host a rover for the
516 kids to control in a foreign country. I ended up volunteering as a
517 host, and last week the rover arrived. It took a while to arrive
518 after <a href="http://blog.ecolefrancodanoise.dk/model-moms">it was
519 built and shipped</a>, because of customs confusion. Luckily we were
520 able fix it quickly with help from my colleges at work.</p>
521
522 <p>This is what it looked like when the rover arrived. Note the cute
523 eyes looking up on me from the wrapping</p>
524
525 <img src="http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-esken-med-det-rare-i.jpeg" width="32%" style="clear:left"/>
526 <img src="http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-den-ser-meg.jpeg" width="32%" style="clear:left"/>
527 <img src="http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-en-skrue-loes.jpeg" width="32%" style="clear:left"/>
528
529 <p style="text-align:left">Once the robot arrived, we needed to track
530 down batteries and figure out how to build custom firmware for it with
531 the appropriate wifi settings. I asked a friend if I could get two
532 18650 batteries from his pile of Tesla batteries (he had them from the
533 wrack of a crashed Tesla), so now the rover is running on Tesla
534 batteries.</p>
535
536 <p>Building
537 <a href="https://gitlab.com/ecolefrancodanoise/arduino-efd/">the rover
538 firmware</a> proved a bit harder, as the code did not work out of the
539 box with the Arduino IDE package in Debian Buster. I suspect this is
540 due to a unsolved
541 <a href="https://github.com/arduino/Arduino/pull/2703"> license problem
542 with arduino</a> blocking Debian from upgrading to the latest version.
543 In the end we gave up debugging why the IDE failed to find the
544 required libraries, and ended up using the Arduino Makefile from the
545 <a href="https://tracker.debian.org/pkg/arduino-mk">arduino-mk Debian
546 package</a> instead. Unfortunately the camera library is missing from
547 the Arduino environment in Debian, so we disabled the camera support
548 for the first firmware build, to get something up and running. With
549 this reduced firmware, the robot could be controlled via the
550 controller server, driving around and measuring distance using its
551 internal acoustic sensor.</p>
552
553 <p>Next, With some help from my friend in Denmark, which checked in the
554 camera library into the gitlab repository for me to use, we were able
555 to build a new and more complete version of the firmware, and the
556 robot is now up and running. This is what the "commander" web page
557 look like after taking a measurement and a snapshot:</p>
558
559 <img src="http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-commander.png" width="40%" border="1" align="center"/>
560
561 <p>If you want to learn more about this project, you can check out the
562 <a href="https://hackaday.io/project/164082-the-dark-side-challenge">The
563 Dark Side Challenge</a> Hackaday web pages.</p>
564
565 <p>As usual, if you use Bitcoin and want to show your support of my
566 activities, please send Bitcoin donations to my address
567 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
568 </div>
569 <div class="tags">
570
571
572 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
573
574
575 </div>
576 </div>
577 <div class="padding"></div>
578
579 <div class="entry">
580 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html">Nikita version 0.4 released - free software archive API server</a></div>
581 <div class="date">22nd May 2019</div>
582 <div class="body"><p>This morning, a new release of
583 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
584 Noark 5 core project</a> was
585 <a href="https://lists.nuug.no/pipermail/nikita-noark/2019-May/000468.html">announced
586 on the project mailing list</a>. The Nikita free software solution is
587 an implementation of the Norwegian archive standard Noark 5 used by
588 government offices in Norway. These were the changes in version 0.4
589 since version 0.3, see the email link above for links to a demo site:</p>
590
591 <ul>
592
593 <li>Roll out OData handling to all endpoints where applicable</li>
594 <li>Changed the relation key for "ny-journalpost" to the official one.</li>
595 <li>Better link generation on outgoing links.</li>
596 <li>Tidy up code and make code and approaches more consistent throughout
597 the codebase</li>
598 <li>Update rels to be in compliance with updated version in the
599 interface standard</li>
600 <li>Avoid printing links on empty objects as they can't have links</li>
601 <li>Small bug fixes and improvements</li>
602 <li>Start moving generation of outgoing links to @Service layer so access
603 control can be used when generating links</li>
604 <li>Log exception that was being swallowed so it's traceable</li>
605 <li>Fix name mapping problem</li>
606 <li>Update templated printing so templated should only be printed if it
607 is set true. Requires more work to roll out across entire
608 application.</li>
609 <li>Remove Record->DocumentObject as per domain model of n5v4</li>
610 <li>Add ability to delete lists filtered with OData</li>
611 <li>Return NO_CONTENT (204) on delete as per interface standard</li>
612 <li>Introduce support for ConstraintViolationException exception</li>
613 <li>Make Service classes extend NoarkService</li>
614 <li>Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
615 X-Forwarded-Port</li>
616 <li>Update CorrespondencePart* code to be more in line with Single
617 Responsibility Principle</li>
618 <li>Make package name follow directory structure</li>
619 <li>Make sure Document number starts at 1, not 0</li>
620 <li>Fix isues discovered by FindBugs</li>
621 <li>Update from Date to ZonedDateTime</li>
622 <li>Fix wrong tablename</li>
623 <li>Introduce Service layer tests</li>
624 <li>Improvements to CorrespondencePart</li>
625 <li>Continued work on Class / Classificationsystem</li>
626 <li>Fix feature where authors were stored as storageLocations</li>
627 <li>Update HQL builder for OData</li>
628 <li>Update OData search capability from webpage</li>
629
630 </ul>
631
632 <p>If free and open standardized archiving API sound interesting to
633 you, please contact us on IRC
634 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
635 irc.freenode.net</a>) or email
636 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
637 mailing list</a>).</p>
638
639 <p>As usual, if you use Bitcoin and want to show your support of my
640 activities, please send Bitcoin donations to my address
641 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
642 </div>
643 <div class="tags">
644
645
646 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>.
647
648
649 </div>
650 </div>
651 <div class="padding"></div>
652
653 <div class="entry">
654 <div class="title"><a href="http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">MIME type "text/vnd.sosi" for SOSI map data</a></div>
655 <div class="date">20th May 2019</div>
656 <div class="body"><p>As part of my involvement in the work to
657 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">standardise
658 a REST based API for Noark 5</a>, the Norwegian archiving standard, I
659 spent some time the last few months to try to register a
660 <a href="https://www.iana.org/assignments/media-types/">MIME type</a>
661 and <a href="https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
662 code</a> for the SOSI file format. The background is that there is a
663 set of formats approved for long term storage and archiving in Norway,
664 and among these formats, SOSI is the only format missing a MIME type
665 and PRONOM code.</p>
666
667 <p>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
668 Samordnet Opplegg for Stedfestet Informasjon (literally "Coordinated
669 Approach for Spatial Information", but more commonly expanded in
670 English to Systematic Organization of Spatial Information). It is a
671 text based file format for geo-spatial vector information used in
672 Norway. Information about the SOSI format can be found in English
673 from <a href="https://en.wikipedia.org/wiki/SOSI">Wikipedia</a>. The
674 specification is available in Norwegian from
675 <a href="https://www.kartverket.no/geodataarbeid/Standarder/SOSI/">the
676 Norwegian mapping authority</a>. The SOSI standard, which originated
677 in the beginning of nineteen eighties, was the inspiration and formed the
678 basis for the XML based
679 <a href="https://en.wikipedia.org/wiki/Geography_Markup_Language">Geography
680 Markup Language</a>.</p>
681
682 <p>I have so far written
683 <a href="https://github.com/file/file/pull/67">a pattern matching
684 rule</a> for the file(1) unix tool to recognize SOSI files, submitted
685 a request to the PRONOM project to have a PRONOM ID assigned to the
686 format (reference TNA1555078202S60), and today send a request to IANA
687 to register the "text/vnd.sosi" MIME type for this format (referanse
688 <a href="https://tools.iana.org/public-view/viewticket/1143144">IANA
689 #1143144</a>). If all goes well, in a few months, anyone implementing
690 the Noark 5 Tjenestegrensesnitt API spesification should be able to
691 use an official MIME type and PRONOM code for SOSI files. In
692 addition, anyone using SOSI files on Linux should be able to
693 automatically recognise the format and web sites handing out SOSI
694 files can begin providing a more specific MIME type. So far, SOSI
695 files has been handed out from web sites using the
696 "application/octet-stream" MIME type, which is just a nice way of
697 stating "I do not know". Soon, we will know. :)</p>
698
699 <p>As usual, if you use Bitcoin and want to show your support of my
700 activities, please send Bitcoin donations to my address
701 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
702 </div>
703 <div class="tags">
704
705
706 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
707
708
709 </div>
710 </div>
711 <div class="padding"></div>
712
713 <div class="entry">
714 <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>
715 <div class="date">25th March 2019</div>
716 <div class="body"><p>As part of my involvement with the
717 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
718 Noark 5 core project</a>, I have been proposing improvements to the
719 API specification created by <a href="https://www.arkivverket.no/">The
720 National Archives of Norway</a> and helped migrating the text from a
721 version control system unfriendly binary format (docx) to Markdown in
722 git. Combined with the migration to a public git repository (on
723 github), this has made it possible for anyone to suggest improvement
724 to the text.</p>
725
726 <p>The specification is filled with UML diagrams. I believe the
727 original diagrams were modelled using Sparx Systems Enterprise
728 Architect, and exported as EMF files for import into docx. This
729 approach make it very hard to track changes using a version control
730 system. To improve the situation I have been looking for a good text
731 based UML format with associated command line free software tools on
732 Linux and Windows, to allow anyone to send in corrections to the UML
733 diagrams in the specification. The tool must be text based to work
734 with git, and command line to be able to run it automatically to
735 generate the diagram images. Finally, it must be free software to
736 allow anyone, even those that can not accept a non-free software
737 license, to contribute.</p>
738
739 <p>I did not know much about free software UML modelling tools when I
740 started. I have used dia and inkscape for simple modelling in the
741 past, but neither are available on Windows, as far as I could tell. I
742 came across a nice
743 <a href="https://modeling-languages.com/text-uml-tools-complete-list/">list
744 of text mode uml tools</a>, and tested out a few of the tools listed
745 there. <a href="http://plantuml.com/">The PlantUML tool</a> seemed
746 most promising. After verifying that the packages
747 <a href="https://tracker.debian.org/pkg/plantuml">is available in
748 Debian</a> and found <a href="https://github.com/plantuml/plantuml">its
749 Java source</a> under a GPL license on github, I set out to test if it
750 could represent the diagrams we needed, ie the ones currently in
751 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
752 Noark 5 Tjenestegrensesnitt specification</a>. I am happy to report
753 that it could represent them, even thought it have a few warts here
754 and there.</p>
755
756 <p>After a few days of modelling I completed the task this weekend. A
757 temporary link to the complete set of diagrams (original and from
758 PlantUML) is available in
759 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76">the
760 github issue discussing the need for a text based UML format</a>, but
761 please note I lack a sensible tool to convert EMF files to PNGs, so
762 the "original" rendering is not as good as the original was in the
763 publised PDF.</p>
764
765 <p>Here is an example UML diagram, showing the core classes for
766 keeping metadata about archived documents:</p>
767
768 <pre>
769 @startuml
770 skinparam classAttributeIconSize 0
771
772 !include media/uml-class-arkivskaper.iuml
773 !include media/uml-class-arkiv.iuml
774 !include media/uml-class-klassifikasjonssystem.iuml
775 !include media/uml-class-klasse.iuml
776 !include media/uml-class-arkivdel.iuml
777 !include media/uml-class-mappe.iuml
778 !include media/uml-class-merknad.iuml
779 !include media/uml-class-registrering.iuml
780 !include media/uml-class-basisregistrering.iuml
781 !include media/uml-class-dokumentbeskrivelse.iuml
782 !include media/uml-class-dokumentobjekt.iuml
783 !include media/uml-class-konvertering.iuml
784 !include media/uml-datatype-elektronisksignatur.iuml
785
786 Arkivstruktur.Arkivskaper "+arkivskaper 1..*" <-o "+arkiv 0..*" Arkivstruktur.Arkiv
787 Arkivstruktur.Arkiv o--> "+underarkiv 0..*" Arkivstruktur.Arkiv
788 Arkivstruktur.Arkiv "+arkiv 1" o--> "+arkivdel 0..*" Arkivstruktur.Arkivdel
789 Arkivstruktur.Klassifikasjonssystem "+klassifikasjonssystem [0..1]" <--o "+arkivdel 1..*" Arkivstruktur.Arkivdel
790 Arkivstruktur.Klassifikasjonssystem "+klassifikasjonssystem [0..1]" o--> "+klasse 0..*" Arkivstruktur.Klasse
791 Arkivstruktur.Arkivdel "+arkivdel 0..1" o--> "+mappe 0..*" Arkivstruktur.Mappe
792 Arkivstruktur.Arkivdel "+arkivdel 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
793 Arkivstruktur.Klasse "+klasse 0..1" o--> "+mappe 0..*" Arkivstruktur.Mappe
794 Arkivstruktur.Klasse "+klasse 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
795 Arkivstruktur.Mappe --> "+undermappe 0..*" Arkivstruktur.Mappe
796 Arkivstruktur.Mappe "+mappe 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
797 Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Mappe
798 Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Dokumentbeskrivelse
799 Arkivstruktur.Basisregistrering -|> Arkivstruktur.Registrering
800 Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Basisregistrering
801 Arkivstruktur.Registrering "+registrering 1..*" o--> "+dokumentbeskrivelse 0..*" Arkivstruktur.Dokumentbeskrivelse
802 Arkivstruktur.Dokumentbeskrivelse "+dokumentbeskrivelse 1" o-> "+dokumentobjekt 0..*" Arkivstruktur.Dokumentobjekt
803 Arkivstruktur.Dokumentobjekt *-> "+konvertering 0..*" Arkivstruktur.Konvertering
804 Arkivstruktur.ElektroniskSignatur -[hidden]-> Arkivstruktur.Dokumentobjekt
805 @enduml
806 </pre>
807
808 <p><a href="http://plantuml.com/class-diagram">The format</a> is quite
809 compact, with little redundant information. The text expresses
810 entities and relations, and there is little layout related fluff. One
811 can reuse content by using include files, allowing for consistent
812 naming across several diagrams. The include files can be standalone
813 PlantUML too. Here is the content of
814 <tt>media/uml-class-arkivskaper.iuml<tt>:</p>
815
816 <pre>
817 @startuml
818 class Arkivstruktur.Arkivskaper <Arkivenhet> {
819 +arkivskaperID : string
820 +arkivskaperNavn : string
821 +beskrivelse : string [0..1]
822 }
823 @enduml
824 </pre>
825
826 <p>This is what the complete diagram for the PlantUML notation above
827 look like:</p>
828
829 <p><img width="80%" src="http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
830
831 <p>A cool feature of PlantUML is that the generated PNG files include
832 the entire original source diagram as text. The source (with include
833 statements expanded) can be extracted using for example
834 <tt>exiftool</tt>. Another cool feature is that parts of the entities
835 can be hidden after inclusion. This allow to use include files with
836 all attributes listed, even for UML diagrams that should not list any
837 attributes.</p>
838
839 <p>The diagram also show some of the warts. Some times the layout
840 engine place text labels on top of each other, and some times it place
841 the class boxes too close to each other, not leaving room for the
842 labels on the relationship arrows. The former can be worked around by
843 placing extra newlines in the labes (ie "\n"). I did not do it here
844 to be able to demonstrate the issue. I have not found a good way
845 around the latter, so I normally try to reduce the problem by changing
846 from vertical to horizontal links to improve the layout.</p>
847
848 <p>All in all, I am quite happy with PlantUML, and very impressed with
849 how quickly its lead developer responds to questions. So far I got an
850 answer to my questions in a few hours when I send an email. I
851 definitely recommend looking at PlantUML if you need to make UML
852 diagrams. Note, PlantUML can draw a lot more than class relations.
853 Check out the documention for a complete list. :)</p>
854
855 <p>As usual, if you use Bitcoin and want to show your support of my
856 activities, please send Bitcoin donations to my address
857 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
858 </div>
859 <div class="tags">
860
861
862 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>.
863
864
865 </div>
866 </div>
867 <div class="padding"></div>
868
869 <div class="entry">
870 <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>
871 <div class="date">24th March 2019</div>
872 <div class="body"><p>Yesterday, a new release of
873 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
874 Noark 5 core project</a> was
875 <a href="https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html">announced
876 on the project mailing list</a>. The free software solution is an
877 implementation of the Norwegian archive standard Noark 5 used by
878 government offices in Norway. These were the changes in version 0.3
879 since version 0.2.1 (from NEWS.md):</p>
880
881 <ul>
882 <li>Improved ClassificationSystem and Class behaviour.</li>
883 <li>Tidied up known inconsistencies between domain model and hateaos links.</li>
884 <li>Added experimental code for blockchain integration. </li>
885 <li>Make token expiry time configurable at upstart from properties file.</li>
886 <li>Continued work on OData search syntax.</li>
887 <li>Started work on pagination for entities, partly implemented for Saksmappe.</li>
888 <li>Finalise ClassifiedCode Metadata entity.</li>
889 <li>Implement mechanism to check if authentication token is still
890 valid. This allow the GUI to return a more sensible message to the
891 user if the token is expired.</li>
892 <li>Reintroduce browse.html page to allow user to browse JSON API using
893 hateoas links.</li>
894 <li>Fix bug in handling file/mappe sequence number. Year change was
895 not properly handled.</li>
896 <li>Update application yml files to be in sync with current development.</li>
897 <li>Stop 'converting' everything to PDF using libreoffice. Only
898 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
899 and ods.</li>
900 <li>Continued code style fixing, making code more readable.</li>
901 <li>Minor bug fixes.</li>
902
903 </ul>
904
905 <p>If free and open standardized archiving API sound interesting to
906 you, please contact us on IRC
907 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
908 irc.freenode.net</a>) or email
909 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
910 mailing list</a>).</p>
911
912 <p>As usual, if you use Bitcoin and want to show your support of my
913 activities, please send Bitcoin donations to my address
914 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
915 </div>
916 <div class="tags">
917
918
919 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>.
920
921
922 </div>
923 </div>
924 <div class="padding"></div>
925
926 <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>
927 <div id="sidebar">
928
929
930
931 <h2>Archive</h2>
932 <ul>
933
934 <li>2019
935 <ul>
936
937 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
938
939 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
940
941 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
942
943 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/05/">May (2)</a></li>
944
945 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/06/">June (5)</a></li>
946
947 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/07/">July (1)</a></li>
948
949 </ul></li>
950
951 <li>2018
952 <ul>
953
954 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
955
956 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
957
958 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
959
960 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
961
962 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
963
964 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
965
966 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
967
968 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
969
970 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
971
972 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
973
974 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
975
976 </ul></li>
977
978 <li>2017
979 <ul>
980
981 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
982
983 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
984
985 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
986
987 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
988
989 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
990
991 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
992
993 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
994
995 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
996
997 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
998
999 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
1000
1001 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
1002
1003 </ul></li>
1004
1005 <li>2016
1006 <ul>
1007
1008 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
1009
1010 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
1011
1012 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
1013
1014 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
1015
1016 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
1017
1018 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
1019
1020 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
1021
1022 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
1023
1024 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
1025
1026 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
1027
1028 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
1029
1030 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
1031
1032 </ul></li>
1033
1034 <li>2015
1035 <ul>
1036
1037 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
1038
1039 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
1040
1041 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
1042
1043 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
1044
1045 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
1046
1047 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
1048
1049 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
1050
1051 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
1052
1053 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
1054
1055 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
1056
1057 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
1058
1059 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
1060
1061 </ul></li>
1062
1063 <li>2014
1064 <ul>
1065
1066 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
1067
1068 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
1069
1070 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
1071
1072 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
1073
1074 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
1075
1076 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
1077
1078 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
1079
1080 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
1081
1082 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
1083
1084 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
1085
1086 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
1087
1088 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
1089
1090 </ul></li>
1091
1092 <li>2013
1093 <ul>
1094
1095 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
1096
1097 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
1098
1099 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
1100
1101 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
1102
1103 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
1104
1105 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
1106
1107 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
1108
1109 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
1110
1111 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
1112
1113 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
1114
1115 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
1116
1117 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
1118
1119 </ul></li>
1120
1121 <li>2012
1122 <ul>
1123
1124 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
1125
1126 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
1127
1128 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
1129
1130 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
1131
1132 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
1133
1134 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
1135
1136 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
1137
1138 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
1139
1140 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
1141
1142 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
1143
1144 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
1145
1146 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
1147
1148 </ul></li>
1149
1150 <li>2011
1151 <ul>
1152
1153 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
1154
1155 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
1156
1157 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
1158
1159 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
1160
1161 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
1162
1163 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
1164
1165 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
1166
1167 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
1168
1169 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
1170
1171 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
1172
1173 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
1174
1175 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
1176
1177 </ul></li>
1178
1179 <li>2010
1180 <ul>
1181
1182 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
1183
1184 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
1185
1186 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
1187
1188 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
1189
1190 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
1191
1192 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
1193
1194 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
1195
1196 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
1197
1198 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
1199
1200 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
1201
1202 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
1203
1204 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
1205
1206 </ul></li>
1207
1208 <li>2009
1209 <ul>
1210
1211 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
1212
1213 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
1214
1215 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
1216
1217 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
1218
1219 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
1220
1221 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
1222
1223 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
1224
1225 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
1226
1227 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
1228
1229 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
1230
1231 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
1232
1233 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
1234
1235 </ul></li>
1236
1237 <li>2008
1238 <ul>
1239
1240 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
1241
1242 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
1243
1244 </ul></li>
1245
1246 </ul>
1247
1248
1249
1250 <h2>Tags</h2>
1251 <ul>
1252
1253 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (16)</a></li>
1254
1255 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
1256
1257 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
1258
1259 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
1260
1261 <li><a href="http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (8)</a></li>
1262
1263 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (11)</a></li>
1264
1265 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
1266
1267 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
1268
1269 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
1270
1271 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (168)</a></li>
1272
1273 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
1274
1275 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
1276
1277 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
1278
1279 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
1280
1281 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (26)</a></li>
1282
1283 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
1284
1285 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (407)</a></li>
1286
1287 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
1288
1289 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
1290
1291 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (34)</a></li>
1292
1293 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
1294
1295 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
1296
1297 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
1298
1299 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
1300
1301 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
1302
1303 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (22)</a></li>
1304
1305 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
1306
1307 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
1308
1309 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego">lego (4)</a></li>
1310
1311 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
1312
1313 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
1314
1315 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
1316
1317 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
1318
1319 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (42)</a></li>
1320
1321 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (12)</a></li>
1322
1323 <li><a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (16)</a></li>
1324
1325 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (306)</a></li>
1326
1327 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (196)</a></li>
1328
1329 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (37)</a></li>
1330
1331 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
1332
1333 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (73)</a></li>
1334
1335 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (109)</a></li>
1336
1337 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
1338
1339 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
1340
1341 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
1342
1343 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
1344
1345 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (12)</a></li>
1346
1347 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1348
1349 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
1350
1351 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
1352
1353 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (56)</a></li>
1354
1355 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
1356
1357 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
1358
1359 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (65)</a></li>
1360
1361 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (6)</a></li>
1362
1363 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (12)</a></li>
1364
1365 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (56)</a></li>
1366
1367 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (4)</a></li>
1368
1369 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
1370
1371 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
1372
1373 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (15)</a></li>
1374
1375 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (73)</a></li>
1376
1377 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1378
1379 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
1380
1381 </ul>
1382
1383
1384 </div>
1385 <p style="text-align: right">
1386 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1387 </p>
1388
1389 </body>
1390 </html>