<atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
<item>
- <title>Streaming the Linux desktop to Kodi using VLC and RTSP</title>
- <link>http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html</guid>
- <pubDate>Thu, 12 Jul 2018 02:00:00 +0200</pubDate>
- <description><p>A while back, I was asked by a friend how to stream the desktop to
-my projector connected to Kodi. I sadly had to admit that I had no
-idea, as it was a task I never had tried. Since then, I have been
-looking for a way to do so, preferable without much extra software to
-install on either side. Today I found a way that seem to kind of
-work. Not great, but it is a start.</p>
-
-<p>I had a look at several approaches, for example
-<a href="https://github.com/mfoetsch/dlna_live_streaming">using uPnP
-DLNA as described in 2011</a>, but it required a uPnP server, fuse and
-local storage enough to store the stream locally. This is not going
-to work well for me, lacking enough free space, and it would
-impossible for my friend to get working.</p>
-
-<p>Next, it occurred to me that perhaps I could use VLC to create a
-video stream that Kodi could play. Preferably using
-broadcast/multicast, to avoid having to change any setup on the Kodi
-side when starting such stream. Unfortunately, the only recipe I
-could find using multicast used the rtp protocol, and this protocol
-seem to not be supported by Kodi.</p>
-
-<p>On the other hand, the rtsp protocol is working! Unfortunately I
-have to specify the IP address of the streaming machine in both the
-sending command and the file on the Kodi server. But it is showing my
-desktop, and thus allow us to have a shared look on the big screen at
-the programs I work on.</p>
-
-<p>I did not spend much time investigating codeces. I combined the
-rtp and rtsp recipes from
-<a href="https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/">the
-VLC Streaming HowTo/Command Line Examples</a>, and was able to get
-this working on the desktop/streaming end.</p>
-
-<blockquote><pre>
-vlc screen:// --sout \
- '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{dst=projector.local,port=1234,sdp=rtsp://192.168.11.4:8080/test.sdp}'
-</pre></blockquote>
-
-<p>I ssh-ed into my Kodi box and created a file like this with the
-same IP address:</p>
-
-<blockquote><pre>
-echo rtsp://192.168.11.4:8080/test.sdp \
- > /storage/videos/screenstream.m3u
-</pre></blockquote>
-
-<p>Note the 192.168.11.4 IP address is my desktops IP address. As far
-as I can tell the IP must be hardcoded for this to work. In other
-words, if someone elses machine is going to do the steaming, you have
-to update screenstream.m4u on the Kodi machine and adjust the vlc
-recipe. To get started, locate the file in Kodi and select the m3u
-file while the VLC stream is running. The desktop then show up in my
-big screen. :)</p>
-
-<p>When using the same technique to stream a video file with audio,
-the audio quality is really bad. No idea if the problem is package
-loss or bad parameters for the transcode. I do not know VLC nor Kodi
-enough to tell.</p>
-
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+ <title>Oppdatert Noark 5 Tjenestegrenesnitt versjon 1.0 for Noark 5.5.0</title>
+ <link>http://people.skolelinux.org/pere/blog/Oppdatert_Noark_5_Tjenestegrenesnitt_versjon_1_0_for_Noark_5_5_0.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Oppdatert_Noark_5_Tjenestegrenesnitt_versjon_1_0_for_Noark_5_5_0.html</guid>
+ <pubDate>Fri, 5 Jul 2019 17:20:00 +0200</pubDate>
+ <description><p>Jeg er veldig glad for å kunne fortelle at i går ble ny versjon av
+<a href="https://www.arkivverket.no/forvaltning-og-utvikling/noark-standarden/noark-5/tjenestegrensesnitt-noark5">API-spesifikasjonen
+for Noark 5 Tjenestegrensesnitt</a> gitt ut. Det så lenge mørkt ut
+for sjansene for å få inn nødvendige korreksjoner i
+spesifikasjonsteksten innen rimelig tid, men takket være intens og god
+innsats fra Mona og Anne Sofie hos Arkivverket de siste ukene, så ble
+resultatet som ble gitt ut på USAs frigjøringsdag mye bedre enn jeg
+fryktet.</p>
+
+<p>Spesifikasjonen er
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">tilgjengelig
+som markdown-filer i Arkivverkets github-prosjekt for dette</a>, og de
+aller fleste av forslagene til forbedringer fra oss som holder på med
+<a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet</a>
+kom med i denne nye og oppdaterte spesifikasjonsteksten. Det er
+fortsatt mye som gjenstår før den er entydig, klar og sikrer samvirke
+på tvers av leverandører, men utgangspunktet er veldig mye bedre enn
+forrige versjon fra 2016. Ta gjerne en titt.</p>
+
+<p>Ellers må jeg jo si at det var hyggelig å se at min forrige
+bloggpost om tjenestegrensesnittet fikk en
+<ahref="https://beta.arkivverket.no/post/186020592045/noark-5-versjon-50-tjenestegrensesnitt-10">lenke
+fra Arkivverket Beta</a>.</p>
+
+<p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
+det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
+til min adresse
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
+Merk, betaling med bitcoin er ikke anonymt. :)</p>
</description>
</item>
<item>
- <title>What is the most supported MIME type in Debian in 2018?</title>
- <link>http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html</guid>
- <pubDate>Mon, 9 Jul 2018 08:05:00 +0200</pubDate>
- <description><p>Five years ago,
-<a href="http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html">I
-measured what the most supported MIME type in Debian was</a>, by
-analysing the desktop files in all packages in the archive. Since
-then, the DEP-11 AppStream system has been put into production, making
-the task a lot easier. This made me want to repeat the measurement,
-to see how much things changed. Here are the new numbers, for
-unstable only this time:
-
-<p><strong>Debian Unstable:</strong></p>
-
-<pre>
- count MIME type
- ----- -----------------------
- 56 image/jpeg
- 55 image/png
- 49 image/tiff
- 48 image/gif
- 39 image/bmp
- 38 text/plain
- 37 audio/mpeg
- 34 application/ogg
- 33 audio/x-flac
- 32 audio/x-mp3
- 30 audio/x-wav
- 30 audio/x-vorbis+ogg
- 29 image/x-portable-pixmap
- 27 inode/directory
- 27 image/x-portable-bitmap
- 27 audio/x-mpeg
- 26 application/x-ogg
- 25 audio/x-mpegurl
- 25 audio/ogg
- 24 text/html
-</pre>
-
-<p>The list was created like this using a sid chroot: "cat
-/var/lib/apt/lists/*sid*_dep11_Components-amd64.yml.gz| zcat | awk '/^
-- \S+\/\S+$/ {print $2 }' | sort | uniq -c | sort -nr | head -20"</p>
-
-<p>It is interesting to see how image formats have passed text/plain
-as the most announced supported MIME type. These days, thanks to the
-AppStream system, if you run into a file format you do not know, and
-want to figure out which packages support the format, you can find the
-MIME type of the file using "file --mime &lt;filename&gt;", and then
-look up all packages announcing support for this format in their
-AppStream metadata (XML or .desktop file) using "appstreamcli
-what-provides mimetype &lt;mime-type&gt;. For example if you, like
-me, want to know which packages support inode/directory, you can get a
-list like this:</p>
-
-<p><blockquote><pre>
-% appstreamcli what-provides mimetype inode/directory | grep Package: | sort
-Package: anjuta
-Package: audacious
-Package: baobab
-Package: cervisia
-Package: chirp
-Package: dolphin
-Package: doublecmd-common
-Package: easytag
-Package: enlightenment
-Package: ephoto
-Package: filelight
-Package: gwenview
-Package: k4dirstat
-Package: kaffeine
-Package: kdesvn
-Package: kid3
-Package: kid3-qt
-Package: nautilus
-Package: nemo
-Package: pcmanfm
-Package: pcmanfm-qt
-Package: qweborf
-Package: ranger
-Package: sirikali
-Package: spacefm
-Package: spacefm
-Package: vifm
-%
-</pre></blockquote></p>
-
-<p>Using the same method, I can quickly discover that the Sketchup file
-format is not yet supported by any package in Debian:</p>
-
-<p><blockquote><pre>
-% appstreamcli what-provides mimetype application/vnd.sketchup.skp
-Could not find component providing 'mimetype::application/vnd.sketchup.skp'.
-%
-</pre></blockquote></p>
-
-<p>Yesterday I used it to figure out which packages support the STL 3D
-format:</p>
-
-<p><blockquote><pre>
-% appstreamcli what-provides mimetype application/sla|grep Package
-Package: cura
-Package: meshlab
-Package: printrun
-%
-</pre></blockquote></p>
-
-<p>PS: A new version of Cura was uploaded to Debian yesterday.</p>
+ <title>Teach kids to protect their privacy - the EDRi way</title>
+ <link>http://people.skolelinux.org/pere/blog/Teach_kids_to_protect_their_privacy___the_EDRi_way.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Teach_kids_to_protect_their_privacy___the_EDRi_way.html</guid>
+ <pubDate>Thu, 4 Jul 2019 19:10:00 +0200</pubDate>
+ <description><p>Childs need to learn how to guard their privacy too. To help them,
+<a href="https://edri.org/">European Digital Rights (EDRi)</a> created
+a colorful booklet providing information on several privacy related topics,
+and tips on how to protect ones privacy in the digital age.</p>
+
+<p>The 24 page booklet titled Digital Defenders is
+<a href="https://edri.org/digital-defenders-help-kids-defend-their-privacy-around-europe">available
+in several languages</a>. Thanks to the valuable contributions from
+members of <a href="https://efn.no/">the Electronic Foundation Norway
+(EFN)</a> and others, it is also available in Norwegian Bokmål.
+If you would like to have it available in your language too,
+<a href="https://hosted.weblate.org/projects/efn/privacy4kids/">contribute
+via Weblate</a> and get in touch.</p>
+
+<p>But a funny, well written and good looking PDF do not have much
+impact, unless it is read by the right audience. To increase the
+chance of kids reading it, I am currently assisting EFN in getting
+copies printed on paper to distribute on the street and in class
+rooms. Print the booklet was made possible thanks to a small et of
+great sponsors. Thank you very much to each and every one of them! I
+hope to have the printed booklet ready to hand out on Tuesday, when
+<a href="https://www.nuug.no/>">the Norwegian Unix Users Group</a> is
+organizing <a href="https://wiki.nuug.no/sommerfest2019">its yearly
+barbecue for geeks and free software zealots in the Oslo area</a>. If
+you are nearby, feel free to come by and check out the party and the
+booklet.</p>
+
+<p>If the booklet prove to be a success, it would be great to get
+more sponsoring and distribute it to every kid in the country. :)</p>
<p>As usual, if you use Bitcoin and want to show your support of my
activities, please send Bitcoin donations to my address
</item>
<item>
- <title>Debian APT upgrade without enough free space on the disk...</title>
- <link>http://people.skolelinux.org/pere/blog/Debian_APT_upgrade_without_enough_free_space_on_the_disk___.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_APT_upgrade_without_enough_free_space_on_the_disk___.html</guid>
- <pubDate>Sun, 8 Jul 2018 12:10:00 +0200</pubDate>
- <description><p>Quite regularly, I let my Debian Sid/Unstable chroot stay untouch
-for a while, and when I need to update it there is not enough free
-space on the disk for apt to do a normal 'apt upgrade'. I normally
-would resolve the issue by doing 'apt install &lt;somepackages&gt;' to
-upgrade only some of the packages in one batch, until the amount of
-packages to download fall below the amount of free space available.
-Today, I had about 500 packages to upgrade, and after a while I got
-tired of trying to install chunks of packages manually. I concluded
-that I did not have the spare hours required to complete the task, and
-decided to see if I could automate it. I came up with this small
-script which I call 'apt-in-chunks':</p>
-
-<p><blockquote><pre>
-#!/bin/sh
-#
-# Upgrade packages when the disk is too full to upgrade every
-# upgradable package in one lump. Fetching packages to upgrade using
-# apt, and then installing using dpkg, to avoid changing the package
-# flag for manual/automatic.
-
-set -e
-
-ignore() {
- if [ "$1" ]; then
- grep -v "$1"
- else
- cat
- fi
-}
+ <title>Nikita og Noark 5 tjenestegrensesnittet tilbyr ny måte å tenke arkivering</title>
+ <link>http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html</guid>
+ <pubDate>Fri, 21 Jun 2019 11:30:00 +0200</pubDate>
+ <description><p><em>av Thomas Sødring (OsloMet) og Petter Reinholdtsen (foreningen
+NUUG)</em></p>
+
+<p>Nikita Noark 5-kjerne er et fri programvareprosjekt som tar i bruk
+Arkivverkets spesifikasjonen for Noark 5 Tjenestegrensesnitt og tilbyr
+et maskinlesbart grensesnitt (arkiv-API) til datasystemer som trenger å
+arkivere dokumenter og informasjon. I tillegg tilbyr Nikita et
+nettleserbasert brukergrensesnitt for brukere av arkivet. Dette
+brukergrensesnittet benytter det maskinlesbare grensesnittet. Noark 5
+Tjenestegrensesnitt er en ny måte å tenke arkivering, med fokus på
+automatisering og maskinell behandling av arkivmateriale, i stedet for
+å fokusere på brukergrensesnitt. En kan tenke på
+tjenestegrensesnittet som arkivet uten brukergrensesnitt, der flere
+aktører kan koble til ulike brukergrensesnitt, tilpasset ulike
+behov.</p>
+
+<p>Historisk sett gjorde Noark standarden en veldig bra jobb med
+overgangen fra
+papir til digital saksbehandling, men det har kommet til kort på andre
+områder. Den teknologiske utviklingen har brakt oss ditt at vi kan og
+skal forvente langt mer fra en arkivkjerne enn før, men det offentlig
+er ofte konservativ når det gjelder nytenking. For lengst skulle
+begreper som samvirke mellom datasystemer, metadata, prosess og
+tjenestegrensesnitt (API) vært dominerende når systemer kjøpes
+inn. Dessverre er det slik at ikke alle ønsker samvirke mellom
+datasystemer velkommen, og det kan være trygt å kjøpe «svarte bokser»
+der du slipper å ta stilling til hvordan man skal få flere systemer
+til å virke sammen. Men IT-arkitektur er et begrep arkivfolk også
+begynner å ta inn over seg.</p>
+
+<p>Slike systemer for å organisere metadata bør ha nettbaserte
+tjenestegrensesnitt der brukergrensesnitt er tydelig adskilt fra
+bakenforliggende system. Det finnes mange rapporter som snakker om å
+bryte ned siloer i forvaltningen og standardiserte tjenestegrensesnitt
+er det viktigste virkemiddel mot datasiloer og legger til rette for
+økt samvirke mellom systemer. Et standardisert tjenestegrensesnitt er
+et viktig middel for å få systemer til å samhandle da det sikrer at
+ulike produsenters systemer kan snakke sammen på tvers. Samfunnet
+fungerer ikke uten standardisering. Vi har alle samme strømstyrke og
+kontakter i veggene og kjører alle på høyre side av veien i Norge. Det er i en slik
+sammenheng at prosjektet «Noark 5 Tjenestegrensesnitt» er veldig
+viktig. Hvis alle leverandører av arkivsystemer forholdt seg til et
+standardisert tjenestegrensesnitt kunne kostnadene for arkivering
+reduseres. Tenk deg at du er en kommune som ønsker et fagsystem integrert
+med arkivløsningen din. I dag må fagsystemleverandøren vite og
+tilpasse seg den spesifikke versjonen og varianten av arkivløsningen
+du har. Hvis vi antar at alle leverandører av arkivkjerner har solgt
+inn enten SOAP eller REST-grensesnitt til kunder de siste 10 årene og
+det kommer endret versjon av grensesnittet innimellom, så gir det
+veldig mange forskjellige tjenestegrensesnitt en fagsystemleverandør
+må forholde seg til. Med 12 leverandører og kvartalsvise oppdateringer
+kan det potensielt bli 96 ulike varianter hvert eneste år. Det sier
+seg selv at det blir dyrt. Men det blir faktisk verre. Hvis du senere
+ønsker å bytte ut arkivsystemet med et annet så er du avhengig å få
+alle integrasjonene dine laget på nytt. Dette kan gjøre at du velger å
+forbli hos en dårlig leverandør framfor å skaffe nytt system, fordi
+det blir for vanskelig og dyrt å bytte. Dermed etableres det «små»
+monopolsituasjoner som er vanskelig å bryte ut av. Dårlige valg i dag
+kan ha uante kostander på sikt. I Nikita-prosjektet har vi kun jobbet
+opp mot Noark 5 Tjenestegrensesnittet. Det har tatt en god del
+ressurser å sette seg inn i spesifikasjonen og ta den i bruk, spesielt
+på grunn av uklarheter i spesifikasjonen. Hvis vi måtte gjøre det
+samme for alle versjoner og varianter av de forskjellige
+tjenestegrensesnittene ville det blitt veldig tidkrevende og
+kostbart.</p>
+
+<p>For deg som arkivar er digitalisering og systemer som skal virke
+sammen en del av den nye hverdagen. Du har kanskje blitt skånet for
+det ved å kjøpe svarte bokser, men du risikerer at du gjør deg selv en
+bjørnetjeneste. Det kan oppleves som kjedelig å fortelle kolleger at
+du skal sette deg inn i et tjenestegrensesnitt, men dette er faktisk
+veldig spennende. Tjenestegrensesnittet er på en måte blitt levende og
+det er spesielt et begrep du bør merke deg: OData. Å trekke inn deler
+av OData-standarden som en måte å filtrere entitetsøk i et arkivsystem
+var et nyttig trekk i prosjektet. Følgende eksempel er en
+OData-spørring det går an å sende inn til en standardisert
+arkivkjerne:</p>
-for p in $(apt list --upgradable | ignore "$@" |cut -d/ -f1 | grep -v '^Listing...'); do
- echo "Upgrading $p"
- apt clean
- apt install --download-only -y $p
- for f in /var/cache/apt/archives/*.deb; do
- if [ -e "$f" ]; then
- dpkg -i /var/cache/apt/archives/*.deb
- break
- fi
- done
-done
-</pre></blockquote></p>
-
-<p>The script will extract the list of packages to upgrade, try to
-download the packages needed to upgrade one package, install the
-downloaded packages using dpkg. The idea is to upgrade packages
-without changing the APT mark for the package (ie the one recording of
-the package was manually requested or pulled in as a dependency). To
-use it, simply run it as root from the command line. If it fail, try
-'apt install -f' to clean up the mess and run the script again. This
-might happen if the new packages conflict with one of the old
-packages. dpkg is unable to remove, while apt can do this.</p>
-
-<p>It take one option, a package to ignore in the list of packages to
-upgrade. The option to ignore a package is there to be able to skip
-the packages that are simply too large to unpack. Today this was
-'ghc', but I have run into other large packages causing similar
-problems earlier (like TeX).</p>
-
-<p>Update 2018-07-08: Thanks to Paul Wise, I am aware of two
-alternative ways to handle this. The "unattended-upgrades
---minimal-upgrade-steps" option will try to calculate upgrade sets for
-each package to upgrade, and then upgrade them in order, smallest set
-first. It might be a better option than my above mentioned script.
-Also, "aptutude upgrade" can upgrade single packages, thus avoiding
-the need for using "dpkg -i" in the script above.</p>
+<p><blockquote>
+.../sakarkiv/journalpost?filter=contains(tittel, 'nabovarsel')
+</blockquote></p>
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
+<p>Spørringen over vil hente en liste av alle dine journalposter der
+tittelen til journalposten inneholder ordet 'nabovarsel'. Alle
+leverandører som implementerer tjenestegrensesnittet vil måtte tilby
+dette. Det betyr at hvis du lærer dette språket for et system, vil det
+være gjeldende for alle. Dette er egentlig en ny måte å søke i
+arkivdatabasen på og vil være svært nyttig, for eksempel kan søk i
+tjenestegrensesnittet antagelig brukes til å hente ut offentlig
+postjournal. I arkivverden pleier vi å like teknologier som er
+menneskelesbart, da vet vi det er enkelt og nyttig! OData er også
+viktig fordi det kan bli en ny måte å svare innsynsforespørsler på i
+tråd med offentlighetsloven § 9, der retten til å kreve innsyn i
+sammenstilling fra databaser er nedfelt. I dag ser vi
+forvaltningsorganer som avviser slike krav fordi det «ikke kan gjøres
+med enkle framgangsmåter». Bruken av OData i tjenestegrensesnittet,
+sammen med maskinlesbar markeringsformater kan være et viktig bidrag
+til å åpne arkivene i tråd med prinsippene om en åpen og transparent
+forvaltning.</p>
+
+<p>Standardisering er viktig fordi det <em>kan</em> sikre samvirke.
+Men den effekten kommer kun hvis standardiseringen sikrer at alle
+forstår standarden på samme måte, dvs. at den er entydig og klar. En
+god måte å sikre en entydig og klar spesifikasjon er ved å kreve at
+det finnes minst to ulike implementasjoner som følger spesifikasjonen
+og som kan snakke sammen, det vil si at de snakker samme språk, slik
+IETF krever for alle sine standarder, før spesifikasjonen anses å være
+ferdig. Tilbakemelding fra miljøet forteller at både leverandører og
+kunder har et avslappet forhold til Noark 5 Tjenestegrensesnitt og det
+er så langt kun Evry som har visst offentlig at de har en
+implementasjon av tjenestegrensesnittet. Evry, HK Data og Fredrikstad
+kommune er igang med et pilotprosjekt på Noark 5
+Tjenestegrensesnitt. For å redusere kostnadene for samvirkende
+datasystemer betraktelig, er det veldig viktig at vi kommer i en
+situasjon der alle leverandører har sine egne implementasjoner av
+tjenestegrensesnittet, og at disse oppfører seg likt og i tråd med det
+som er beskrevet i spesifikasjonen.</p>
+
+<p>Det er her fri programvare spiller en viktig rolle. Med en uklar
+standard blir det som en polsk riksdag, der ingenting fungerer. Nikita
+er en fri programvareimplementasjon av tjenestegrensesnitt og kan
+fungere som teknisk referanse slik at leverandører enklere kan se og
+forstå hvordan standarden skal tolkes. Vi har i Nikitaprosjektet
+erfart å ende opp med vidt forskjellige tolkninger når
+prosjektmedlemmene leser spesifikasjonsteksten, en effekt av en uklar
+spesifikasjon. Men Nikitaprosjektet har også utviklet et test-program
+som sjekker om et tjenestegrensesnitt er i samsvar med standarden, og
+prosjektet bruker det hele tiden for å sikre at endringer og
+forbedringer fungerer. Egenerklæringsskjemaenes dager kan være talte!
+Snart vil du selv kunne teste hver oppdatering av arkivsystemet med en
+uavhengig sjekk.</p>
+
+<p>Fri programvare representerer en demokratisering av kunnskap der
+tolkning- og innlåsingsmakt flyttes fra leverandør til allmenheten.
+Med fri programvare har du en litt annerledes verdikjede, der selve
+produktet ikke holdes hemmelig for å tjene penger, slik en gjør med
+ufri programvare og skytjenester som ikke bruker fri programvare, men
+du kan tjene penger på andre deler av verdikjeden. Med fri programvare
+kan samfunnet betale for å videreutvikle nyttig
+fellesfunksjonalitet.</p>
+
+<p>Nikita er en fri programvareimplementasjon av tjenestegrensesnittet og
+kan fungere som en referanseimplementasjon dersom det er ønskelig.
+Alle har lik tilgang til koden og det koster ingenting å ta den i bruk
+og utforske det. Nikitaprosjektet ønsker tjenestegrensesnittet
+velkommen og stiller veldig gjerne opp i diskusjoner om tolkning av
+tjenestegrensesnittet. Nikita er bygget på moderne
+programmeringsrammeverk og utviklet i full åpenhet. Men Nikita er ikke
+noe du kan kjøpe. Nikita er først og fremst et verktøy for forsking og
+utvikling laget for å fremme forskning på arkivfeltet. Systemer som
+virker sammen har alltid vært hovedfokus og vil være det fremover.
+Det brukes som undervisningsverktøy der studentene ved OsloMet lærer
+om administrativt oppsett, saksbehandling, uttrekk og samvirkende
+datasystemer. Det brukes også som forskningsobjekt der vi ser på
+import av dokumentsamlinger, bruk av blokkjede og andre nyskapende
+måter å tenke arkiv på. Det er dog helt greit om andre tar Nikita og
+pakker det for å selge det som produkt. Forvaltningsorganer med
+sterke drift- og utviklingsmiljøer kan også se på Nikita og utforske
+hva som er mulig. Dette kan de gjøre uten å måtte betale for
+bruksrettigheter eller tilgang til konsulenter. Men arkivering blir
+ikke gratis på grunn av Nikita. Det trengs fortsatt folk med
+kompetanse og tid til å ta i bruk Nikita.</p>
+
+<p>Nikita har nylig kommet med en ny utgave, den sjette i rekken.
+Systemet er ikke ferdig, mest på grunn av at API-spesifikasjonen for
+Noark 5 Tjenestegrensesnitt ikke er ferdig, men allerede i dag kan en
+bruke Nikita som arkiv. Vi har laget eksempelsystem for å importere
+data fra deponi-XML og slik gjøre eksisterende arkivdata tilgjengelig
+via et API. Vi har også laget en testklient som importerer epost inn
+i arkivet med vedlegg der epostenes trådinformasjon brukes til å legge
+eposttråder i samme arkivmappe, og en annen testklient som henter
+epost ut av en arkivmappe på mbox-format slik at en vanlig epostklient
+kan brukes til å lese igjennom og svare på epostene i en
+arkivmappe. De som vil ta en titt på Nikita kan besøke
+<a href="https://nikita.oslomet.no">https://nikita.oslomet.no</a> og
+logge inn med brukernavn «admin@example.com» og passord «password».
+Dette gir tilgang til det forenklede brukergrensesnittet som brukes
+til undervisning. De som heller vil ta en titt under panseret kan
+besøke
+<a href="https://nikita.oslomet.no/browse.html">https://nikita.oslomet.no/browse.html</a>
+og der se hvordan API-et fungerer mer i detalj. Innloggingsdetaljer
+her er det samme som for brukergrensesnittet.</p>
+
+<p>Fremover er fokuset på forbedring av spesifikasjonen Noark 5
+Tjenestegrensesnitt. De som skrev tjenestegrensesnittet gjorde et
+interessant og framtidsrettet grep, de skilte sak fra arkiv.
+Tjenestegrensesnittet består av flere "pakker", der noen er
+grunnleggende mens andre bygger på de grunnleggende pakkene. Pakkene
+som er beskrevet så langt heter «arkivstruktur», «sakarkiv»,
+«administrasjon», «loggogsporing» og «moeter» (dessverre
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pull/120">planlagt
+fjernet</a> i første utgave). Etter hvert håper vi å utforske
+prosses- og metadatabeskrivelser til flere fagområder og bidra til at
+tjenestegrensesnittet kan legge til flere pakker som «byggarkiv»,
+«barnevern», «personal», «barnehage», der arkivfaglig metadata- og
+dokumentasjonsbehov er kartlagt og standardisert.</p>
+
+<p>Nikita utvikles av en liten prosjektgruppe, og vi er alltid
+interessert å bli flere. Hvis en åpen, fri og standardisert tilnærming
+til arkivering høres interessant ut, bli med oss på veien videre. Vi
+er tilstede på IRC-kanalen #nikita hos FreeNode (tilgjengelig via
+nettleser på
+<a href="https://webchat.freenode.net?channels=#nikita">https://webchat.freenode.net?channels=#nikita</a>),
+og har en e-postliste nikita-noark@nuug.no hos NUUG (tilgjengelig for
+påmelding og arkiv på
+<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">https://lists.nuug.no/mailman/listinfo/nikita-noark</a>)
+der en kan følge med eller være med oss på den spennende veien videre.
+Spesifikasjonen for Noark 5 Tjenestegrensesnitt vedlikeholdes på
+github,
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
+
+<p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
+det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
+til min adresse
<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
</description>
</item>
<item>
- <title>The worlds only stone power plant?</title>
- <link>http://people.skolelinux.org/pere/blog/The_worlds_only_stone_power_plant_.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_worlds_only_stone_power_plant_.html</guid>
- <pubDate>Sat, 30 Jun 2018 10:35:00 +0200</pubDate>
- <description><p>So far, at least hydro-electric power, coal power, wind power,
-solar power, and wood power are well known. Until a few days ago, I
-had never heard of stone power. Then I learn about a quarry in a
-mountain in
-<a href="https://en.wikipedia.org/wiki/Bremanger">Bremanger</a> i
-Norway, where
-<a href="https://www.bontrup.com/en/activities/raw-materials/bremanger-quarry/">the
-Bremanger Quarry</a> company is extracting stone and dumping the stone
-into a shaft leading to its shipping harbour. This downward movement
-in this shaft is used to produce electricity. In short, it is using
-falling rocks instead of falling water to produce electricity, and
-according to its own statements it is producing more power than it is
-using, and selling the surplus electricity to the Norwegian power
-grid. I find the concept truly amazing. Is this the worlds only
-stone power plant?</p>
+ <title>Jami/Ring, finally functioning peer to peer communication client</title>
+ <link>http://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html</guid>
+ <pubDate>Wed, 19 Jun 2019 08:50:00 +0200</pubDate>
+ <description><p>Some years ago, in 2016, I
+<a href="http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html">wrote
+for the first time about</a> the Ring peer to peer messaging system.
+It would provide messaging without any central server coordinating the
+system and without requiring all users to register a phone number or
+own a mobile phone. Back then, I could not get it to work, and put it
+aside until it had seen more development. A few days ago I decided to
+give it another try, and am happy to report that this time I am able
+to not only send and receive messages, but also place audio and video
+calls. But only if UDP is not blocked into your network.</p>
+
+<p>The Ring system changed name earlier this year to
+<a href="https://en.wikipedia.org/wiki/Jami_(software)">Jami</a>. I
+tried doing web search for 'ring' when I discovered it for the first
+time, and can only applaud this change as it is impossible to find
+something called Ring among the noise of other uses of that word. Now
+you can search for 'jami' and this client and
+<a href="https://jami.net/">the Jami system</a> is the first hit at
+least on duckduckgo.</p>
+
+<p>Jami will by default encrypt messages as well as audio and video
+calls, and try to send them directly between the communicating parties
+if possible. If this proves impossible (for example if both ends are
+behind NAT), it will use a central SIP TURN server maintained by the
+Jami project. Jami can also be a normal SIP client. If the SIP
+server is unencrypted, the audio and video calls will also be
+unencrypted. This is as far as I know the only case where Jami will
+do anything without encryption.</p>
+
+<p>Jami is available for several platforms: Linux, Windows, MacOSX,
+Android, iOS, and Android TV. It is included in Debian already. Jami
+also work for those using F-Droid without any Google connections,
+while Signal do not.
+<a href="https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/Protocol">The
+protocol</a> is described in the Ring project wiki. The system uses a
+distributed hash table (DHT) system (similar to BitTorrent) running
+over UDP. On one of the networks I use, I discovered Jami failed to
+work. I tracked this down to the fact that incoming UDP packages
+going to ports 1-49999 were blocked, and the DHT would pick a random
+port and end up in the low range most of the time. After talking to
+the developers, I solved this by enabling the dhtproxy in the
+settings, thus using TCP to talk to a central DHT proxy instead of
+
+peering directly with others. I've been told the developers are
+working on allowing DHT to use TCP to avoid this problem. I also ran
+into a problem when trying to talk to the version of Ring included in
+Debian Stable (Stretch). Apparently the protocol changed between
+beta2 and the current version, making these clients incompatible.
+Hopefully the protocol will not be made incompatible in the
+future.</p>
+
+<p>It is worth noting that while looking at Jami and its features, I
+came across another communication platform I have not tested yet. The
+<a href="https://en.wikipedia.org/wiki/Tox_(protocol)">Tox protocol</a>
+and <a href="https://tox.chat/">family of Tox clients</a>. It might
+become the topic of a future blog post.</p>
<p>As usual, if you use Bitcoin and want to show your support of my
activities, please send Bitcoin donations to my address
</item>
<item>
- <title>Add-on to control the projector from within Kodi</title>
- <link>http://people.skolelinux.org/pere/blog/Add_on_to_control_the_projector_from_within_Kodi.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Add_on_to_control_the_projector_from_within_Kodi.html</guid>
- <pubDate>Tue, 26 Jun 2018 23:55:00 +0200</pubDate>
- <description><p>My movie playing setup involve <a href="https://kodi.tv/">Kodi</a>,
-<a href="https://openelec.tv">OpenELEC</a> (probably soon to be
-replaced with <a href="https://libreelec.tv/">LibreELEC</a>) and an
-Infocus IN76 video projector. My projector can be controlled via both
-a infrared remote controller, and a RS-232 serial line. The vendor of
-my projector, <a href="https://www.infocus.com/">InFocus</a>, had been
-sensible enough to document the serial protocol in its user manual, so
-it is easily available, and I used it some years ago to write
-<a href="https://github.com/petterreinholdtsen/infocus-projector-control">a
-small script to control the projector</a>. For a while now, I longed
-for a setup where the projector was controlled by Kodi, for example in
-such a way that when the screen saver went on, the projector was
-turned off, and when the screen saver exited, the projector was turned
-on again.</p>
-
-<p>A few days ago, with very good help from parts of my family, I
-managed to find a Kodi Add-on for controlling a Epson projector, and
-got in touch with its author to see if we could join forces and make a
-Add-on with support for several projectors. To my pleasure, he was
-positive to the idea, and we set out to add InFocus support to his
-add-on, and make the add-on suitable for the official Kodi add-on
-repository.</p>
-
-<p>The Add-on is now working (for me, at least), with a few minor
-adjustments. The most important change I do relative to the master
-branch in the github repository is embedding the
-<a href="https://github.com/pyserial/pyserial">pyserial module</a> in
-the add-on. The long term solution is to make a "script" type
-pyserial module for Kodi, that can be pulled in as a dependency in
-Kodi. But until that in place, I embed it.</p>
-
-<p>The add-on can be configured to turn on the projector when Kodi
-starts, off when Kodi stops as well as turn the projector off when the
-screensaver start and on when the screesaver stops. It can also be
-told to set the projector source when turning on the projector.
-
-<p>If this sound interesting to you, check out
-<a href="https://github.com/fredrik-eriksson/kodi_projcontrol">the
-project github repository</a>. Perhaps you can send patches to
-support your projector too? As soon as we find time to wrap up the
-latest changes, it should be available for easy installation using any
-Kodi instance.</p>
-
-<p>For future improvements, I would like to add projector model
-detection and the ability to adjust the brightness level of the
-projector from within Kodi. We also need to figure out how to handle
-the cooling period of the projector. My projector refuses to turn on
-for 60 seconds after it was turned off. This is not handled well by
-the add-on at the moment.</p>
+ <title>More sales number for my Free Culture paper editions (2019-edition)</title>
+ <link>http://people.skolelinux.org/pere/blog/More_sales_number_for_my_Free_Culture_paper_editions__2019_edition_.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/More_sales_number_for_my_Free_Culture_paper_editions__2019_edition_.html</guid>
+ <pubDate>Tue, 11 Jun 2019 16:05:00 +0200</pubDate>
+ <description><p>The first book I published,
+<a href="http://www.free-culture.cc/">Free Culture by Lawrence
+Lessig</a>, is still selling a few copies. Not a lot, but enough to
+have contributed slightly over $500 to the <a
+href="https://creativecommons.org/">Creative Commons Corporation</a>
+so far. All the profit is sent there. Most books are still sold via
+Amazon (83 copies), with Ingram second (49) and Lulu (12) and Machette (7) as
+minor channels. Bying directly from Lulu bring the largest cut to
+Creative Commons. The English Edition sold 80 copies so far, the
+French 59 copies, and Norwegian only 8 copies. Nothing impressive,
+but nice to see the work we put down is still being appreciated. The
+ebook edition is available for free from
+<a href="https://github.com/petterreinholdtsen/free-culture-lessig">Github</a>.</p>
+
+<table border="0">
+<tr><th rowspan="2" valign="bottom">Title / language</th>
+<th colspan="7">Quantity</th></tr>
+<tr>
+<th>2016 jan-jun</th>
+<th>2016 jul-dec</th>
+<th>2017 jan-jun</th>
+<th>2017 jul-dec</th>
+<th>2018 jan-jun</th>
+<th>2018 jul-dec</th>
+<th>2019 jan-may</th>
+</tr>
+
+<tr>
+ <td><a href="http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html">Culture Libre / French</a></td>
+ <td align="right">3</td>
+ <td align="right">6</td>
+ <td align="right">19</td>
+ <td align="right">11</td>
+ <td align="right">7</td>
+ <td align="right">6</td>
+ <td align="right">7</td>
+</tr>
+
+<tr>
+ <td><a href="http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html">Fri kultur / Norwegian</a></td>
+ <td align="right">7</td>
+ <td align="right">1</td>
+ <td align="right">0</td>
+ <td align="right">0</td>
+ <td align="right">0</td>
+ <td align="right">0</td>
+ <td align="right">0</td>
+</tr>
+
+<tr>
+ <td><a href="http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html">Free Culture / English</a></td>
+ <td align="right">14</td>
+ <td align="right">27</td>
+ <td align="right">16</td>
+ <td align="right">9</td>
+ <td align="right">3</td>
+ <td align="right">7</td>
+ <td align="right">3</td>
+</tr>
+
+<tr>
+ <td>Total</td>
+ <td align="right">24</td>
+ <td align="right">34</td>
+ <td align="right">35</td>
+ <td align="right">20</td>
+ <td align="right">10</td>
+ <td align="right">13</td>
+ <td align="right">10</td>
+</tr>
+
+</table>
+
+<p>It is fun to see the French edition being more popular than the
+English one.</p>
+
+<p>If you would like to translate and publish the book in your native
+language, I would be happy to help make it happen. Please get in
+touch.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Official MIME type "text/vnd.sosi" for SOSI map data</title>
+ <link>http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html</guid>
+ <pubDate>Tue, 4 Jun 2019 09:20:00 +0200</pubDate>
+ <description><p>Just 15 days ago,
+<ahref="http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">I
+mentioned</a> my submission to IANA to register an official MIME type
+for the SOSI vector map format. This morning, just an hour ago, I was
+notified that
+<a href="https://www.iana.org/assignments/media-types/text/vnd.sosi">the
+MIME type "text/vnd.sosi"</a> is registered for this format. In
+addition to this registration, my
+<a href="https://github.com/file/file/blob/master/magic/Magdir/sosi">file(1)
+patch for a pattern matching rule for SOSI files</a> has been accepted
+into the official source of that program (pending a new release), and
+I've been told by the team behind
+<a href="https://www.nationalarchives.gov.uk/PRONOM/">PRONOM</a> that
+the SOSI format will be included in the next release of PRONOM, which
+they plan to release this summer around July.</p>
+
+<p>I am very happy to see all of this fall into place, for use by
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
+Noark 5 Tjenestegrensesnitt</a> implementations.</p>
<p>As usual, if you use Bitcoin and want to show your support of my
activities, please send Bitcoin donations to my address
</item>
<item>
- <title>youtube-dl for nedlasting fra NRK med undertekster - nice free software</title>
- <link>http://people.skolelinux.org/pere/blog/youtube_dl_for_nedlasting_fra_NRK_med_undertekster___nice_free_software.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/youtube_dl_for_nedlasting_fra_NRK_med_undertekster___nice_free_software.html</guid>
- <pubDate>Sat, 28 Apr 2018 10:30:00 +0200</pubDate>
- <description><p>I <a href="https://no.wikipedia.org/wiki/VHS">VHS-kassettenes</a>
-tid var det rett frem å ta vare på et TV-program en ønsket å kunne se
-senere, uten å være avhengig av at programmet ble sendt på nytt.
-Kanskje ønsket en å se programmet på hytten der det ikke var
-TV-signal, eller av andre grunner ha det tilgjengelig for fremtidig
-fornøyelse. Dette er blitt vanskeligere med introduksjon av
-digital-TV og webstreaming, der opptak til harddisk er utenfor de
-flestes kontroll hvis de bruker ufri programvare og bokser kontrollert
-av andre. Men for NRK her i Norge, finnes det heldigvis flere fri
-programvare-alternativer, som jeg har
-<a href="http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK.html">skrevet</a>
-<a href="http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK_med_den__nye__l_sningen.html">om</a>
-<a href="http://people.skolelinux.org/pere/blog/Nedlasting_fra_NRK__som_Matroska_med_undertekster.html">før</a>.
-Så lenge kilden for nedlastingen er lovlig lagt ut på nett (hvilket
-jeg antar NRK gjør), så er slik lagring til privat bruk også lovlig i
-Norge.</p>
-
-<p>Sist jeg så på saken, i 2016, nevnte jeg at
-<a href="https://rg3.github.com/youtube-dl/">youtube-dl</a> ikke kunne
-bake undertekster fra NRK inn i videofilene, og at jeg derfor
-foretrakk andre alternativer. Nylig oppdaget jeg at dette har endret
-seg. Fordelen med youtube-dl er at den er tilgjengelig direkte fra
-Linux-distribusjoner som <a href="https://www.debian.org/">Debian</a>
-og <a href="https://www.ubuntu.com/">Ubuntu</a>, slik at en slipper å
-finne ut selv hvordan en skal få dem til å virke.</p>
-
-<p>For å laste ned et NRK-innslag med undertekster, og få den norske
-underteksten pakket inn i videofilen, så kan følgende kommando
-brukes:</p>
-
-<p><pre>
-youtube-dl --write-sub --sub-format ttml \
- --convert-subtitles srt --embed-subs \
- https://tv.nrk.no/serie/ramm-ferdig-gaa/MUHU11000316/27-04-2018
-</pre></p>
-
-<p>URL-eksemplet er dagens toppsak på tv.nrk.no. Resultatet er en
-MP4-fil med filmen og undertekster som kan spilles av med VLC. Merk
-at VLC ikke viser frem undertekster før du aktiverer dem. For å gjøre
-det, høyreklikk med musa i fremviservinduet, velg menyvalget for
-undertekst og så norsk språk. Jeg testet også '--write-auto-sub',
-men det kommandolinjeargumentet ser ikke ut til å fungere, så jeg
-endte opp med settet med argumentlisten over, som jeg fant i en
-feilrapport i youtube-dl-prosjektets samling over feilrapporter.</p>
-
-<p>Denne støtten i youtube-dl gjør det svært enkelt å lagre
-NRK-innslag, det være seg nyheter, filmer, serier eller dokumentater,
-for å ha dem tilgjengelig for fremtidig referanse og bruk, uavhengig
-av hvor lenge innslagene ligger tilgjengelig hos NRK. Så får det ikke
-hjelpe at NRKs jurister mener at det er
-<a href="http://people.skolelinux.org/pere/blog/Best___ikke_fortelle_noen_at_streaming_er_nedlasting___.html">vesensforskjellig
-å legge tilgjengelig for nedlasting og for streaming</a>, når det rent
-teknisk er samme sak.</p>
-
-<p>Programmet youtube-dl støtter også en rekke andre nettsteder, se
-prosjektoversikten for
-<a href="http://rg3.github.io/youtube-dl/supportedsites.html">en
-komplett liste</a>.</p>
+ <title>The space rover coquine, or how I ended up on the dark side of the moon</title>
+ <link>http://people.skolelinux.org/pere/blog/The_space_rover_coquine__or_how_I_ended_up_on_the_dark_side_of_the_moon.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_space_rover_coquine__or_how_I_ended_up_on_the_dark_side_of_the_moon.html</guid>
+ <pubDate>Sun, 2 Jun 2019 23:55:00 +0200</pubDate>
+ <description><p>A while back a college and friend from Debian and the Skolelinux /
+Debian Edu project approached me, asking if I knew someone that might
+be interested in helping out with a technology project he was running
+as a teacher at <a href="https://www.ecolefrancodanoise.dk/">L'école
+franco-danoise</a> - the Danish-French school and kindergarden. The
+kids were building robots, rovers. The story behind it is to build a
+rover for use
+<a href="http://blog.ecolefrancodanoise.dk/first-week-on-the-dark-side">on
+the dark side of the moon</a>, and remote control it. As travel cost
+was a bit high for the final destination, and they wanted to test the
+concept first, he was looking for volunteers to host a rover for the
+kids to control in a foreign country. I ended up volunteering as a
+host, and last week the rover arrived. It took a while to arrive
+after <a href="http://blog.ecolefrancodanoise.dk/model-moms">it was
+built and shipped</a>, because of customs confusion. Luckily we were
+able fix it quickly with help from my colleges at work.</p>
+
+<p>This is what it looked like when the rover arrived. Note the cute
+eyes looking up on me from the wrapping</p>
+
+<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"/>
+<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"/>
+<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"/>
+
+<p style="text-align:left">Once the robot arrived, we needed to track
+down batteries and figure out how to build custom firmware for it with
+the appropriate wifi settings. I asked a friend if I could get two
+18650 batteries from his pile of Tesla batteries (he had them from the
+wrack of a crashed Tesla), so now the rover is running on Tesla
+batteries.</p>
+
+<p>Building
+<a href="https://gitlab.com/ecolefrancodanoise/arduino-efd/">the rover
+firmware</a> proved a bit harder, as the code did not work out of the
+box with the Arduino IDE package in Debian Buster. I suspect this is
+due to a unsolved
+<a href="https://github.com/arduino/Arduino/pull/2703"> license problem
+with arduino</a> blocking Debian from upgrading to the latest version.
+In the end we gave up debugging why the IDE failed to find the
+required libraries, and ended up using the Arduino Makefile from the
+<a href="https://tracker.debian.org/pkg/arduino-mk">arduino-mk Debian
+package</a> instead. Unfortunately the camera library is missing from
+the Arduino environment in Debian, so we disabled the camera support
+for the first firmware build, to get something up and running. With
+this reduced firmware, the robot could be controlled via the
+controller server, driving around and measuring distance using its
+internal acoustic sensor.</p>
+
+<p>Next, With some help from my friend in Denmark, which checked in the
+camera library into the gitlab repository for me to use, we were able
+to build a new and more complete version of the firmware, and the
+robot is now up and running. This is what the "commander" web page
+look like after taking a measurement and a snapshot:</p>
+
+<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"/>
+
+<p>If you want to learn more about this project, you can check out the
+<a href="https://hackaday.io/project/164082-the-dark-side-challenge">The
+Dark Side Challenge</a> Hackaday web pages.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
</description>
</item>
<item>
- <title>Stortingsflertallet går inn for ny IP-basert sensurinfrastruktur i Norge</title>
- <link>http://people.skolelinux.org/pere/blog/Stortingsflertallet_g_r_inn_for_ny_IP_basert_sensurinfrastruktur_i_Norge.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Stortingsflertallet_g_r_inn_for_ny_IP_basert_sensurinfrastruktur_i_Norge.html</guid>
- <pubDate>Tue, 24 Apr 2018 15:00:00 +0200</pubDate>
- <description><p><a href="https://www.vg.no/sport/i/J1g8zj/stortingsvedtak-snart-ip-blokkerer-utenlandske-spillselskaper">VG</a>,
-<a href="https://www.dagbladet.no/nyheter/stortinget-blokkerer-utenlandske-spillselskaper/69740219">Dagbladet</a>
-og
-<a href="https://www.nrk.no/ostfold/tar-opp-kampen-mot-utenlandske-spillselskap-1.14021381">NRK</a>
-melder i dag at flertallet i Familie- og kulturkomiteen på Stortinget
-har bestemt seg for å introdusere en ny sensurinfrastruktur i Norge.
-Fra før har Norge en «frivillig» sensurinfrastruktur basert på
-DNS-navn, der de største ISP-ene basert på en liste med DNS-navn
-forgifter DNS-svar og omdirigerer til et annet IP-nummer enn det som
-ligger i DNS. Nå kommer altså IP-basert omdirigering i tillegg. Når
-infrastrukturen er på plass, er sensur av IP-adresser redusert et
-spørsmål om hvilke IP-nummer som skal blokkeres. Listen over
-IP-adresser vil naturligvis endre seg etter hvert som myndighetene
-endrer seg. Det er ingen betryggende tanke.</p>
+ <title>Nikita version 0.4 released - free software archive API server</title>
+ <link>http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html</guid>
+ <pubDate>Wed, 22 May 2019 11:30:00 +0200</pubDate>
+ <description><p>This morning, a new release of
+<a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
+Noark 5 core project</a> was
+<a href="https://lists.nuug.no/pipermail/nikita-noark/2019-May/000468.html">announced
+on the project mailing list</a>. The Nikita free software solution is
+an implementation of the Norwegian archive standard Noark 5 used by
+government offices in Norway. These were the changes in version 0.4
+since version 0.3, see the email link above for links to a demo site:</p>
+
+<ul>
+
+ <li>Roll out OData handling to all endpoints where applicable</li>
+ <li>Changed the relation key for "ny-journalpost" to the official one.</li>
+ <li>Better link generation on outgoing links.</li>
+ <li>Tidy up code and make code and approaches more consistent throughout
+ the codebase</li>
+ <li>Update rels to be in compliance with updated version in the
+ interface standard</li>
+ <li>Avoid printing links on empty objects as they can't have links</li>
+ <li>Small bug fixes and improvements</li>
+ <li>Start moving generation of outgoing links to @Service layer so access
+ control can be used when generating links</li>
+ <li>Log exception that was being swallowed so it's traceable</li>
+ <li>Fix name mapping problem</li>
+ <li>Update templated printing so templated should only be printed if it
+ is set true. Requires more work to roll out across entire
+ application.</li>
+ <li>Remove Record->DocumentObject as per domain model of n5v4</li>
+ <li>Add ability to delete lists filtered with OData</li>
+ <li>Return NO_CONTENT (204) on delete as per interface standard</li>
+ <li>Introduce support for ConstraintViolationException exception</li>
+ <li>Make Service classes extend NoarkService</li>
+ <li>Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
+ X-Forwarded-Port</li>
+ <li>Update CorrespondencePart* code to be more in line with Single
+ Responsibility Principle</li>
+ <li>Make package name follow directory structure</li>
+ <li>Make sure Document number starts at 1, not 0</li>
+ <li>Fix isues discovered by FindBugs</li>
+ <li>Update from Date to ZonedDateTime</li>
+ <li>Fix wrong tablename</li>
+ <li>Introduce Service layer tests</li>
+ <li>Improvements to CorrespondencePart</li>
+ <li>Continued work on Class / Classificationsystem</li>
+ <li>Fix feature where authors were stored as storageLocations</li>
+ <li>Update HQL builder for OData</li>
+ <li>Update OData search capability from webpage</li>
+
+</ul>
+
+<p>If free and open standardized archiving API sound interesting to
+you, please contact us on IRC
+(<a href="irc://irc.freenode.net/%23nikita">#nikita on
+irc.freenode.net</a>) or email
+(<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
+mailing list</a>).</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
</description>
</item>
<item>
- <title>En grunn til å takke nei til usikker digital post</title>
- <link>http://people.skolelinux.org/pere/blog/En_grunn_til___takke_nei_til_usikker_digital_post.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/En_grunn_til___takke_nei_til_usikker_digital_post.html</guid>
- <pubDate>Mon, 2 Apr 2018 13:30:00 +0200</pubDate>
- <description><p>Brevpost er beskyttet av straffelovens bestemmelse som gjør det
-kriminelt å åpne andres brev. Dette følger av (ny) straffelovs
-<a href="https://lovdata.no/dokument/NL/lov/2005-05-20-28/§205">§ 205
-(Krenkelse av retten til privat kommunikasjon)</a>, som sier at «Med
-bot eller fengsel inntil 2 år straffes den som uberettiget ... c)
-åpner brev eller annen lukket skriftlig meddelelse som er adressert
-til en annen, eller på annen måte skaffer seg uberettiget tilgang til
-innholdet.» Dette gjelder såvel postbud som alle andre som har
-befatning med brevet etter at avsender har befatning med et lukket
-brev. Tilsvarende står også tidligere utgaver av den norske
-straffeloven.</p>
-
-<p>Når en registrerer seg på usikre digitale postkasseløsningene, som
-f.eks. Digipost og e-Boks, og slik tar disse i bruk, så gir en de som
-står bak løsningene tillatelse til å åpne sine brev. Dette er
-nødvendig for at innholdet i digital post skal kunne vises frem til
-mottaker via tjenestens websider. Dermed gjelder ikke straffelovens
-paragraf om forbud mot å åpne brev, da tilgangen ikke lenger er
-uberettiget. En gir altså fremmede tilgang til å lese sin
-korrespondanse. I tillegg vil bruk av slike usikre digitale
-postbokser føre til at det blir registrert når du leser brevene, hvor
-du befinner deg (vha. tilkoblingens IP-adresse), hvilket utstyr du
-bruker og en rekke annen personlig informasjon som ikke er
-tilgjengelig når papirpost brukes. Jeg foretrekker at det er
-lovmessig beskyttelse av min korrespondanse, som jo inneholder privat
-og personlig informasjon. Det bidrar til litt bedre vern av personlig
-integritet i dagens norske samfunn.</p>
+ <title>MIME type "text/vnd.sosi" for SOSI map data</title>
+ <link>http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html</guid>
+ <pubDate>Mon, 20 May 2019 08:35:00 +0200</pubDate>
+ <description><p>As part of my involvement in the work to
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">standardise
+a REST based API for Noark 5</a>, the Norwegian archiving standard, I
+spent some time the last few months to try to register a
+<a href="https://www.iana.org/assignments/media-types/">MIME type</a>
+and <a href="https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
+code</a> for the SOSI file format. The background is that there is a
+set of formats approved for long term storage and archiving in Norway,
+and among these formats, SOSI is the only format missing a MIME type
+and PRONOM code.</p>
+
+<p>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
+Samordnet Opplegg for Stedfestet Informasjon (literally "Coordinated
+Approach for Spatial Information", but more commonly expanded in
+English to Systematic Organization of Spatial Information). It is a
+text based file format for geo-spatial vector information used in
+Norway. Information about the SOSI format can be found in English
+from <a href="https://en.wikipedia.org/wiki/SOSI">Wikipedia</a>. The
+specification is available in Norwegian from
+<a href="https://www.kartverket.no/geodataarbeid/Standarder/SOSI/">the
+Norwegian mapping authority</a>. The SOSI standard, which originated
+in the beginning of nineteen eighties, was the inspiration and formed the
+basis for the XML based
+<a href="https://en.wikipedia.org/wiki/Geography_Markup_Language">Geography
+Markup Language</a>.</p>
+
+<p>I have so far written
+<a href="https://github.com/file/file/pull/67">a pattern matching
+rule</a> for the file(1) unix tool to recognize SOSI files, submitted
+a request to the PRONOM project to have a PRONOM ID assigned to the
+format (reference TNA1555078202S60), and today send a request to IANA
+to register the "text/vnd.sosi" MIME type for this format (referanse
+<a href="https://tools.iana.org/public-view/viewticket/1143144">IANA
+#1143144</a>). If all goes well, in a few months, anyone implementing
+the Noark 5 Tjenestegrensesnitt API spesification should be able to
+use an official MIME type and PRONOM code for SOSI files. In
+addition, anyone using SOSI files on Linux should be able to
+automatically recognise the format and web sites handing out SOSI
+files can begin providing a more specific MIME type. So far, SOSI
+files has been handed out from web sites using the
+"application/octet-stream" MIME type, which is just a nice way of
+stating "I do not know". Soon, we will know. :)</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
</description>
</item>
<item>
- <title>Self-appointed leaders of the Free World</title>
- <link>http://people.skolelinux.org/pere/blog/Self_appointed_leaders_of_the_Free_World.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Self_appointed_leaders_of_the_Free_World.html</guid>
- <pubDate>Thu, 22 Mar 2018 11:00:00 +0100</pubDate>
- <description><p>The leaders of the worlds have started to congratulate the
-re-elected Russian head of state, and this causes some criticism. I
-am though a little fascinated by a comment from USA senator John McCain,
-<a href="http://thehill.com/homenews/senate/379339-mccain-rips-trumps-congratulatory-call-to-putin-as-insult-to-russian-people">sited
-by The Hill and others</a>:
+ <title>PlantUML for text based UML diagram modelling - nice free software</title>
+ <link>http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html</guid>
+ <pubDate>Mon, 25 Mar 2019 09:35:00 +0100</pubDate>
+ <description><p>As part of my involvement with the
+<a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
+Noark 5 core project</a>, I have been proposing improvements to the
+API specification created by <a href="https://www.arkivverket.no/">The
+National Archives of Norway</a> and helped migrating the text from a
+version control system unfriendly binary format (docx) to Markdown in
+git. Combined with the migration to a public git repository (on
+github), this has made it possible for anyone to suggest improvement
+to the text.</p>
+
+<p>The specification is filled with UML diagrams. I believe the
+original diagrams were modelled using Sparx Systems Enterprise
+Architect, and exported as EMF files for import into docx. This
+approach make it very hard to track changes using a version control
+system. To improve the situation I have been looking for a good text
+based UML format with associated command line free software tools on
+Linux and Windows, to allow anyone to send in corrections to the UML
+diagrams in the specification. The tool must be text based to work
+with git, and command line to be able to run it automatically to
+generate the diagram images. Finally, it must be free software to
+allow anyone, even those that can not accept a non-free software
+license, to contribute.</p>
+
+<p>I did not know much about free software UML modelling tools when I
+started. I have used dia and inkscape for simple modelling in the
+past, but neither are available on Windows, as far as I could tell. I
+came across a nice
+<a href="https://modeling-languages.com/text-uml-tools-complete-list/">list
+of text mode uml tools</a>, and tested out a few of the tools listed
+there. <a href="http://plantuml.com/">The PlantUML tool</a> seemed
+most promising. After verifying that the packages
+<a href="https://tracker.debian.org/pkg/plantuml">is available in
+Debian</a> and found <a href="https://github.com/plantuml/plantuml">its
+Java source</a> under a GPL license on github, I set out to test if it
+could represent the diagrams we needed, ie the ones currently in
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
+Noark 5 Tjenestegrensesnitt specification</a>. I am happy to report
+that it could represent them, even thought it have a few warts here
+and there.</p>
+
+<p>After a few days of modelling I completed the task this weekend. A
+temporary link to the complete set of diagrams (original and from
+PlantUML) is available in
+<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76">the
+github issue discussing the need for a text based UML format</a>, but
+please note I lack a sensible tool to convert EMF files to PNGs, so
+the "original" rendering is not as good as the original was in the
+publised PDF.</p>
+
+<p>Here is an example UML diagram, showing the core classes for
+keeping metadata about archived documents:</p>
-<p><blockquote>
-<p>"An American president does not lead the Free World by
-congratulating dictators on winning sham elections."</p>
-</blockquote></p>
+<pre>
+@startuml
+skinparam classAttributeIconSize 0
+
+!include media/uml-class-arkivskaper.iuml
+!include media/uml-class-arkiv.iuml
+!include media/uml-class-klassifikasjonssystem.iuml
+!include media/uml-class-klasse.iuml
+!include media/uml-class-arkivdel.iuml
+!include media/uml-class-mappe.iuml
+!include media/uml-class-merknad.iuml
+!include media/uml-class-registrering.iuml
+!include media/uml-class-basisregistrering.iuml
+!include media/uml-class-dokumentbeskrivelse.iuml
+!include media/uml-class-dokumentobjekt.iuml
+!include media/uml-class-konvertering.iuml
+!include media/uml-datatype-elektronisksignatur.iuml
+
+Arkivstruktur.Arkivskaper "+arkivskaper 1..*" <-o "+arkiv 0..*" Arkivstruktur.Arkiv
+Arkivstruktur.Arkiv o--> "+underarkiv 0..*" Arkivstruktur.Arkiv
+Arkivstruktur.Arkiv "+arkiv 1" o--> "+arkivdel 0..*" Arkivstruktur.Arkivdel
+Arkivstruktur.Klassifikasjonssystem "+klassifikasjonssystem [0..1]" <--o "+arkivdel 1..*" Arkivstruktur.Arkivdel
+Arkivstruktur.Klassifikasjonssystem "+klassifikasjonssystem [0..1]" o--> "+klasse 0..*" Arkivstruktur.Klasse
+Arkivstruktur.Arkivdel "+arkivdel 0..1" o--> "+mappe 0..*" Arkivstruktur.Mappe
+Arkivstruktur.Arkivdel "+arkivdel 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
+Arkivstruktur.Klasse "+klasse 0..1" o--> "+mappe 0..*" Arkivstruktur.Mappe
+Arkivstruktur.Klasse "+klasse 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
+Arkivstruktur.Mappe --> "+undermappe 0..*" Arkivstruktur.Mappe
+Arkivstruktur.Mappe "+mappe 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
+Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Mappe
+Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Dokumentbeskrivelse
+Arkivstruktur.Basisregistrering -|> Arkivstruktur.Registrering
+Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Basisregistrering
+Arkivstruktur.Registrering "+registrering 1..*" o--> "+dokumentbeskrivelse 0..*" Arkivstruktur.Dokumentbeskrivelse
+Arkivstruktur.Dokumentbeskrivelse "+dokumentbeskrivelse 1" o-> "+dokumentobjekt 0..*" Arkivstruktur.Dokumentobjekt
+Arkivstruktur.Dokumentobjekt *-> "+konvertering 0..*" Arkivstruktur.Konvertering
+Arkivstruktur.ElektroniskSignatur -[hidden]-> Arkivstruktur.Dokumentobjekt
+@enduml
+</pre>
-<p>While I totally agree with the senator here, the way the quote is
-phrased make me suspect that he is unaware of the simple fact that USA
-have not lead the Free World since at least before its government
-<a href="https://en.wikipedia.org/wiki/Maher_Arar">kidnapped a
-completely innocent Canadian citizen in transit on his way home to
-Canada via John F. Kennedy International Airport in September 2002 and
-sent him to be tortured in Syria for a year</a>.</p>
+<p><a href="http://plantuml.com/class-diagram">The format</a> is quite
+compact, with little redundant information. The text expresses
+entities and relations, and there is little layout related fluff. One
+can reuse content by using include files, allowing for consistent
+naming across several diagrams. The include files can be standalone
+PlantUML too. Here is the content of
+<tt>media/uml-class-arkivskaper.iuml<tt>:</p>
-<p>USA might be running ahead, but the path they are taking is not the
-one taken by any Free World.</p>
-</description>
- </item>
-
- <item>
- <title>Facebooks ability to sell your personal information is the real Cambridge Analytica scandal</title>
- <link>http://people.skolelinux.org/pere/blog/Facebooks_ability_to_sell_your_personal_information_is_the_real_Cambridge_Analytica_scandal.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Facebooks_ability_to_sell_your_personal_information_is_the_real_Cambridge_Analytica_scandal.html</guid>
- <pubDate>Wed, 21 Mar 2018 16:30:00 +0100</pubDate>
- <description><p>So, Cambridge Analytica is getting some well deserved criticism for
-(mis)using information it got from Facebook about 50 million people,
-mostly in the USA. What I find a bit surprising, is how little
-criticism Facebook is getting for handing the information over to
-Cambridge Analytica and others in the first place. And what about the
-people handing their private and personal information to Facebook?
-And last, but not least, what about the government offices who are
-handing information about the visitors of their web pages to Facebook?
-No-one who looked at the terms of use of Facebook should be surprised
-that information about peoples interests, political views, personal
-lifes and whereabouts would be sold by Facebook.</p>
-
-<p>What I find to be the real scandal is the fact that Facebook is
-selling your personal information, not that one of the buyers used it
-in a way Facebook did not approve when exposed. It is well known that
-Facebook is selling out their users privacy, but a scandal
-nevertheless. Of course the information provided to them by Facebook
-would be misused by one of the parties given access to personal
-information about the millions of Facebook users. Collected
-information will be misused sooner or later. The only way to avoid
-such misuse, is to not collect the information in the first place. If
-you do not want Facebook to hand out information about yourself for
-the use and misuse of its customers, do not give Facebook the
-information.</p>
-
-<p>Personally, I would recommend to completely remove your Facebook
-account, and take back some control of your personal information.
-<a href="https://www.theguardian.com/technology/2018/mar/19/how-to-protect-your-facebook-privacy-or-delete-yourself-completely">According
-to The Guardian</a>, it is a bit hard to find out how to request
-account removal (and not just 'disabling'). You need to
-<a href="https://www.facebook.com/help/224562897555674?helpref=faq_content">visit
-a specific Facebook page</a> and click on 'let us know' on that page
-to get to <a href="https://www.facebook.com/help/delete_account">the
-real account deletion screen</a>. Perhaps something to consider? I
-would not trust the information to really be deleted (who knows,
-perhaps NSA, GCHQ and FRA already got a copy), but it might reduce the
-exposure a bit.</p>
-
-<p>If you want to learn more about the capabilities of Cambridge
-Analytica, I recommend to see the video recording of the one hour talk
-Paul-Olivier Dehaye gave to <a href="">NUUG</a> last april about
-<a href="https://www.nuug.no/aktiviteter/20170404-big-data-psychometric/">
-Data collection, psychometric profiling and their impact on
-politics</a>.</p>
-
-<p>And if you want to communicate with your friends and loved ones,
-use some end-to-end encrypted method like
-<a href="https://www.signal.org/">Signal</a> or
-<a href="https://ring.cx/">Ring</a>, and stop sharing your private
-messages with strangers like Facebook and Google.</p>
+<pre>
+@startuml
+class Arkivstruktur.Arkivskaper <Arkivenhet> {
+ +arkivskaperID : string
+ +arkivskaperNavn : string
+ +beskrivelse : string [0..1]
+}
+@enduml
+</pre>
+
+<p>This is what the complete diagram for the PlantUML notation above
+look like:</p>
+
+<p><img width="80%" src="http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
+
+<p>A cool feature of PlantUML is that the generated PNG files include
+the entire original source diagram as text. The source (with include
+statements expanded) can be extracted using for example
+<tt>exiftool</tt>. Another cool feature is that parts of the entities
+can be hidden after inclusion. This allow to use include files with
+all attributes listed, even for UML diagrams that should not list any
+attributes.</p>
+
+<p>The diagram also show some of the warts. Some times the layout
+engine place text labels on top of each other, and some times it place
+the class boxes too close to each other, not leaving room for the
+labels on the relationship arrows. The former can be worked around by
+placing extra newlines in the labes (ie "\n"). I did not do it here
+to be able to demonstrate the issue. I have not found a good way
+around the latter, so I normally try to reduce the problem by changing
+from vertical to horizontal links to improve the layout.</p>
+
+<p>All in all, I am quite happy with PlantUML, and very impressed with
+how quickly its lead developer responds to questions. So far I got an
+answer to my questions in a few hours when I send an email. I
+definitely recommend looking at PlantUML if you need to make UML
+diagrams. Note, PlantUML can draw a lot more than class relations.
+Check out the documention for a complete list. :)</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
</description>
</item>