1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"http://people.skolelinux.org/pere/blog/index.rss" type=
"application/rss+xml" />
14 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/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
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>
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>
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
52 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
53 Merk, betaling med bitcoin er ikke anonymt. :)
</p>
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>.
63 <div class=
"padding"></div>
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>
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>
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
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>
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>
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>.
110 <div class=
"padding"></div>
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
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
131 <p>Historisk sett gjorde Noark standarden en veldig bra jobb med
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>
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
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
194 .../sakarkiv/journalpost?filter=contains(tittel, 'nabovarsel')
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
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>
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
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>
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>
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
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>
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>
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
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å
324 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a>.
</p>
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
329 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
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>.
339 <div class=
"padding"></div>
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>
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>
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>
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,
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
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
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>
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>
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>.
413 <div class=
"padding"></div>
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>
433 <tr><th rowspan=
"2" valign=
"bottom">Title / language
</th>
434 <th colspan=
"7">Quantity
</th></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>
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>
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>
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>
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>
491 <p>It is fun to see the French edition being more popular than the
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
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>.
506 <div class=
"padding"></div>
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
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>
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>
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>
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>.
543 <div class=
"padding"></div>
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
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>
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>
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"/>
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
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
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>
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>
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"/>
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>
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>
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>.
620 <div class=
"padding"></div>
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>
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
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
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>
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>
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>
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>.
694 <div class=
"padding"></div>
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
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>
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>
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>
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>.
754 <div class=
"padding"></div>
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
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>
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
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
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
808 <p>Here is an example UML diagram, showing the core classes for
809 keeping metadata about archived documents:
</p>
813 skinparam classAttributeIconSize
0
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
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
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>
861 class Arkivstruktur.Arkivskaper
<Arkivenhet> {
862 +arkivskaperID : string
863 +arkivskaperNavn : string
864 +beskrivelse : string [
0.
.1]
869 <p>This is what the complete diagram for the PlantUML notation above
872 <p><img width=
"80%" src=
"http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
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
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>
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>
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>
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>.
910 <div class=
"padding"></div>
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>
923 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
925 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
927 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
929 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/05/">May (
2)
</a></li>
931 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/06/">June (
5)
</a></li>
933 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/07/">July (
2)
</a></li>
940 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
942 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
944 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
946 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
948 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
950 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
952 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
954 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
956 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
958 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
960 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
967 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
969 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
971 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
973 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
975 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
977 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
979 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
981 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
983 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
985 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
987 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
994 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
996 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
998 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
1000 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
1002 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
1004 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
1006 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
1008 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
1010 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
1012 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
1014 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
1016 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
1023 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
1025 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
1027 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
1029 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
1031 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
1033 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
1035 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
1037 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
1039 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
1041 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
1043 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
1045 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
1052 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
1054 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
1056 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
1058 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
1060 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
1062 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
1064 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
1066 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
1068 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
1070 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
1072 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
1074 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
1081 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
1083 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
1085 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
1087 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
1089 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
1091 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
1093 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
1095 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
1097 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
1099 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
1101 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
1103 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
1110 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
1112 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
1114 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
1116 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
1118 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
1120 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
1122 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
1124 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
1126 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
1128 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
1130 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
1132 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
1139 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
1141 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
1143 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
1145 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
1147 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
1149 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
1151 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
1153 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
1155 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
1157 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
1159 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
1161 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
1168 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
1170 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
1172 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
1174 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
1176 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
1178 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
1180 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
1182 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
1184 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
1186 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
1188 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
1190 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
1197 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
1199 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
1201 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
1203 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
1205 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
1207 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
1209 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
1211 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
1213 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
1215 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
1217 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
1219 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
1226 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
1228 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
1239 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
16)
</a></li>
1241 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
1243 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
1245 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
1247 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
8)
</a></li>
1249 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
11)
</a></li>
1251 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
1253 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
1255 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
1257 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
168)
</a></li>
1259 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
1261 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
4)
</a></li>
1263 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
1265 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
1267 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
26)
</a></li>
1269 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
1271 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
407)
</a></li>
1273 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
1275 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
1277 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
34)
</a></li>
1279 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
1281 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
1283 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
1285 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
1287 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
1289 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
22)
</a></li>
1291 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kodi">kodi (
4)
</a></li>
1293 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
1295 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
1297 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
1299 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
1301 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
1303 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
1305 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
42)
</a></li>
1307 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
12)
</a></li>
1309 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
17)
</a></li>
1311 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
307)
</a></li>
1313 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
196)
</a></li>
1315 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
37)
</a></li>
1317 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
1319 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
73)
</a></li>
1321 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
109)
</a></li>
1323 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
1325 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
1327 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
1329 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
1331 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
12)
</a></li>
1333 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
1335 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
1337 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
1339 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
56)
</a></li>
1341 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
1343 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
1345 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
66)
</a></li>
1347 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
6)
</a></li>
1349 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
12)
</a></li>
1351 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
56)
</a></li>
1353 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
4)
</a></li>
1355 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
1357 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
1359 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
15)
</a></li>
1361 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
73)
</a></li>
1363 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
1365 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
1371 <p style=
"text-align: right">
1372 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>