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