+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/When_terms_and_policy_turn_users_away.html">When terms and policy turn users away</a>
+ </div>
+ <div class="date">
+ 7th December 2019
+ </div>
+ <div class="body">
+ <p>When asked to accept terms of use and privacy policies that state
+it will to remove rights I otherwise had or accept unreasonable terms
+undermining my privacy, I choose away the service. I simply do not
+have the conscience to accept terms I have no indention of upholding.
+But how are the system and service providers to know how many people
+they scared away? Normally I just quietly walk away. But todya, I
+tried a new approach. I sent the following email (removing the
+specifics, as I am not out to take the specific service in question)
+to the service provider I decided to drop, to at least give them one
+data point on how many users are unhappy with their terms:</p>
+
+<blockquote>
+From: Petter Reinholdtsen
+<br>Subject: When terms of use turn users away
+<br>To: [contact@some.site]
+<br>Date: Sat, 07 Dec 2019 16:30:56 +0100
+
+<p>Dear [Site Owner],</p>
+
+<p>I was eager to test the system, as it seemed like a fun and
+interesting application of [some] technology, but after reading the
+terms of use and privacy policy on <URL:
+https://www.[some.site]/terms-of-use > and <URL:
+https://www.[some.site]/privacy-policy > I want you to know that I
+decided to turn away. There were several provisions in the terms and
+policy turning me off, but the final term that convinced me was being
+asked to sign away my right to reverse engineer.</p>
+
+<p>--
+<br>Happy hacking
+<br>Petter Reinholdtsen</p>
+</blockquote>
+
+<p>I do not expect much to come out of it, but sharing it here in case
+others want to give something similar a try too. If companies
+discover their terms scare away enough people, perhaps they will be
+improved...</p>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/What_would_it_cost_to_store_all_2018_phone_calls_in_Norway_.html">What would it cost to store all 2018 phone calls in Norway?</a>
+ </div>
+ <div class="date">
+ 25th November 2019
+ </div>
+ <div class="body">
+ <p>Four years ago, I did a back of the envelope calculation on
+<a href="http://people.skolelinux.org/pere/blog/What_would_it_cost_to_store_all_phone_calls_in_Norway_.html">how
+much it would cost to store audio recordings of all the phone calls in
+Norway</a>, and came up with NOK 2.1 million / EUR 250 000 for the
+year 2013. It is time to repeat the calculation using updated
+numbers. The calculation is based on how much data storage is needed
+for each minute of audio, how many minutes all the calls in Norway
+sums up to, multiplied by the cost of data storage.</p>
+
+<p>The number of phone call minutes for 2018 was fetched from
+<a href="https://ekomstatistikken.nkom.no/">the NKOM statistics
+site</a>, and for 2018, land line calls are listed as 434 238 000
+minutes, while mobile phone calls are listed with 7 542 006 000
+minutes. The total number of minutes is thus 7 976 244 000. For
+simplicity, I decided to ignore any advantages in audio compression the
+last four years, and continue to assume 60 Kbytes/min as the last
+time.</p>
+
+<p>Storage prices still varies a lot, but as last time, I decide to
+take a reasonable big and cheap hard drive, and double its price to
+include the surrounding costs into account. A 10 TB disk cost less
+than 4500 NOK / 450 EUR these days, and doubling it give 9000 NOK per
+10 TB.</p>
+
+<p>So, with the parameters in place, lets update the old table
+estimating cost for calls in a given year:</p>
+
+<table border="1">
+<tr><th>Year</th><th>Call minutes</th><th>Size</th><th>Price in NOK / EUR</th></tr>
+<tr><td>2005</td><td align="right">24 000 000 000</td><td align="right">1.3 PiB</td><td align="right">1 170 000 / 117 000</td></tr>
+
+<tr><td>2012</td><td align="right">18 000 000 000</td><td align="right">1.0 PiB</td><td align="right">900 000 / 90 000</td></tr>
+
+<tr><td>2013</td><td align="right">17 000 000 000</td><td align="right">950 TiB</td><td align="right">855 000 / 85 500</td></tr>
+
+<tr><td>2018</td><td align="right">7 976 244 000</td><td align="right">445 TiB</td><td align="right">401 100 / 40 110</td></tr>
+</table>
+
+<p>Both the cost of storage and the number of phone call minutes have
+dropped since the last time, bringing the cost down to a level where I
+guess even small organizations can afford to store the audio recording
+from every phone call taken in a year in Norway. Of course, this is
+just the cost of buying the storage equipment. Maintenance, need to
+be included as well, but the volume of a single year is about a single
+rack of hard drives, so it is not much more than I could fit in my own
+home. Wonder how much the electricity bill would raise if I had that
+kind of storage? I doubt it would be more than a few tens of thousand
+NOK per year.</p>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Norwegian_movies_that_might_be_legal_to_share_on_the_Internet.html">Norwegian movies that might be legal to share on the Internet</a>
+ </div>
+ <div class="date">
+ 1st September 2019
+ </div>
+ <div class="body">
+ <p>While working on identifying and counting movies that can be
+legally shared on the Internet, I also looked at the Norwegian movies
+listed in IMDb. So far I have identified 54 candidates published
+before 1940 that might no longer be protected by norwegian copyright
+law. Of these, only 29 are available at least in part from the
+Norwegian National Library. It can be assumed that the remaining 25
+movies are lost. It seem most useful to identify the copyright status
+of movies that are not lost. To verify that the movie is really no
+longer protected, one need to verify the list of copyright holders and
+figure out if and when they died. I've been able to identify some of
+them, but for some it is hard to figure out when they died.</p>
+
+</p>This is the list of 29 movies both available from the library and
+possibly no longer protected by copyright law. The year range
+(1909-1979 on the first line) is year of publication and last year
+with copyright protection.</p>
+
+<pre>
+1909-1979 ( 70 year) NSB Bergensbanen 1909 - http://www.imdb.com/title/tt0347601/
+1910-1980 ( 70 year) Bjørnstjerne Bjørnsons likfærd - http://www.imdb.com/title/tt9299304/
+1910-1980 ( 70 year) Bjørnstjerne Bjørnsons begravelse - http://www.imdb.com/title/tt9299300/
+1912-1998 ( 86 year) Roald Amundsens Sydpolsferd (1910-1912) - http://www.imdb.com/title/tt9237500/
+1913-2006 ( 93 year) Roald Amundsen på sydpolen - http://www.imdb.com/title/tt0347886/
+1917-1987 ( 70 year) Fanden i nøtten - http://www.imdb.com/title/tt0346964/
+1919-2018 ( 99 year) Historien om en gut - http://www.imdb.com/title/tt0010259/
+1920-1990 ( 70 year) Kaksen på Øverland - http://www.imdb.com/title/tt0011361/
+1923-1993 ( 70 year) Norge - en skildring i 6 akter - http://www.imdb.com/title/tt0014319/
+1925-1997 ( 72 year) Roald Amundsen - Ellsworths flyveekspedition 1925 - http://www.imdb.com/title/tt0016295/
+1925-1995 ( 70 year) En verdensreise, eller Da knold og tott vaskede negrene hvite med 13 sæpen - http://www.imdb.com/title/tt1018948/
+1926-1996 ( 70 year) Luftskibet 'Norge's flugt over polhavet - http://www.imdb.com/title/tt0017090/
+1926-1996 ( 70 year) Med 'Maud' over Polhavet - http://www.imdb.com/title/tt0017129/
+1927-1997 ( 70 year) Den store sultan - http://www.imdb.com/title/tt1017997/
+1928-1998 ( 70 year) Noahs ark - http://www.imdb.com/title/tt1018917/
+1928-1998 ( 70 year) Skjæbnen - http://www.imdb.com/title/tt1002652/
+1928-1998 ( 70 year) Chefens cigarett - http://www.imdb.com/title/tt1019896/
+1929-1999 ( 70 year) Se Norge - http://www.imdb.com/title/tt0020378/
+1929-1999 ( 70 year) Fra Chr. Michelsen til Kronprins Olav og Prinsesse Martha - http://www.imdb.com/title/tt0019899/
+1930-2000 ( 70 year) Mot ukjent land - http://www.imdb.com/title/tt0021158/
+1930-2000 ( 70 year) Det er natt - http://www.imdb.com/title/tt1017904/
+1930-2000 ( 70 year) Over Besseggen på motorcykel - http://www.imdb.com/title/tt0347721/
+1931-2001 ( 70 year) Glimt fra New York og den Norske koloni - http://www.imdb.com/title/tt0021913/
+1932-2007 ( 75 year) En glad gutt - http://www.imdb.com/title/tt0022946/
+1934-2004 ( 70 year) Den lystige radio-trio - http://www.imdb.com/title/tt1002628/
+1935-2005 ( 70 year) Kronprinsparets reise i Nord Norge - http://www.imdb.com/title/tt0268411/
+1935-2005 ( 70 year) Stormangrep - http://www.imdb.com/title/tt1017998/
+1936-2006 ( 70 year) En fargesymfoni i blått - http://www.imdb.com/title/tt1002762/
+1939-2009 ( 70 year) Til Vesterheimen - http://www.imdb.com/title/tt0032036/
+</pre>
+
+To be sure which one of these can be legally shared on the Internet,
+in addition to verifying the right holders list is complete, one need
+to verify the death year of these persons:
+
+<pre>
+Bjørnstjerne Bjørnson (dead 1910) - http://www.imdb.com/name/nm0085085/
+Gustav Adolf Olsen (missing death year) - http://www.imdb.com/name/nm0647652/
+Gustav Lund (missing death year) - http://www.imdb.com/name/nm0526168/
+John W. Brunius (dead 1937) - http://www.imdb.com/name/nm0116307/
+Ola Cornelius (missing death year) - http://www.imdb.com/name/nm1227236/
+Oskar Omdal (dead 1927) - http://www.imdb.com/name/nm3116241/
+Paul Berge (missing death year) - http://www.imdb.com/name/nm0074006/
+Peter Lykke-Seest (dead 1948) - http://www.imdb.com/name/nm0528064/
+Roald Amundsen (dead 1928) - https://www.imdb.com/name/nm0025468/
+Sverre Halvorsen (dead 1936) - http://www.imdb.com/name/nm1299757/
+Thomas W. Schwartz (missing death year) - http://www.imdb.com/name/nm2616250/
+</pre>
+
+<p>Perhaps you can help me figuring death year of those missing it, or
+right holders if some are missing in IMDb? It would be nice to have a
+definite list of Norwegian movies that are legal to share on the
+Internet.</p>
+
+</p>This is the list of 25 movies not available from the library and
+possibly no longer protected by copyright law:</p>
+
+<pre>
+1907-2009 (102 year) Fiskerlivets farer - http://www.imdb.com/title/tt0121288/
+1912-2018 (106 year) Historien omen moder - http://www.imdb.com/title/tt0382852/
+1912-2002 ( 90 year) Anny - en gatepiges roman - http://www.imdb.com/title/tt0002026/
+1916-1986 ( 70 year) The Mother Who Paid - http://www.imdb.com/title/tt3619226/
+1917-2018 (101 year) En vinternat - http://www.imdb.com/title/tt0008740/
+1917-2018 (101 year) Unge hjerter - http://www.imdb.com/title/tt0008719/
+1917-2018 (101 year) De forældreløse - http://www.imdb.com/title/tt0007972/
+1918-2018 (100 year) Vor tids helte - http://www.imdb.com/title/tt0009769/
+1918-2018 (100 year) Lodsens datter - http://www.imdb.com/title/tt0009314/
+1919-2018 ( 99 year) Æresgjesten - http://www.imdb.com/title/tt0010939/
+1921-2006 ( 85 year) Det nye year? - http://www.imdb.com/title/tt0347686/
+1921-1991 ( 70 year) Under Polarkredsens himmel - http://www.imdb.com/title/tt0012789/
+1923-1993 ( 70 year) Nordenfor polarcirkelen - http://www.imdb.com/title/tt0014318/
+1925-1995 ( 70 year) Med 'Stavangerfjord' til Nordkap - http://www.imdb.com/title/tt0016098/
+1926-1996 ( 70 year) Over Atlanterhavet og gjennem Amerika - http://www.imdb.com/title/tt0017241/
+1926-1996 ( 70 year) Hallo! Amerika! - http://www.imdb.com/title/tt0016945/
+1926-1996 ( 70 year) Tigeren Teodors triumf - http://www.imdb.com/title/tt1008052/
+1927-1997 ( 70 year) Rød sultan - http://www.imdb.com/title/tt1017979/
+1927-1997 ( 70 year) Søndagsfiskeren Flag - http://www.imdb.com/title/tt1018002/
+1930-2000 ( 70 year) Ro-ro til fiskeskjær - http://www.imdb.com/title/tt1017973/
+1933-2003 ( 70 year) I kongens klær - http://www.imdb.com/title/tt0024164/
+1934-2004 ( 70 year) Eventyret om de tre bukkene bruse - http://www.imdb.com/title/tt1007963/
+1934-2004 ( 70 year) Pål sine høner - http://www.imdb.com/title/tt1017966/
+1937-2007 ( 70 year) Et mesterverk - http://www.imdb.com/title/tt1019937/
+1938-2008 ( 70 year) En Harmony - http://www.imdb.com/title/tt1007975/
+</pre>
+
+<p>Several of these movies completely lack right holder information in
+IMDb and elsewhere. Without access to a copy of the movie, it is
+often impossible to get the list of people involved in making the
+movie, making it impossible to figure out the correct copyright
+status.</p>
+
+<p>Not listed here are the movies still protected by copyright law.
+Their copyright terms varies from 79 to 144 years, according to the
+information I have available so far. One of the non-lost movies might
+change status next year,
+<a href="https://www.imdb.com/title/tt1008007/">Mustads Mono from 1920</a>.
+The next one might be
+<a href="https://www.imdb.com/title/tt0347215/">Hvor isbjørnen ferdes
+from 1935</a> in 2024.</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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_16_000_movies_listed_on_IMDB_.html">Legal to share more than 16,000 movies listed on IMDB?</a>
+ </div>
+ <div class="date">
+ 10th August 2019
+ </div>
+ <div class="body">
+ <p>The recent announcement of from the New York Public Library on its
+results in
+<a href="https://www.vice.com/en_us/article/kz4e3e/millions-of-books-are-secretly-in-the-public-domain-you-can-download-them-free">identifying
+books published in the USA that are now in the public domain</a>,
+inspired me to update the scripts I use to track down movies that are
+in the public domain. This involved updating the script used to
+extract lists of movies believed to be in the public domain, to work
+with the latest version of the source web sites. In particular the
+new edition of the <a href="https://retrofilmvault.com/">Retro Film
+Vault</a> web site now seem to list all the films available from that
+distributor, bringing the films identified there to more than 12.000
+movies, and I was able to connect 46% of these to IMDB titles.</p>
+
+<p>The new total is 16307 IMDB IDs (aka films) in the public domain or
+creative commons licensed, and unknown status for 31460 movies
+(possibly duplicates of the 16307).</p>
+
+<p>The complete data set is available from
+<a href="https://github.com/petterreinholdtsen/public-domain-free-imdb">a
+public git repository</a>, including the scripts used to create it.</p>
+
+<p>Anyway, this is the summary of the 28 collected data sources so
+far:</p>
+
+<p><pre>
+ 2361 entries ( 50 unique) with and 22472 without IMDB title ID in free-movies-archive-org-search.json
+ 2363 entries ( 146 unique) with and 0 without IMDB title ID in free-movies-archive-org-wikidata.json
+ 299 entries ( 32 unique) with and 93 without IMDB title ID in free-movies-cinemovies.json
+ 88 entries ( 52 unique) with and 36 without IMDB title ID in free-movies-creative-commons.json
+ 3190 entries ( 1532 unique) with and 13 without IMDB title ID in free-movies-fesfilm-xls.json
+ 620 entries ( 24 unique) with and 283 without IMDB title ID in free-movies-fesfilm.json
+ 1080 entries ( 165 unique) with and 651 without IMDB title ID in free-movies-filmchest-com.json
+ 830 entries ( 13 unique) with and 0 without IMDB title ID in free-movies-icheckmovies-archive-mochard.json
+ 19 entries ( 19 unique) with and 0 without IMDB title ID in free-movies-imdb-c-expired-gb.json
+ 7410 entries ( 7101 unique) with and 0 without IMDB title ID in free-movies-imdb-c-expired-us.json
+ 1205 entries ( 41 unique) with and 0 without IMDB title ID in free-movies-imdb-pd.json
+ 163 entries ( 22 unique) with and 88 without IMDB title ID in free-movies-infodigi-pd.json
+ 158 entries ( 103 unique) with and 0 without IMDB title ID in free-movies-letterboxd-looney-tunes.json
+ 113 entries ( 4 unique) with and 0 without IMDB title ID in free-movies-letterboxd-pd.json
+ 182 entries ( 71 unique) with and 0 without IMDB title ID in free-movies-letterboxd-silent.json
+ 248 entries ( 85 unique) with and 0 without IMDB title ID in free-movies-manual.json
+ 158 entries ( 4 unique) with and 64 without IMDB title ID in free-movies-mubi.json
+ 85 entries ( 1 unique) with and 23 without IMDB title ID in free-movies-openflix.json
+ 520 entries ( 22 unique) with and 244 without IMDB title ID in free-movies-profilms-pd.json
+ 343 entries ( 14 unique) with and 10 without IMDB title ID in free-movies-publicdomainmovies-info.json
+ 701 entries ( 16 unique) with and 560 without IMDB title ID in free-movies-publicdomainmovies-net.json
+ 74 entries ( 13 unique) with and 60 without IMDB title ID in free-movies-publicdomainreview.json
+ 698 entries ( 16 unique) with and 118 without IMDB title ID in free-movies-publicdomaintorrents.json
+ 5506 entries ( 2941 unique) with and 6585 without IMDB title ID in free-movies-retrofilmvault.json
+ 16 entries ( 0 unique) with and 0 without IMDB title ID in free-movies-thehillproductions.json
+ 110 entries ( 2 unique) with and 29 without IMDB title ID in free-movies-two-movies-net.json
+ 73 entries ( 20 unique) with and 131 without IMDB title ID in free-movies-vodo.json
+16307 unique IMDB title IDs in total, 12509 only in one list, 31460 without IMDB title ID
+</pre></p>
+
+<p>New this time is a list of all the identified IMDB titles, with
+title, year and running time, provided in free-complete.json. this
+file also indiciate which source is used to conclude the video is free
+to distribute.</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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date">
+ 4th July 2019
+ </div>
+ <div class="body">
+ <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
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date">
+ 19th June 2019
+ </div>
+ <div class="body">
+ <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
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date">
+ 11th June 2019
+ </div>
+ <div class="body">
+ <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>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date">
+ 4th June 2019
+ </div>
+ <div class="body">
+ <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
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date">
+ 2nd June 2019
+ </div>
+ <div class="body">
+ <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>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date">
+ 22nd May 2019
+ </div>
+ <div class="body">
+ <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>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date">
+ 20th May 2019
+ </div>
+ <div class="body">
+ <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>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date">
+ 25th March 2019
+ </div>
+ <div class="body">
+ <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>
+
+<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><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>
+
+<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>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html">Release 0.3 of free software archive API system Nikita announced</a>
+ </div>
+ <div class="date">
+ 24th March 2019
+ </div>
+ <div class="body">
+ <p>Yesterday, 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-March/000451.html">announced
+on the project mailing list</a>. The 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.3
+since version 0.2.1 (from NEWS.md):</p>
+
+<ul>
+ <li>Improved ClassificationSystem and Class behaviour.</li>
+ <li>Tidied up known inconsistencies between domain model and hateaos links.</li>
+ <li>Added experimental code for blockchain integration. </li>
+ <li>Make token expiry time configurable at upstart from properties file.</li>
+ <li>Continued work on OData search syntax.</li>
+ <li>Started work on pagination for entities, partly implemented for Saksmappe.</li>
+ <li>Finalise ClassifiedCode Metadata entity.</li>
+ <li>Implement mechanism to check if authentication token is still
+ valid. This allow the GUI to return a more sensible message to the
+ user if the token is expired.</li>
+ <li>Reintroduce browse.html page to allow user to browse JSON API using
+ hateoas links.</li>
+ <li>Fix bug in handling file/mappe sequence number. Year change was
+ not properly handled.</li>
+ <li>Update application yml files to be in sync with current development.</li>
+ <li>Stop 'converting' everything to PDF using libreoffice. Only
+ convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
+ and ods.</li>
+ <li>Continued code style fixing, making code more readable.</li>
+ <li>Minor bug fixes.</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>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html">Websocket from Kraken in Valutakrambod</a>
+ </div>
+ <div class="date">
+ 1st February 2019
+ </div>
+ <div class="body">
+ <p>Yesterday, the Kraken virtual currency exchange announced
+<a href="https://blog.kraken.com/post/2019/websockets-public-api-launching-soon/">their
+Websocket service</a>, providing a stream of exchange updates to its
+clients. Getting updated rates quickly is a good idea, so I used
+their <a href="https://www.kraken.com/en-us/help/websocket-api">API
+documentation</a> and added Websocket support to the Kraken service in
+Valutakrambod today. The python library can now get updates
+from Kraken several times per second, instead of every time the
+information is polled from the REST API.</p>
+
+<p>If this sound interesting to you, the code for valutakrambod is
+available from
+<a href="http://github.com/petterreinholdtsen/valutakrambod">github</a>.
+Here is example output from the example client displaying rates in a
+curses view:</p>
+
+<p><blockquote><pre>
+ Name Pair Bid Ask Spr Ftcd Age
+ BitcoinsNorway BTCEUR 2959.2800 3021.0500 2.0% 36 nan nan
+ Bitfinex BTCEUR 3087.9000 3088.0000 0.0% 36 37 nan
+ Bitmynt BTCEUR 3001.8700 3135.4600 4.3% 36 52 nan
+ Bitpay BTCEUR 3003.8659 nan nan% 35 nan nan
+ Bitstamp BTCEUR 3008.0000 3010.2300 0.1% 0 1 1
+ Bl3p BTCEUR 3000.6700 3010.9300 0.3% 1 nan nan
+ Coinbase BTCEUR 2992.1800 3023.2500 1.0% 34 nan nan
+ Kraken+BTCEUR 3005.7000 3006.6000 0.0% 0 1 0
+ Paymium BTCEUR 2940.0100 2993.4400 1.8% 0 2688 nan
+ BitcoinsNorway BTCNOK 29000.0000 29360.7400 1.2% 36 nan nan
+ Bitmynt BTCNOK 29115.6400 29720.7500 2.0% 36 52 nan
+ Bitpay BTCNOK 29029.2512 nan nan% 36 nan nan
+ Coinbase BTCNOK 28927.6000 29218.5900 1.0% 35 nan nan
+ MiraiEx BTCNOK 29097.7000 29741.4200 2.2% 36 nan nan
+ BitcoinsNorway BTCUSD 3385.4200 3456.0900 2.0% 36 nan nan
+ Bitfinex BTCUSD 3538.5000 3538.6000 0.0% 36 45 nan
+ Bitpay BTCUSD 3443.4600 nan nan% 34 nan nan
+ Bitstamp BTCUSD 3443.0100 3445.0500 0.1% 0 2 1
+ Coinbase BTCUSD 3428.1600 3462.6300 1.0% 33 nan nan
+ Gemini BTCUSD 3445.8800 3445.8900 0.0% 36 326 nan
+ Hitbtc BTCUSD 3473.4700 3473.0700 -0.0% 0 0 0
+ Kraken+BTCUSD 3444.4000 3445.6000 0.0% 0 1 0
+ Exchangerates EURNOK 9.6685 9.6685 0.0% 36 22226 nan
+ Norgesbank EURNOK 9.6685 9.6685 0.0% 36 22226 nan
+ Bitstamp EURUSD 1.1440 1.1462 0.2% 0 1 2
+ Exchangerates EURUSD 1.1471 1.1471 0.0% 36 22226 nan
+ BitcoinsNorway LTCEUR 1.0009 22.6538 95.6% 35 nan nan
+ BitcoinsNorway LTCNOK 259.0900 264.9300 2.2% 35 nan nan
+ BitcoinsNorway LTCUSD 0.0000 29.0000 100.0% 35 nan nan
+ Norgesbank USDNOK 8.4286 8.4286 0.0% 36 22226 nan
+</pre></blockquote></p>
+
+<p>Yes, I notice the strange negative spread on Hitbtc. I've seen the
+same on Kraken. Another strange observation is that Kraken some times
+announce trade orders a fraction of a second in the future. I really
+wonder what is going on there.</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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Debian_now_got_everything_you_need_to_program_Micro_bit.html">Debian now got everything you need to program Micro:bit</a>
+ </div>
+ <div class="date">
+ 22nd January 2019
+ </div>
+ <div class="body">
+ <p>I am amazed and very pleased to discover that since a few days ago,
+everything you need to program the <a href="https://microbit.org/">BBC
+micro:bit</a> is available from the Debian archive. All this is
+thanks to the hard work of Nick Morrott and the Debian python
+packaging team. The micro:bit project recommend the mu-editor to
+program the microcomputer, as this editor will take care of all the
+machinery required to injekt/flash micropython alongside the program
+into the micro:bit, as long as the pieces are available.</p>
+
+<p>There are three main pieces involved. The first to enter Debian
+was
+<a href="https://tracker.debian.org/pkg/python-uflash">python-uflash</a>,
+which was accepted into the archive 2019-01-12. The next one was
+<a href="https://tracker.debian.org/pkg/mu-editor">mu-editor</a>, which
+showed up 2019-01-13. The final and hardest part to to into the
+archive was
+<a href="https://tracker.debian.org/pkg/firmware-microbit-micropython">firmware-microbit-micropython</a>,
+which needed to get its build system and dependencies into Debian
+before it was accepted 2019-01-20. The last one is already in Debian
+Unstable and should enter Debian Testing / Buster in three days. This
+all allow any user of the micro:bit to get going by simply running
+'apt install mu-editor' when using Testing or Unstable, and once
+Buster is released as stable, all the users of Debian stable will be
+catered for.</p>
+
+<p>As a minor final touch, I added rules to
+<a href="https://tracker.debian.org/pkg/isenkram">the isenkram
+package</a> for recognizing micro:bit and recommend the mu-editor
+package. This make sure any user of the isenkram desktop daemon will
+get a popup suggesting to install mu-editor then the USB cable from
+the micro:bit is inserted for the first time.</p>
+
+<p>This should make it easier to have fun.</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>
+
+ </div>
+ <div class="tags">
+
+
+ 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/robot">robot</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/CasparCG_Server_for_TV_broadcast_playout_in_Debian.html">CasparCG Server for TV broadcast playout in Debian</a>
+ </div>
+ <div class="date">
+ 15th January 2019
+ </div>
+ <div class="body">
+ <p>The layered video playout server created by Sveriges Television,
+<a href="https://casparcg.com/">CasparCG Server</a>, entered Debian
+today. This completes many months of work to get the source ready to
+go into Debian. The first upload to the Debian NEW queue happened a
+month ago, but the work upstream to prepare it for Debian started more
+than two and a half month ago. So far
+<a href="https://tracker.debian.org/pkg/casparcg-server">the
+casparcg-server package</a> is only available for amd64, but I hope
+this can be improved. The package is in contrib because it depend on
+the <a href="https://tracker.debian.org/pkg/fdk-aac">non-free fdk-aac
+library</a>. The Debian package lack support for streaming web pages
+because Debian is missing CEF, Chromium Embedded Framework. CEF is
+wanted by several packages in Debian. But because the Chromium source
+is <a href="https://bugs.debian.org/893448">not available as a build
+dependency</a>, it is not yet possible to upload CEF to Debian. I
+hope this will change in the future.</p>
+
+<p>The reason I got involved is that
+<a href="https://frikanalen.no/">the Norwegian open channel
+Frikanalen</a> is starting to use CasparCG for our HD playout, and I
+would like to have all the free software tools we use to run the TV
+channel available as packages from the Debian project. The last
+remaining piece in the puzzle is Open Broadcast Encoder, but it depend
+on quite a lot of patched libraries which would have to be included in
+Debian first.</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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Learn_to_program_with_Minetest_on_Debian.html">Learn to program with Minetest on Debian</a>
+ </div>
+ <div class="date">
+ 15th December 2018
+ </div>
+ <div class="body">
+ <p>A fun way to learn how to program
+<a href="https://www.python.org/">Python</a> is to follow the
+instructions in the book
+"<a href="https://nostarch.com/programwithminecraft">Learn to program
+with Minecraft</a>", which introduces programming in Python to people
+who like to play with Minecraft. The book uses a Python library to
+talk to a TCP/IP socket with an API accepting build instructions and
+providing information about the current players in a Minecraft world.
+The TCP/IP API was first created for the Minecraft implementation for
+Raspberry Pi, and has since been ported to some server versions of
+Minecraft. The book contain recipes for those using Windows, MacOSX
+and Raspian. But a little known fact is that you can follow the same
+recipes using the free software construction game
+<a href="https://minetest.net/">Minetest</a>.</p>
+
+<p>There is <a href="https://github.com/sprintingkiwi/pycraft_mod">a
+Minetest module implementing the same API</a>, making it possible to
+use the Python programs coded to talk to Minecraft with Minetest too.
+I
+<a href="https://ftp-master.debian.org/new/minetest-mod-pycraft_0.20%2Bgit20180331.0376a0a%2Bdfsg-1.html">uploaded
+this module</a> to Debian two weeks ago, and as soon as it clears the
+FTP masters NEW queue, learning to program Python with Minetest on
+Debian will be a simple 'apt install' away. The Debian package is
+maintained as part of the Debian Games team, and
+<a href="https://salsa.debian.org/games-team/unfinished/minetest-mod-pycraft">the
+packaging rules</a> are currently located under 'unfinished' on
+Salsa.</p>
+
+<p>You will most likely need to install several of the Minetest
+modules in Debian for the examples included with the library to work
+well, as there are several blocks used by the example scripts that are
+provided via modules in Minetest. Without the required blocks, a
+simple stone block is used instead. My initial testing with a analog
+clock did not get gold arms as instructed in the python library, but
+instead used stone arms.</p>
+
+<p>I tried to find a way to add the API to the desktop version of
+Minecraft, but were unable to find any working recipes. The
+<a href="https://www.epiphanydigest.com/tag/minecraft-python-api/">recipes</a>
+I <a href="https://github.com/kbsriram/mcpiapi">found</a> are only
+working with a standalone Minecraft server setup. Are there any
+options to use with the normal desktop version?</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>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Non_blocking_bittorrent_plugin_for_vlc.html">Non-blocking bittorrent plugin for vlc</a>
+ </div>
+ <div class="date">
+ 12th December 2018
+ </div>
+ <div class="body">
+ <p>A few hours ago, a new and improved version (2.4) of
+<a href="https://tracker.debian.org/pkg/vlc-plugin-bittorrent">the VLC
+bittorrent plugin</a> was uploaded to Debian. This new version
+include a complete rewrite of the bittorrent related code, which seem
+to make the plugin non-blocking. This mean you can actually exit VLC
+even when the plugin seem to be unable to get the bittorrent streaming
+started. The new version also include support for filtering playlist
+by file extension using command line options, if you want to avoid
+processing audio, video or images. The package is currently in Debian
+unstable, but should be available in Debian testing in two days. To
+test it, simply install it like this:</p>
+
+<p><pre>
+apt install vlc-plugin-bittorrent
+</pre></p>
+
+<p>After it is installed, you can try to use it to play a file
+downloaded live via bittorrent like this:
+
+<p><pre>
+vlc https://archive.org/download/Glass_201703/Glass_201703_archive.torrent
+</pre></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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Why_is_your_site_not_using_Content_Security_Policy___CSP_.html">Why is your site not using Content Security Policy / CSP?</a>
+ </div>
+ <div class="date">
+ 9th December 2018
+ </div>
+ <div class="body">
+ <p>Yesterday, I had the pleasure of watching on Frikanalen the OWASP
+talk by Scott Helme titled
+"<a href="https://frikanalen.no/video/626080/">What We’ve Learned From
+Billions of Security Reports</a>". I had not heard of the
+<a href="https://en.wikipedia.org/wiki/Content_Security_Policy">Content
+Security Policy standard</a> nor its ability to "call home" when a
+browser detect a policy breach (I do not follow web page design
+development much these days), and found the talk very illuminating.</p>
+
+<p>The mechanism allow a web site owner to use HTTP headers to tell
+visitors web browser which sources (internal and external) are allowed to
+be used on the web site. Thus it become possible to enforce a "only
+local content" policy despite web designers urge to fetch programs
+from random sites on the Internet, like the one
+<a href="https://securityaffairs.co/wordpress/68966/hacking/browsealoud-plugin-hack.html">enabling
+the attack</a> reported by Scott Helme earlier this year.</p>
+
+<p>Using CSP seem like an obvious thing for a site admin to implement
+to take some control over the information leak that occur when
+external sources are used to render web pages, it is a mystery more
+sites are not using CSP? It is being
+<a href="https://www.w3.org/TR/CSP/">standardized under W3C</a> these
+days, and is supposed by most web browsers</p>
+
+<p>I managed to find <a href="https://github.com/mozilla/django-csp">a
+Django middleware for implementing CSP</a> and was happy to discover
+it was already in Debian. I plan to use it to add CSP support to the
+Frikanalen web site soon.</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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/New_and_improved_Frikanalen_Kodi_addon_version_0_0_3.html">New and improved Frikanalen Kodi addon version 0.0.3</a>
+ </div>
+ <div class="date">
+ 8th November 2018
+ </div>
+ <div class="body">
+ <p>If you read my blog regularly, you probably know I am involved in
+running and developing the <a href="https://frikanalen.no/">Norwegian
+TV channel Frikanalen</a>. It is an open channel, allowing everyone
+in Norway to publish videos on a TV channel with national coverage.
+You can think of it as Youtube for national television.
+In addition to distribution on RiksTV and Uninett, Frikanalen is also
+available as a Kodi addon. The last few days I have updated the code
+to add more features. A
+<a href="https://kodi.tv/addon/plugins-video-add-ons/frikanalen-nett-tv">new
+and improved version 0.0.3 Frikanalen addon</a> was just made
+available via the Kodi repositories. This new version include a
+option to browse videos by category, as well as free text search
+in the video archive. It will now also show the video duration in the
+video lists, which were missing earlier. A new and experimental
+link to the HD video stream currently being worked on is provided, for
+those that want to see what the <a href="https://casparcg.com/">CasparCG</a>
+output look like. The alternative is the SD video stream, generated
+using MLT. CasparCG is controlled by our
+<a href="https://github.com/Frikanalen/mltplayout/">mltplayout
+server</a> which instead of talking to mlt is giving PLAY instructions
+to the CasparCG server when it is time to start a new program.</p>
+
+<p>By now, you are probably wondering what kind of content is being
+played on the channel. These days, it is filled with technical
+presentations like those from <a href="https://www.nuug.no/">NUUG</a>,
+<a href="https://www.debconf.org/">Debconf</a>, Makercon, and TED,
+but there are also some periods with
+<a href="https://www.empo.no/">EMPT TV</a> and
+<a href="https://www.p7.no/">P7</a>.
+
+<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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html">Time for an official MIME type for patches?</a>
+ </div>
+ <div class="date">
+ 1st November 2018
+ </div>
+ <div class="body">
+ <p>As part of my involvement in
+<a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core">the Nikita
+archive API project</a>, I've been importing a fairly large lump of
+emails into a test instance of the archive to see how well this would
+go. I picked a subset of <a href="https://notmuchmail.org/">my
+notmuch email database</a>, all public emails sent to me via
+@lists.debian.org, giving me a set of around 216 000 emails to import.
+In the process, I had a look at the various attachments included in
+these emails, to figure out what to do with attachments, and noticed
+that one of the most common attachment formats do not have
+<a href="https://www.iana.org/assignments/media-types/media-types.xhtml">an
+official MIME type</a> registered with IANA/IETF. The output from
+diff, ie the input for patch, is on the top 10 list of formats
+included in these emails. At the moment people seem to use either
+text/x-patch or text/x-diff, but neither is officially registered. It
+would be better if one official MIME type were registered and used
+everywhere.</p>
+
+<p>To try to get one official MIME type for these files, I've brought
+up the topic on
+<a href="https://www.ietf.org/mailman/listinfo/media-types">the
+media-types mailing list</a>. If you are interested in discussion
+which MIME type to use as the official for patch files, or involved in
+making software using a MIME type for patches, perhaps you would like
+to join the discussion?</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>
+
+ </div>
+ <div class="tags">
+
+
+ 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/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Measuring_the_speaker_frequency_response_using_the_AUDMES_free_software_GUI___nice_free_software.html">Measuring the speaker frequency response using the AUDMES free software GUI - nice free software</a>
+ </div>
+ <div class="date">
+ 22nd October 2018
+ </div>
+ <div class="body">
+ <p><img src="http://people.skolelinux.org/pere/blog/images/2018-10-22-audmes-measure-speakers.png" align="right" width="40%"/></p>
+
+<p>My current home stereo is a patchwork of various pieces I got on
+flee markeds over the years. It is amazing what kind of equipment
+show up there. I've been wondering for a while if it was possible to
+measure how well this equipment is working together, and decided to
+see how far I could get using free software. After trawling the web I
+came across an article from DIY Audio and Video on
+<a href="https://www.diyaudioandvideo.com/Tutorial/SpeakerResponseTesting/">Speaker
+Testing and Analysis</a> describing how to test speakers, and it listing
+several software options, among them
+<a href="https://sourceforge.net/projects/audmes/">AUDio MEasurement
+System (AUDMES)</a>. It is the only free software system I could find
+focusing on measuring speakers and audio frequency response. In the
+process I also found an interesting article from NOVO on
+<a href="http://novo.press/understanding-speaker-specifications-and-frequency-response/">Understanding
+Speaker Specifications and Frequency Response</a> and an article from
+ecoustics on
+<a href="https://www.ecoustics.com/articles/understanding-speaker-frequency-response/">Understanding
+Speaker Frequency Response</a>, with a lot of information on what to
+look for and how to interpret the graphs. Armed with this knowledge,
+I set out to measure the state of my speakers.</p>
+
+<p>The first hurdle was that AUDMES hadn't seen a commit for 10 years
+and did not build with current compilers and libraries. I got in
+touch with its author, who no longer was spending time on the program
+but gave me write access to the subversion repository on Sourceforge.
+The end result is that now the code build on Linux and is capable of
+saving and loading the collected frequency response data in CSV
+format. The application is quite nice and flexible, and I was able to
+select the input and output audio interfaces independently. This made
+it possible to use a USB mixer as the input source, while sending
+output via my laptop headphone connection. I lacked the hardware and
+cabling to figure out a different way to get independent cabling to
+speakers and microphone.</p>
+
+<p>Using this setup I could see how a large range of high frequencies
+apparently were not making it out of my speakers. The picture show
+the frequency response measurement of one of the speakers. Note the
+frequency lines seem to be slightly misaligned, compared to the CSV
+output from the program. I can not hear several of these are high
+frequencies, according to measurement from
+<a href="http://freehearingtestsoftware.com">Free Hearing Test
+Software</a>, an freeware system to measure your hearing (still
+looking for a free software alternative), so I do not know if they are
+coming out out the speakers. I thus do not quite know how to figure
+out if the missing frequencies is a problem with the microphone, the
+amplifier or the speakers, but I managed to rule out the audio card in my
+PC by measuring my Bose noise canceling headset using its own
+microphone. This setup was able to see the high frequency tones, so
+the problem with my stereo had to be in the amplifier or speakers.</p>
+
+<p>Anyway, to try to role out one factor I ended up picking up a new
+set of speakers at a flee marked, and these work a lot better than the
+old speakers, so I guess the microphone and amplifier is OK. If you
+need to measure your own speakers, check out AUDMES. If more people
+get involved, perhaps the project could become good enough to
+<a href="https://bugs.debian.org/910876">include in Debian</a>? And if
+you know of some other free software to measure speakers and amplifier
+performance, please let me know. I am aware of the freeware option
+<a href="https://www.roomeqwizard.com/">REW</a>, but I want something
+that can be developed also when the vendor looses interest.</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>
+
+ </div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Web_browser_integration_of_VLC_with_Bittorrent_support.html">Web browser integration of VLC with Bittorrent support</a>
+ </div>
+ <div class="date">
+ 21st October 2018
+ </div>
+ <div class="body">
+ <p>Bittorrent is as far as I know, currently the most efficient way to
+distribute content on the Internet. It is used all by all sorts of
+content providers, from national TV stations like
+<a href="https://www.nrk.no/">NRK</a>, Linux distributors like
+<a href="https://www.debian.org/">Debian</a> and
+<a href="https://www.ubuntu.com/">Ubuntu</a>, and of course the
+<a href="https://archive.org/">Internet archive</A>.
+
+<p>Almost a month ago
+<a href="https://tracker.debian.org/pkg/vlc-plugin-bittorrent">a new
+package adding Bittorrent support to VLC</a> became available in
+Debian testing and unstable. To test it, simply install it like
+this:</p>
+
+<p><pre>
+apt install vlc-plugin-bittorrent
+</pre></p>
+
+<p>Since the plugin was made available for the first time in Debian,
+several improvements have been made to it. In version 2.2-4, now
+available in both testing and unstable, a desktop file is provided to
+teach browsers to start VLC when the user click on torrent files or
+magnet links. The last part is thanks to me finally understanding
+what the strange x-scheme-handler style MIME types in desktop files
+are used for. By adding x-scheme-handler/magnet to the MimeType entry
+in the desktop file, at least the browsers Firefox and Chromium will
+suggest to start VLC when selecting a magnet URI on a web page. The
+end result is that now, with the plugin installed in Buster and Sid,
+one can visit any
+<a href="https://archive.org/details/CopyingIsNotTheft1080p">Internet
+Archive page with movies</a> using a web browser and click on the
+torrent link to start streaming the movie.</p>
+
+<p>Note, there is still some misfeatures in the plugin. One is the
+fact that it will hang and
+<a href="https://github.com/johang/vlc-bittorrent/issues/13">block VLC
+from exiting until the torrent streaming starts</a>. Another is the
+fact that it
+<a href="https://github.com/johang/vlc-bittorrent/issues/9">will pick
+and play a random file in a multi file torrent</a>. This is not
+always the video file you want. Combined with the first it can be a
+bit hard to get the video streaming going. But when it work, it seem
+to do a good job.</p>
+
+<p>For the Debian packaging, I would love to find a good way to test
+if the plugin work with VLC using autopkgtest. I tried, but do not
+know enough of the inner workings of VLC to get it working. For now
+the autopkgtest script is only checking if the .so file was
+successfully loaded by VLC. If you have any suggestions, please
+submit a patch to the Debian bug tracking system.</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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+