]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.rss
Add link to CasparCG too.
[homepage.git] / blog / index.rss
index ae2847a8ad1a99f38a607f9cf1bf884e71000fec..cfcefdc156c1fd31a645adf2f430596b6da71039 100644 (file)
@@ -7,55 +7,35 @@
                 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
        
        <item>
-               <title>First rough draft Norwegian and Spanish edition of the book Made with Creative Commons</title>
-               <link>http://people.skolelinux.org/pere/blog/First_rough_draft_Norwegian_and_Spanish_edition_of_the_book_Made_with_Creative_Commons.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_rough_draft_Norwegian_and_Spanish_edition_of_the_book_Made_with_Creative_Commons.html</guid>
-                <pubDate>Tue, 13 Mar 2018 13:00:00 +0100</pubDate>
-               <description>&lt;p&gt;I am working on publishing yet another book related to Creative
-Commons.  This time it is a book filled with interviews and histories
-from those around the globe making a living using Creative
-Commons.&lt;/p&gt;
-
-&lt;p&gt;Yesterday, after many months of hard work by several volunteer
-translators, the first draft of a Norwegian Bokmål edition of the book
-&lt;a href=&quot;https://madewith.cc&quot;&gt;Made with Creative Commons from 2017&lt;/a&gt;
-was complete.  The Spanish translation is also complete, while the
-Dutch, Polish, German and Ukraine edition need a lot of work.  Get in
-touch if you want to help make those happen, or would like to
-translate into your mother tongue.&lt;/p&gt;
-
-&lt;p&gt;The whole book project started when
-&lt;a href=&quot;http://gwolf.org/node/4102&quot;&gt;Gunnar Wolf announced&lt;/a&gt; that he
-was going to make a Spanish edition of the book.  I noticed, and
-offered some input on how to make a book, based on my experience with
-translating the
-&lt;a href=&quot;https://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Free
-Culture&lt;/a&gt; and
-&lt;a href=&quot;https://debian-handbook.info/get/#norwegian&quot;&gt;The Debian
-Administrator&#39;s Handbook&lt;/a&gt; books to Norwegian Bokmål.  To make a
-long story short, we ended up working on a Bokmål edition, and now the
-first rough translation is complete, thanks to the hard work of
-Ole-Erik Yrvin, Ingrid Yrvin, Allan Nordhøy and myself.  The first
-proof reading is almost done, and only the second and third proof
-reading remains.  We will also need to translate the 14 figures and
-create a book cover.  Once it is done we will publish the book on
-paper, as well as in PDF, ePub and possibly Mobi formats.&lt;/p&gt;
-
-&lt;p&gt;The book itself originates as a manuscript on Google Docs, is
-downloaded as ODT from there and converted to Markdown using pandoc.
-The Markdown in modified by a script before is converted to DocBook
-using pandoc.  The DocBook is modified again using a script before it
-is used to create a Gettext POT file for translators.  The translated
-PO file is then combined with the earlier mentioned DocBook file to
-create a translated DocBook file, which finally is given to dblatex to
-create the final PDF.  The end result is a set of editions of the
-manuscript, one English and one for each of the translations.&lt;/p&gt;
-
-&lt;p&gt;The translation is conducted using
-&lt;a href=&quot;https://hosted.weblate.org/projects/madewithcc/translation/&quot;&gt;the
-Weblate web based translation system&lt;/a&gt;.  Please have a look there
-and get in touch if you would like to help out with proof
-reading. :)&lt;/p&gt;
+               <title>Time for an official MIME type for patches?</title>
+               <link>http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html</guid>
+                <pubDate>Thu, 1 Nov 2018 08:15:00 +0100</pubDate>
+               <description>&lt;p&gt;As part of my involvement in
+&lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core&quot;&gt;the Nikita
+archive API project&lt;/a&gt;, I&#39;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 &lt;a href=&quot;https://notmuchmail.org/&quot;&gt;my
+notmuch email database&lt;/a&gt;, 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
+&lt;a href=&quot;https://www.iana.org/assignments/media-types/media-types.xhtml&quot;&gt;an
+official MIME type&lt;/a&gt; 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.&lt;/p&gt;
+
+&lt;p&gt;To try to get one official MIME type for these files, I&#39;ve brought
+up the topic on
+&lt;a href=&quot;https://www.ietf.org/mailman/listinfo/media-types&quot;&gt;the
+media-types mailing list&lt;/a&gt;.  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?&lt;/p&gt;
 
 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
 activities, please send Bitcoin donations to my address
@@ -64,47 +44,72 @@ activities, please send Bitcoin donations to my address
        </item>
        
        <item>
-               <title>Debian used in the subway info screens in Oslo, Norway</title>
-               <link>http://people.skolelinux.org/pere/blog/Debian_used_in_the_subway_info_screens_in_Oslo__Norway.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_used_in_the_subway_info_screens_in_Oslo__Norway.html</guid>
-                <pubDate>Fri, 2 Mar 2018 13:10:00 +0100</pubDate>
-               <description>&lt;p&gt;Today I was pleasantly surprised to discover my operating system of
-choice, Debian, was used in the info screens on the subway stations.
-While passing Nydalen subway station in Oslo, Norway, I discovered the
-info screen booting with some text scrolling.  I was not quick enough
-with my camera to be able to record a video of the scrolling boot
-screen, but I did get a photo from when the boot got stuck with a
-corrupt file system:
-
-&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2018-03-02-ruter-debian-lenny.jpeg&quot;&gt;&lt;img align=&quot;center&quot; width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2018-03-02-ruter-debian-lenny.jpeg&quot; alt=&quot;[photo of subway info screen]&quot;&gt;&lt;/a&gt;&lt;/p&gt;
-
-&lt;p&gt;While I am happy to see Debian used more places, some details of the
-content on the screen worries me.&lt;/p&gt;
-
-&lt;p&gt;The image show the version booting is &#39;Debian GNU/Linux lenny/sid&#39;,
-indicating that this is based on code taken from Debian Unstable/Sid
-after Debian Etch (version 4) was released 2007-04-08 and before
-Debian Lenny (version 5) was released 2009-02-14.  Since Lenny Debian
-has released version 6 (Squeeze) 2011-02-06, 7 (Wheezy) 2013-05-04, 8
-(Jessie) 2015-04-25 and 9 (Stretch) 2017-06-15, according to
-&lt;a href=&quot;https://en.wikipedia.org/wiki/Debian_version_history&quot;&gt;a Debian
-version history on Wikpedia&lt;/a&gt;.  This mean the system is running
-around 10 year old code, with no security fixes from the vendor for
-many years.&lt;/p&gt;
-
-&lt;p&gt;This is not the first time I discover the Oslo subway company,
-Ruter, running outdated software.  In 2012,
-&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html&quot;&gt;I
-discovered the ticket vending machines were running Windows 2000&lt;/a&gt;,
-and this was
-&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html&quot;&gt;still
-the case in 2016&lt;/a&gt;.  Given the response from the responsible people
-in 2016, I would assume the machines are still running unpatched
-Windows 2000.  Thus, an unpatched Debian setup come as no surprise.&lt;/p&gt;
-
-&lt;p&gt;The photo is made available under the license terms
-&lt;a href=&quot;http://creativecommons.org/licenses/by/4.0/&quot;&gt;Creative Commons
-4.0 Attribution International (CC BY 4.0)&lt;/a&gt;.&lt;/p&gt;
+               <title>Measuring the speaker frequency response using the AUDMES free software GUI - nice free software</title>
+               <link>http://people.skolelinux.org/pere/blog/Measuring_the_speaker_frequency_response_using_the_AUDMES_free_software_GUI___nice_free_software.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Measuring_the_speaker_frequency_response_using_the_AUDMES_free_software_GUI___nice_free_software.html</guid>
+                <pubDate>Mon, 22 Oct 2018 08:40:00 +0200</pubDate>
+               <description>&lt;p&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2018-10-22-audmes-measure-speakers.png&quot; align=&quot;right&quot; width=&quot;40%&quot;/&gt;&lt;/p&gt;
+
+&lt;p&gt;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&#39;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
+&lt;a href=&quot;https://www.diyaudioandvideo.com/Tutorial/SpeakerResponseTesting/&quot;&gt;Speaker
+Testing and Analysis&lt;/a&gt; describing how to test speakers, and it listing
+several software options, among them
+&lt;a href=&quot;https://sourceforge.net/projects/audmes/&quot;&gt;AUDio MEasurement
+System (AUDMES)&lt;/a&gt;.  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
+&lt;a href=&quot;http://novo.press/understanding-speaker-specifications-and-frequency-response/&quot;&gt;Understanding
+Speaker Specifications and Frequency Response&lt;/a&gt; and an article from
+ecoustics on
+&lt;a href=&quot;https://www.ecoustics.com/articles/understanding-speaker-frequency-response/&quot;&gt;Understanding
+Speaker Frequency Response&lt;/a&gt;, 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.&lt;/p&gt;
+
+&lt;p&gt;The first hurdle was that AUDMES hadn&#39;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.&lt;/p&gt;
+
+&lt;p&gt;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
+&lt;a href=&quot;http://freehearingtestsoftware.com&quot;&gt;Free Hearing Test
+Software&lt;/a&gt;, 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.&lt;/p&gt;
+
+&lt;p&gt;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
+&lt;a href=&quot;https://bugs.debian.org/910876&quot;&gt;include in Debian&lt;/a&gt;?  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
+&lt;a href=&quot;https://www.roomeqwizard.com/&quot;&gt;REW&lt;/a&gt;, but I want something
+that can be developed also when the vendor looses interest.&lt;/p&gt;
 
 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
 activities, please send Bitcoin donations to my address
@@ -113,32 +118,60 @@ activities, please send Bitcoin donations to my address
        </item>
        
        <item>
-               <title>The SysVinit upstream project just migrated to git</title>
-               <link>http://people.skolelinux.org/pere/blog/The_SysVinit_upstream_project_just_migrated_to_git.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_SysVinit_upstream_project_just_migrated_to_git.html</guid>
-                <pubDate>Sun, 18 Feb 2018 09:20:00 +0100</pubDate>
-               <description>&lt;p&gt;Surprising as it might sound, there are still computers using the
-traditional Sys V init system, and there probably will be until
-systemd start working on Hurd and FreeBSD.
-&lt;a href=&quot;https://savannah.nongnu.org/projects/sysvinit&quot;&gt;The upstream
-project still exist&lt;/a&gt;, though, and up until today, the upstream
-source was available from Savannah via subversion.  I am happy to
-report that this just changed.&lt;/p&gt;
-
-&lt;p&gt;The upstream source is now in Git, and consist of three
-repositories:&lt;/p&gt;
+               <title>Web browser integration of VLC with Bittorrent support</title>
+               <link>http://people.skolelinux.org/pere/blog/Web_browser_integration_of_VLC_with_Bittorrent_support.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Web_browser_integration_of_VLC_with_Bittorrent_support.html</guid>
+                <pubDate>Sun, 21 Oct 2018 09:50:00 +0200</pubDate>
+               <description>&lt;p&gt;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
+&lt;a href=&quot;https://www.nrk.no/&quot;&gt;NRK&lt;/a&gt;, Linux distributors like
+&lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; and
+&lt;a href=&quot;https://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt;, and of course the
+&lt;a href=&quot;https://archive.org/&quot;&gt;Internet archive&lt;/A&gt;.
+
+&lt;p&gt;Almost a month ago
+&lt;a href=&quot;https://tracker.debian.org/pkg/vlc-plugin-bittorrent&quot;&gt;a new
+package adding Bittorrent support to VLC&lt;/a&gt; became available in
+Debian testing and unstable.  To test it, simply install it like
+this:&lt;/p&gt;
 
-&lt;ul&gt;
-
-&lt;li&gt;&lt;a href=&quot;http://git.savannah.nongnu.org/cgit/sysvinit.git&quot;&gt;sysvinit&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href=&quot;http://git.savannah.nongnu.org/cgit/sysvinit/insserv.git&quot;&gt;insserv&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href=&quot;http://git.savannah.nongnu.org/cgit/sysvinit/startpar.git&quot;&gt;startpar&lt;/a&gt;&lt;/li&gt;
-
-&lt;/ul&gt;
+&lt;p&gt;&lt;pre&gt;
+apt install vlc-plugin-bittorrent
+&lt;/pre&gt;&lt;/p&gt;
 
-&lt;p&gt;I do not really spend much time on the project these days, and I
-has mostly retired, but found it best to migrate the source to a good
-version control system to help those willing to move it forward.&lt;/p&gt;
+&lt;p&gt;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
+&lt;a href=&quot;https://archive.org/details/CopyingIsNotTheft1080p&quot;&gt;Internet
+Archive page with movies&lt;/a&gt; using a web browser and click on the
+torrent link to start streaming the movie.&lt;/p&gt;
+
+&lt;p&gt;Note, there is still some misfeatures in the plugin.  One is the
+fact that it will hang and
+&lt;a href=&quot;https://github.com/johang/vlc-bittorrent/issues/13&quot;&gt;block VLC
+from exiting until the torrent streaming starts&lt;/a&gt;.  Another is the
+fact that it
+&lt;a href=&quot;https://github.com/johang/vlc-bittorrent/issues/9&quot;&gt;will pick
+and play a random file in a multi file torrent&lt;/a&gt;.  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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
 
 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
 activities, please send Bitcoin donations to my address
@@ -147,72 +180,73 @@ activities, please send Bitcoin donations to my address
        </item>
        
        <item>
-               <title>Using VLC to stream bittorrent sources</title>
-               <link>http://people.skolelinux.org/pere/blog/Using_VLC_to_stream_bittorrent_sources.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_VLC_to_stream_bittorrent_sources.html</guid>
-                <pubDate>Wed, 14 Feb 2018 08:00:00 +0100</pubDate>
-               <description>&lt;p&gt;A few days ago, a new major version of
-&lt;a href=&quot;https://www.videolan.org/&quot;&gt;VLC&lt;/a&gt; was announced, and I
-decided to check out if it now supported streaming over
-&lt;a href=&quot;http://bittorrent.org/&quot;&gt;bittorrent&lt;/a&gt; and
-&lt;a href=&quot;https://webtorrent.io&quot;&gt;webtorrent&lt;/a&gt;.  Bittorrent is one of
-the most efficient ways to distribute large files on the Internet, and
-Webtorrent is a variant of Bittorrent using
-&lt;a href=&quot;https://webrtc.org&quot;&gt;WebRTC&lt;/a&gt; as its transport channel,
-allowing web pages to stream and share files using the same technique.
-The network protocols are similar but not identical, so a client
-supporting one of them can not talk to a client supporting the other.
-I was a bit surprised with what I discovered when I started to look.
-Looking at
-&lt;a href=&quot;https://www.videolan.org/vlc/releases/3.0.0.html&quot;&gt;the release
-notes&lt;/a&gt; did not help answering this question, so I started searching
-the web.  I found several news articles from 2013, most of them
-tracing the news from Torrentfreak
-(&quot;&lt;a href=https://torrentfreak.com/open-source-giant-vlc-mulls-bittorrent-support-130211/&quot;&gt;Open
-Source Giant VLC Mulls BitTorrent Streaming Support&lt;/a&gt;&quot;), about a
-initiative to pay someone to create a VLC patch for bittorrent
-support.  To figure out what happend with this initiative, I headed
-over to the #videolan IRC channel and asked if there were some bug or
-feature request tickets tracking such feature.  I got an answer from
-lead developer Jean-Babtiste Kempf, telling me that there was a patch
-but neither he nor anyone else knew where it was.  So I searched a bit
-more, and came across an independent
-&lt;a href=&quot;https://github.com/johang/vlc-bittorrent&quot;&gt;VLC plugin to add
-bittorrent support&lt;/a&gt;, created by Johan Gunnarsson in 2016/2017.
-Again according to Jean-Babtiste, this is not the patch he was talking
-about.&lt;/p&gt;
-
-&lt;p&gt;Anyway, to test the plugin, I made a working Debian package from
-the git repository, with some modifications.  After installing this
-package, I could stream videos from
-&lt;a href=&quot;https://www.archive.org/&quot;&gt;The Internet Archive&lt;/a&gt; using VLC
-commands like this:&lt;/p&gt;
+               <title>Release 0.2 of free software archive system Nikita announced</title>
+               <link>http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html</guid>
+                <pubDate>Thu, 18 Oct 2018 14:40:00 +0200</pubDate>
+               <description>&lt;p&gt;This morning, the new release of the
+&lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core/&quot;&gt;Nikita
+Noark 5 core project&lt;/a&gt; was
+&lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html&quot;&gt;announced
+on the project mailing list&lt;/a&gt;.  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.2
+since version 0.1.1 (from NEWS.md):
 
-&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
-vlc https://archive.org/download/LoveNest/LoveNest_archive.torrent
-&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+&lt;ul&gt;
+  &lt;li&gt;Fix typos in REL names&lt;/li&gt;
+  &lt;li&gt;Tidy up error message reporting&lt;/li&gt;
+  &lt;li&gt;Fix issue where we used Integer.valueOf(), not Integer.getInteger()&lt;/li&gt;
+  &lt;li&gt;Change some String handling to StringBuffer&lt;/li&gt;
+  &lt;li&gt;Fix error reporting&lt;/li&gt;
+  &lt;li&gt;Code tidy-up&lt;/li&gt;
+  &lt;li&gt;Fix issue using static non-synchronized SimpleDateFormat to avoid 
+      race conditions&lt;/li&gt;
+  &lt;li&gt;Fix problem where deserialisers were treating integers as strings&lt;/li&gt;
+  &lt;li&gt;Update methods to make them null-safe&lt;/li&gt;
+  &lt;li&gt;Fix many issues reported by coverity&lt;/li&gt;
+  &lt;li&gt;Improve equals(), compareTo() and hash() in domain model&lt;/li&gt;
+  &lt;li&gt;Improvements to the domain model for metadata classes&lt;/li&gt;
+  &lt;li&gt;Fix CORS issues when downloading document&lt;/li&gt;
+  &lt;li&gt;Implementation of case-handling with registryEntry and document upload&lt;/li&gt;
+  &lt;li&gt;Better support in Javascript for OPTIONS&lt;/li&gt;
+  &lt;li&gt;Adding concept description of mail integration&lt;/li&gt;
+  &lt;li&gt;Improve setting of default values for GET on ny-journalpost&lt;/li&gt;
+  &lt;li&gt;Better handling of required values during deserialisation &lt;/li&gt;
+  &lt;li&gt;Changed tilknyttetDato (M620) from date to dateTime&lt;/li&gt;
+  &lt;li&gt;Corrected some opprettetDato (M600) (de)serialisation errors.&lt;/li&gt;
+  &lt;li&gt;Improve parse error reporting.&lt;/li&gt;
+  &lt;li&gt;Started on OData search and filtering.&lt;/li&gt;
+  &lt;li&gt;Added Contributor Covenant Code of Conduct to project.&lt;/li&gt;
+  &lt;li&gt;Moved repository and project from Github to Gitlab.&lt;/li&gt;
+  &lt;li&gt;Restructured repository, moved code into src/ and web/.&lt;/li&gt;
+  &lt;li&gt;Updated code to use Spring Boot version 2.&lt;/li&gt;
+  &lt;li&gt;Added support for OAuth2 authentication.&lt;/li&gt;
+  &lt;li&gt;Fixed several bugs discovered by Coverity.&lt;/li&gt;
+  &lt;li&gt;Corrected handling of date/datetime fields.&lt;/li&gt;
+  &lt;li&gt;Improved error reporting when rejecting during deserializatoin.&lt;/li&gt;
+  &lt;li&gt;Adjusted default values provided for ny-arkivdel, ny-mappe,
+   ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.&lt;/li&gt;
+  &lt;li&gt;Several fixes for korrespondansepart*.&lt;/li&gt;
+  &lt;li&gt;Updated web GUI:
+     &lt;ul&gt;
+       &lt;li&gt;Now handle both file upload and download.&lt;/li&gt;
+       &lt;li&gt;Uses new OAuth2 authentication for login.&lt;/li&gt;
+       &lt;li&gt;Forms now fetches default values from API using GET.&lt;/li&gt;
+       &lt;li&gt;Added RFC 822 (email), TIFF and JPEG to list of possible file formats.&lt;/li&gt;
+     &lt;/ul&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;The changes and improvements are extensive.  Running diffstat on
+the changes between git tab 0.1.1 and 0.2 show 1098 files changed,
+108666 insertions(+), 54066 deletions(-).&lt;/p&gt;
 
-&lt;p&gt;The plugin is supposed to handle magnet links too, but since The
-Internet Archive do not have magnet links and I did not want to spend
-time tracking down another source, I have not tested it.  It can take
-quite a while before the video start playing without any indication of
-what is going on from VLC.  It took 10-20 seconds when I measured it.
-Some times the plugin seem unable to find the correct video file to
-play, and show the metadata XML file name in the VLC status line.  I
-have no idea why.&lt;/p&gt;
-
-&lt;p&gt;I have created a &lt;a href=&quot;https://bugs.debian.org/890360&quot;&gt;request for
-a new package in Debian (RFP)&lt;/a&gt; and
-&lt;a href=&quot;https://github.com/johang/vlc-bittorrent/issues/1&quot;&gt;asked if
-the upstream author is willing to help make this happen&lt;/a&gt;.  Now we
-wait to see what come out of this.  I do not want to maintain a
-package that is not maintained upstream, nor do I really have time to
-maintain more packages myself, so I might leave it at this.  But I
-really hope someone step up to do the packaging, and hope upstream is
-still maintaining the source.  If you want to help, please update the
-RFP request or the upstream issue.&lt;/p&gt;
-
-&lt;p&gt;I have not found any traces of webtorrent support for VLC.&lt;/p&gt;
+&lt;p&gt;If free and open standardized archiving API sound interesting to
+you, please contact us on IRC
+(&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&gt;#nikita on
+irc.freenode.net&lt;/a&gt;) or email
+(&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
+mailing list&lt;/a&gt;).&lt;/p&gt;
 
 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
 activities, please send Bitcoin donations to my address
@@ -221,25 +255,104 @@ activities, please send Bitcoin donations to my address
        </item>
        
        <item>
-               <title>Version 3.1 of Cura, the 3D print slicer, is now in Debian</title>
-               <link>http://people.skolelinux.org/pere/blog/Version_3_1_of_Cura__the_3D_print_slicer__is_now_in_Debian.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Version_3_1_of_Cura__the_3D_print_slicer__is_now_in_Debian.html</guid>
-                <pubDate>Tue, 13 Feb 2018 06:20:00 +0100</pubDate>
-               <description>&lt;p&gt;A new version of the
-&lt;a href=&quot;https://tracker.debian.org/pkg/cura&quot;&gt;3D printer slicer
-software Cura&lt;/a&gt;, version 3.1.0, is now available in Debian Testing
-(aka Buster) and Debian Unstable (aka Sid).  I hope you find it
-useful.  It was uploaded the last few days, and the last update will
-enter testing tomorrow.  See the
-&lt;a href=&quot;https://ultimaker.com/en/products/cura-software/release-notes&quot;&gt;release
-notes&lt;/a&gt; for the list of bug fixes and new features.  Version 3.2
-was announced 6 days ago.  We will try to get it into Debian as
-well.&lt;/p&gt;
-
-&lt;p&gt;More information related to 3D printing is available on the
-&lt;a href=&quot;https://wiki.debian.org/3DPrinting&quot;&gt;3D printing&lt;/a&gt; and
-&lt;a href=&quot;https://wiki.debian.org/3D-printer&quot;&gt;3D printer&lt;/a&gt; wiki pages
-in Debian.&lt;/p&gt;
+               <title>Fetching trusted timestamps using the rfc3161ng python module</title>
+               <link>http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html</guid>
+                <pubDate>Mon, 8 Oct 2018 12:30:00 +0200</pubDate>
+               <description>&lt;p&gt;I have  earlier covered the basics of trusted timestamping using the
+&#39;openssl ts&#39; client.  See blog post for
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html&quot;&gt;2014&lt;/a&gt;,
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html&quot;&gt;2016&lt;/a&gt;
+and
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html&quot;&gt;2017&lt;/a&gt;
+for those stories.  But some times I want to integrate the timestamping
+in other code, and recently I needed to integrate it into Python.
+After searching a bit, I found
+&lt;a href=&quot;https://dev.entrouvert.org/projects/python-rfc3161&quot;&gt;the
+rfc3161 library&lt;/a&gt; which seemed like a good fit, but I soon
+discovered it only worked for python version 2, and I needed something
+that work with python version 3.  Luckily I next came across
+&lt;a href=&quot;https://github.com/trbs/rfc3161ng/&quot;&gt;the rfc3161ng library&lt;/a&gt;,
+a fork of the original rfc3161 library.  Not only is it working with
+python 3, it have fixed a few of the bugs in the original library, and
+it has an active maintainer.  I decided to wrap it up and make it
+&lt;a href=&quot;https://tracker.debian.org/pkg/python-rfc3161ng&quot;&gt;available in
+Debian&lt;/a&gt;, and a few days ago it entered Debian unstable and testing.&lt;/p&gt;
+
+&lt;p&gt;Using the library is fairly straight forward.  The only slightly
+problematic step is to fetch the required certificates to verify the
+timestamp.  For some services it is straight forward, while for others
+I have not yet figured out how to do it.  Here is a small standalone
+code example based on of the integration tests in the library code:&lt;/p&gt;
+
+&lt;pre&gt;
+#!/usr/bin/python3
+
+&quot;&quot;&quot;
+
+Python 3 script demonstrating how to use the rfc3161ng module to
+get trusted timestamps.
+
+The license of this code is the same as the license of the rfc3161ng
+library, ie MIT/BSD.
+
+&quot;&quot;&quot;
+
+import os
+import pyasn1.codec.der
+import rfc3161ng
+import subprocess
+import tempfile
+import urllib.request
+
+def store(f, data):
+    f.write(data)
+    f.flush()
+    f.seek(0)
+
+def fetch(url, f=None):
+    response = urllib.request.urlopen(url)
+    data = response.read()
+    if f:
+        store(f, data)
+    return data
+
+def main():
+    with tempfile.NamedTemporaryFile() as cert_f,\
+        tempfile.NamedTemporaryFile() as ca_f,\
+        tempfile.NamedTemporaryFile() as msg_f,\
+        tempfile.NamedTemporaryFile() as tsr_f:
+
+        # First fetch certificates used by service
+        certificate_data = fetch(&#39;https://freetsa.org/files/tsa.crt&#39;, cert_f)
+        ca_data_data = fetch(&#39;https://freetsa.org/files/cacert.pem&#39;, ca_f)
+
+        # Then timestamp the message
+        timestamper = \
+            rfc3161ng.RemoteTimestamper(&#39;http://freetsa.org/tsr&#39;,
+                                        certificate=certificate_data)
+        data = b&quot;Python forever!\n&quot;
+        tsr = timestamper(data=data, return_tsr=True)
+
+        # Finally, convert message and response to something &#39;openssl ts&#39; can verify
+        store(msg_f, data)
+        store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
+        args = [&quot;openssl&quot;, &quot;ts&quot;, &quot;-verify&quot;,
+                &quot;-data&quot;, msg_f.name,
+               &quot;-in&quot;, tsr_f.name,
+               &quot;-CAfile&quot;, ca_f.name,
+                &quot;-untrusted&quot;, cert_f.name]
+        subprocess.check_call(args)
+
+if &#39;__main__&#39; == __name__:
+   main()
+&lt;/pre&gt;
+
+&lt;p&gt;The code fetches the required certificates, store them as temporary
+files, timestamp a simple message, store the message and timestamp to
+disk and ask &#39;openssl ts&#39; to verify the timestamp.  A timestamp is
+around 1.5 kiB in size, and should be fairly easy to store for future
+use.&lt;/p&gt;
 
 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
 activities, please send Bitcoin donations to my address
@@ -248,135 +361,217 @@ activities, please send Bitcoin donations to my address
        </item>
        
        <item>
-               <title>Overvåkning i Kina vs. Norge</title>
-               <link>http://people.skolelinux.org/pere/blog/Overv_kning_i_Kina_vs__Norge.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Overv_kning_i_Kina_vs__Norge.html</guid>
-                <pubDate>Mon, 12 Feb 2018 09:40:00 +0100</pubDate>
-               <description>&lt;p&gt;Jeg lar meg fascinere av en artikkel
-&lt;a href=&quot;https://www.dagbladet.no/kultur/terroristene-star-pa-dora/69436116&quot;&gt;i
-Dagbladet om Kinas håndtering av Xinjiang&lt;/a&gt;, spesielt følgende
-utsnitt:&lt;/p&gt;
-
-&lt;p&gt;&lt;blockquote&gt;
-
-&lt;p&gt;«I den sørvestlige byen Kashgar nærmere grensa til
-Sentral-Asia meldes det nå at 120.000 uigurer er internert i såkalte
-omskoleringsleirer. Samtidig er det innført et omfattende
-helsesjekk-program med innsamling og lagring av DNA-prøver fra
-absolutt alle innbyggerne. De mest avanserte overvåkingsmetodene
-testes ut her. Programmer for å gjenkjenne ansikter og stemmer er på
-plass i regionen. Der har de lokale myndighetene begynt å installere
-GPS-systemer i alle kjøretøy og egne sporingsapper i
-mobiltelefoner.&lt;/p&gt;
-
-&lt;p&gt;Politimetodene griper så dypt inn i folks dagligliv at motstanden
-mot Beijing-regimet øker.»&lt;/p&gt;
-
-&lt;/blockquote&gt;&lt;/p&gt;
-
-&lt;p&gt;Beskrivelsen avviker jo desverre ikke så veldig mye fra tilstanden
-her i Norge.&lt;/p&gt;
-
-&lt;table&gt;
-&lt;tr&gt;
-&lt;th&gt;Dataregistrering&lt;/th&gt;
-&lt;th&gt;Kina&lt;/th&gt;
-&lt;th&gt;Norge&lt;/th&gt;
-
-&lt;tr&gt;
-&lt;td&gt;Innsamling og lagring av DNA-prøver fra befolkningen&lt;/td&gt;
-&lt;td&gt;Ja&lt;/td&gt;
-&lt;td&gt;Delvis, planlagt for alle nyfødte.&lt;/td&gt;
-&lt;/tr&gt;
-
-&lt;tr&gt;
-&lt;td&gt;Ansiktsgjenkjenning&lt;/td&gt;
-&lt;td&gt;Ja&lt;/td&gt;
-&lt;td&gt;Ja&lt;/td&gt;
-&lt;/tr&gt;
-
-&lt;tr&gt;
-&lt;td&gt;Stemmegjenkjenning&lt;/td&gt;
-&lt;td&gt;Ja&lt;/td&gt;
-&lt;td&gt;Nei&lt;/td&gt;
-&lt;/tr&gt;
-
-&lt;tr&gt;
-&lt;td&gt;Posisjons-sporing av mobiltelefoner&lt;/td&gt;
-&lt;td&gt;Ja&lt;/td&gt;
-&lt;td&gt;Ja&lt;/td&gt;
-&lt;/tr&gt;
-
-&lt;tr&gt;
-&lt;td&gt;Posisjons-sporing av biler&lt;/td&gt;
-&lt;td&gt;Ja&lt;/td&gt;
-&lt;td&gt;Ja&lt;/td&gt;
-&lt;/tr&gt;
-
-&lt;/table&gt;
-
-&lt;p&gt;I Norge har jo situasjonen rundt Folkehelseinstituttets lagring av
-DNA-informasjon på vegne av politiet, der de nektet å slette
-informasjon politiet ikke hadde lov til å ta vare på, gjort det klart
-at DNA tar vare på ganske lenge.  I tillegg finnes det utallige
-biobanker som lagres til evig tid, og det er planer om å innføre
-&lt;a href=&quot;https://www.aftenposten.no/norge/i/75E9/4-av-10-mener-staten-bor-lagre-DNA-profiler-pa-alle-nyfodte&quot;&gt;evig
-lagring av DNA-materiale fra alle spebarn som fødes&lt;/a&gt; (med mulighet
-for å be om sletting).&lt;/p&gt;
-
-&lt;p&gt;I Norge er det system på plass for ansiktsgjenkjenning, som
-&lt;a href=&quot;https://www.nrk.no/norge/kun-gardermoen-har-teknologi-for-ansiktsgjenkjenning-i-norge-1.12719461&quot;&gt;en
-NRK-artikkel fra 2015&lt;/a&gt; forteller er aktiv på Gardermoen, samt
-&lt;a href=&quot;https://www.dagbladet.no/nyheter/inntil-27-000-bor-i-norge-under-falsk-id/60500781&quot;&gt;brukes
-til å analysere bilder innsamlet av myndighetene&lt;/a&gt;.  Brukes det også
-flere plasser?  Det er tett med overvåkningskamera kontrollert av
-politi og andre myndigheter i for eksempel Oslo sentrum.&lt;/p&gt;
-
-&lt;p&gt;Jeg er ikke kjent med at Norge har noe system for identifisering av
-personer ved hjelp av stemmegjenkjenning.&lt;/p&gt;
-
-&lt;p&gt;Posisjons-sporing av mobiltelefoner er ruinemessig tilgjengelig for
-blant annet politi, NAV og Finanstilsynet, i tråd med krav i
-telefonselskapenes konsesjon.  I tillegg rapporterer smarttelefoner
-sin posisjon til utviklerne av utallige mobil-apper, der myndigheter
-og andre kan hente ut informasjon ved behov.  Det er intet behov for
-noen egen app for dette.&lt;/p&gt;
-
-&lt;p&gt;Posisjons-sporing av biler er rutinemessig tilgjengelig via et tett
-nett av målepunkter på veiene (automatiske bomstasjoner,
-køfribrikke-registrering, automatiske fartsmålere og andre veikamera).
-Det er i tillegg vedtatt at alle nye biler skal selges med utstyr for
-GPS-sporing (eCall).&lt;/p&gt;
-
-&lt;p&gt;Det er jammen godt vi lever i et liberalt demokrati, og ikke en
-overvåkningsstat, eller?&lt;/p&gt;
-
-&lt;p&gt;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
+               <title>Automatic Google Drive sync using grive in Debian</title>
+               <link>http://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html</guid>
+                <pubDate>Thu, 4 Oct 2018 15:20:00 +0200</pubDate>
+               <description>&lt;p&gt;A few days, I rescued a Windows victim over to Debian.  To try to
+rescue the remains, I helped set up automatic sync with Google Drive.
+I did not find any sensible Debian package handling this
+automatically, so I rebuild the grive2 source from
+&lt;a href=&quot;http://www.webupd8.org/&quot;&gt;the Ubuntu UPD8 PPA&lt;/a&gt; to do the
+task and added a autostart desktop entry and a small shell script to
+run in the background while the user is logged in to do the sync.
+Here is a sketch of the setup for future reference.&lt;/p&gt;
+
+&lt;p&gt;I first created &lt;tt&gt;~/googledrive&lt;/tt&gt;, entered the directory and
+ran &#39;&lt;tt&gt;grive -a&lt;/tt&gt;&#39; to authenticate the machine/user.  Next, I
+created a autostart hook in &lt;tt&gt;~/.config/autostart/grive.desktop&lt;/tt&gt;
+to start the sync when the user log in:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+[Desktop Entry]
+Name=Google drive autosync
+Type=Application
+Exec=/home/user/bin/grive-sync
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;Finally, I wrote the &lt;tt&gt;~/bin/grive-sync&lt;/tt&gt; script to sync
+~/googledrive/ with the files in Google Drive.&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+#!/bin/sh
+set -e
+cd ~/
+cleanup() {
+    if [ &quot;$syncpid&quot; ] ; then
+        kill $syncpid
+    fi
+}
+trap cleanup EXIT INT QUIT
+/usr/lib/grive/grive-sync.sh listen googledrive 2&gt;&amp;1 | sed &quot;s%^%$0:%&quot; &amp;
+syncpdi=$!
+while true; do
+    if ! xhost &gt;/dev/null 2&gt;&amp;1 ; then
+        echo &quot;no DISPLAY, exiting as the user probably logged out&quot;
+        exit 1
+    fi
+    if [ ! -e /run/user/1000/grive-sync.sh_googledrive ] ; then
+        /usr/lib/grive/grive-sync.sh sync googledrive
+    fi
+    sleep 300
+done 2&gt;&amp;1 | sed &quot;s%^%$0:%&quot;
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;Feel free to use the setup if you want.  It can be assumed to be
+GNU GPL v2 licensed (or any later version, at your leisure), but I
+doubt this code is possible to claim copyright on.&lt;/p&gt;
+
+&lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
 </description>
        </item>
        
        <item>
-               <title>How hard can æ, ø and å be?</title>
-               <link>http://people.skolelinux.org/pere/blog/How_hard_can______and___be_.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_hard_can______and___be_.html</guid>
-                <pubDate>Sun, 11 Feb 2018 17:10:00 +0100</pubDate>
-               <description>&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2018-02-11-peppes-unicode.jpeg&quot; align=&quot;right&quot;/&gt;
+               <title>Valutakrambod - A python and bitcoin love story</title>
+               <link>http://people.skolelinux.org/pere/blog/Valutakrambod___A_python_and_bitcoin_love_story.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Valutakrambod___A_python_and_bitcoin_love_story.html</guid>
+                <pubDate>Sat, 29 Sep 2018 22:20:00 +0200</pubDate>
+               <description>&lt;p&gt;It would come as no surprise to anyone that I am interested in
+bitcoins and virtual currencies.  I&#39;ve been keeping an eye on virtual
+currencies for many years, and it is part of the reason a few months
+ago, I started writing a python library for collecting currency
+exchange rates and trade on virtual currency exchanges.  I decided to
+name the end result valutakrambod, which perhaps can be translated to
+small currency shop.&lt;/p&gt;
+
+&lt;p&gt;The library uses the tornado python library to handle HTTP and
+websocket connections, and provide a asynchronous system for
+connecting to and tracking several services.  The code is available
+from
+&lt;a href=&quot;http://github.com/petterreinholdtsen/valutakrambod&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
+
+&lt;/p&gt;There are two example clients of the library.  One is very simple and
+list every updated buy/sell price received from the various services.
+This code is started by running bin/btc-rates and call the client code
+in valutakrambod/client.py.  The simple client look like this:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+import functools
+import tornado.ioloop
+import valutakrambod
+class SimpleClient(object):
+    def __init__(self):
+        self.services = []
+        self.streams = []
+        pass
+    def newdata(self, service, pair, changed):
+        print(&quot;%-15s %s-%s: %8.3f %8.3f&quot; % (
+            service.servicename(),
+            pair[0],
+            pair[1],
+            service.rates[pair][&#39;ask&#39;],
+            service.rates[pair][&#39;bid&#39;])
+        )
+    async def refresh(self, service):
+        await service.fetchRates(service.wantedpairs)
+    def run(self):
+        self.ioloop = tornado.ioloop.IOLoop.current()
+        self.services = valutakrambod.service.knownServices()
+        for e in self.services:
+            service = e()
+            service.subscribe(self.newdata)
+            stream = service.websocket()
+            if stream:
+                self.streams.append(stream)
+            else:
+                # Fetch information from non-streaming services immediately
+                self.ioloop.call_later(len(self.services),
+                                       functools.partial(self.refresh, service))
+                # as well as regularly
+                service.periodicUpdate(60)
+        for stream in self.streams:
+            stream.connect()
+        try:
+            self.ioloop.start()
+        except KeyboardInterrupt:
+            print(&quot;Interrupted by keyboard, closing all connections.&quot;)
+            pass
+        for stream in self.streams:
+            stream.close()
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
 
-&lt;p&gt;We write 2018, and it is 30 years since Unicode was introduced.
-Most of us in Norway have come to expect the use of our alphabet to
-just work with any computer system.  But it is apparently beyond reach
-of the computers printing recites at a restaurant.  Recently I visited
-a Peppes pizza resturant, and noticed a few details on the recite.
-Notice how &#39;ø&#39; and &#39;å&#39; are replaced with strange symbols in
-&#39;Servitør&#39;, &#39;Å BETALE&#39;, &#39;Beløp pr. gjest&#39;, &#39;Takk for besøket.&#39; and &#39;Vi
-gleder oss til å se deg igjen&#39;.&lt;/p&gt;
+&lt;p&gt;The library client loops over all known &quot;public&quot; services,
+initialises it, subscribes to any updates from the service, checks and
+activates websocket streaming if the service provide it, and if no
+streaming is supported, fetches information from the service and sets
+up a periodic update every 60 seconds.  The output from this client
+can look like this:&lt;/p&gt;
 
-&lt;p&gt;I would say that this state is passed sad and over in embarrassing.&lt;/p&gt;
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+Bl3p            BTC-EUR: 5687.110 5653.690
+Bl3p            BTC-EUR: 5687.110 5653.690
+Bl3p            BTC-EUR: 5687.110 5653.690
+Hitbtc          BTC-USD: 6594.560 6593.690
+Hitbtc          BTC-USD: 6594.560 6593.690
+Bl3p            BTC-EUR: 5687.110 5653.690
+Hitbtc          BTC-USD: 6594.570 6593.690
+Bitstamp        EUR-USD:    1.159    1.154
+Hitbtc          BTC-USD: 6594.570 6593.690
+Hitbtc          BTC-USD: 6594.580 6593.690
+Hitbtc          BTC-USD: 6594.580 6593.690
+Hitbtc          BTC-USD: 6594.580 6593.690
+Bl3p            BTC-EUR: 5687.110 5653.690
+Paymium         BTC-EUR: 5680.000 5620.240
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;The exchange order book is tracked in addition to the best buy/sell
+price, for those that need to know the details.&lt;/p&gt;
+
+&lt;p&gt;The other example client is focusing on providing a curses view
+with updated buy/sell prices as soon as they are received from the
+services.  This code is located in bin/btc-rates-curses and activated
+by using the &#39;-c&#39; argument.  Without the argument the &quot;curses&quot; output
+is printed without using curses, which is useful for debugging.  The
+curses view look like this:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+           Name Pair   Bid         Ask         Spr    Ftcd    Age
+ BitcoinsNorway BTCEUR   5591.8400   5711.0800   2.1%   16    nan     60
+       Bitfinex BTCEUR   5671.0000   5671.2000   0.0%   16     22     59
+        Bitmynt BTCEUR   5580.8000   5807.5200   3.9%   16     41     60
+         Bitpay BTCEUR   5663.2700         nan   nan%   15    nan     60
+       Bitstamp BTCEUR   5664.8400   5676.5300   0.2%    0      1      1
+           Bl3p BTCEUR   5653.6900   5684.9400   0.5%    0    nan     19
+       Coinbase BTCEUR   5600.8200   5714.9000   2.0%   15    nan    nan
+         Kraken BTCEUR   5670.1000   5670.2000   0.0%   14     17     60
+        Paymium BTCEUR   5620.0600   5680.0000   1.1%    1   7515    nan
+ BitcoinsNorway BTCNOK  52898.9700  54034.6100   2.1%   16    nan     60
+        Bitmynt BTCNOK  52960.3200  54031.1900   2.0%   16     41     60
+         Bitpay BTCNOK  53477.7833         nan   nan%   16    nan     60
+       Coinbase BTCNOK  52990.3500  54063.0600   2.0%   15    nan    nan
+        MiraiEx BTCNOK  52856.5300  54100.6000   2.3%   16    nan    nan
+ BitcoinsNorway BTCUSD   6495.5300   6631.5400   2.1%   16    nan     60
+       Bitfinex BTCUSD   6590.6000   6590.7000   0.0%   16     23     57
+         Bitpay BTCUSD   6564.1300         nan   nan%   15    nan     60
+       Bitstamp BTCUSD   6561.1400   6565.6200   0.1%    0      2      1
+       Coinbase BTCUSD   6504.0600   6635.9700   2.0%   14    nan    117
+         Gemini BTCUSD   6567.1300   6573.0700   0.1%   16     89    nan
+         Hitbtc+BTCUSD   6592.6200   6594.2100   0.0%    0      0      0
+         Kraken BTCUSD   6565.2000   6570.9000   0.1%   15     17     58
+  Exchangerates EURNOK      9.4665      9.4665   0.0%   16 107789    nan
+     Norgesbank EURNOK      9.4665      9.4665   0.0%   16 107789    nan
+       Bitstamp EURUSD      1.1537      1.1593   0.5%    4      5      1
+  Exchangerates EURUSD      1.1576      1.1576   0.0%   16 107789    nan
+ BitcoinsNorway LTCEUR      1.0000     49.0000  98.0%   16    nan    nan
+ BitcoinsNorway LTCNOK    492.4800    503.7500   2.2%   16    nan     60
+ BitcoinsNorway LTCUSD      1.0221     49.0000  97.9%   15    nan    nan
+     Norgesbank USDNOK      8.1777      8.1777   0.0%   16 107789    nan
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
 
-&lt;p&gt;I removed personal and private information to be nice.&lt;/p&gt;
+&lt;p&gt;The code for this client is too complex for a simple blog post, so
+you will have to check out the git repository to figure out how it
+work.  What I can tell is how the three last numbers on each line
+should be interpreted.  The first is how many seconds ago information
+was received from the service.  The second is how long ago, according
+to the service, the provided information was updated.  The last is an
+estimate on how often the buy/sell values change.&lt;/p&gt;
+
+&lt;p&gt;If you find this library useful, or would like to improve it, I
+would love to hear from you.  Note that for some of the services I&#39;ve
+implemented a trading API.  It might be the topic of a future blog
+post.&lt;/p&gt;
 
 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
 activities, please send Bitcoin donations to my address
@@ -385,74 +580,40 @@ activities, please send Bitcoin donations to my address
        </item>
        
        <item>
-               <title>Legal to share more than 11,000 movies listed on IMDB?</title>
-               <link>http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_11_000_movies_listed_on_IMDB_.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_11_000_movies_listed_on_IMDB_.html</guid>
-                <pubDate>Sun, 7 Jan 2018 23:30:00 +0100</pubDate>
-               <description>&lt;p&gt;I&#39;ve continued to track down list of movies that are legal to
-distribute on the Internet, and identified more than 11,000 title IDs
-in The Internet Movie Database (IMDB) so far.  Most of them (57%) are
-feature films from USA published before 1923.  I&#39;ve also tracked down
-more than 24,000 movies I have not yet been able to map to IMDB title
-ID, so the real number could be a lot higher.  According to the front
-web page for &lt;a href=&quot;https://retrofilmvault.com/&quot;&gt;Retro Film
-Vault&lt;/A&gt;, there are 44,000 public domain films, so I guess there are
-still some left to identify.&lt;/p&gt;
-
-&lt;p&gt;The complete data set is available from
-&lt;a href=&quot;https://github.com/petterreinholdtsen/public-domain-free-imdb&quot;&gt;a
-public git repository&lt;/a&gt;, including the scripts used to create it.
-Most of the data is collected using web scraping, for example from the
-&quot;product catalog&quot; of companies selling copies of public domain movies,
-but any source I find believable is used.  I&#39;ve so far had to throw
-out three sources because I did not trust the public domain status of
-the movies listed.&lt;/p&gt;
-
-&lt;p&gt;Anyway, this is the summary of the 28 collected data sources so
-far:&lt;/p&gt;
+               <title>VLC in Debian now can do bittorrent streaming</title>
+               <link>http://people.skolelinux.org/pere/blog/VLC_in_Debian_now_can_do_bittorrent_streaming.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/VLC_in_Debian_now_can_do_bittorrent_streaming.html</guid>
+                <pubDate>Mon, 24 Sep 2018 21:20:00 +0200</pubDate>
+               <description>&lt;p&gt;Back in February, I got curious to see
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Using_VLC_to_stream_bittorrent_sources.html&quot;&gt;if
+VLC now supported Bittorrent streaming&lt;/a&gt;.  It did not, despite the
+fact that the idea and code to handle such streaming had been floating
+around for years.  I did however find
+&lt;a href=&quot;https://github.com/johang/vlc-bittorrent&quot;&gt;a standalone plugin
+for VLC&lt;/a&gt; to do it, and half a year later I decided to wrap up the
+plugin and get it into Debian.  I uploaded it to NEW a few days ago,
+and am very happy to report that it
+&lt;a href=&quot;https://tracker.debian.org/pkg/vlc-plugin-bittorrent&quot;&gt;entered
+Debian&lt;/a&gt; a few hours ago, and should be available in Debian/Unstable
+tomorrow, and Debian/Testing in a few days.&lt;/p&gt;
+
+&lt;p&gt;With the vlc-plugin-bittorrent package installed you should be able
+to stream videos using a simple call to&lt;/p&gt;
 
-&lt;p&gt;&lt;pre&gt;
- 2352 entries (   66 unique) with and 15983 without IMDB title ID in free-movies-archive-org-search.json
- 2302 entries (  120 unique) with and     0 without IMDB title ID in free-movies-archive-org-wikidata.json
-  195 entries (   63 unique) with and   200 without IMDB title ID in free-movies-cinemovies.json
-   89 entries (   52 unique) with and    38 without IMDB title ID in free-movies-creative-commons.json
-  344 entries (   28 unique) with and   655 without IMDB title ID in free-movies-fesfilm.json
-  668 entries (  209 unique) with and  1064 without IMDB title ID in free-movies-filmchest-com.json
-  830 entries (   21 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
- 6822 entries ( 6669 unique) with and     0 without IMDB title ID in free-movies-imdb-c-expired-us.json
-  137 entries (    0 unique) with and     0 without IMDB title ID in free-movies-imdb-externlist.json
- 1205 entries (   57 unique) with and     0 without IMDB title ID in free-movies-imdb-pd.json
-   84 entries (   20 unique) with and   167 without IMDB title ID in free-movies-infodigi-pd.json
-  158 entries (  135 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 (  100 unique) with and     0 without IMDB title ID in free-movies-letterboxd-silent.json
-  229 entries (   87 unique) with and     1 without IMDB title ID in free-movies-manual.json
-   44 entries (    2 unique) with and    64 without IMDB title ID in free-movies-openflix.json
-  291 entries (   33 unique) with and   474 without IMDB title ID in free-movies-profilms-pd.json
-  211 entries (    7 unique) with and     0 without IMDB title ID in free-movies-publicdomainmovies-info.json
- 1232 entries (   57 unique) with and  1875 without IMDB title ID in free-movies-publicdomainmovies-net.json
-   46 entries (   13 unique) with and    81 without IMDB title ID in free-movies-publicdomainreview.json
-  698 entries (   64 unique) with and   118 without IMDB title ID in free-movies-publicdomaintorrents.json
- 1758 entries (  882 unique) with and  3786 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
-   63 entries (   16 unique) with and   141 without IMDB title ID in free-movies-vodo.json
-11583 unique IMDB title IDs in total, 8724 only in one list, 24647 without IMDB title ID
-&lt;/pre&gt;&lt;/p&gt;
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+vlc https://archive.org/download/TheGoat/TheGoat_archive.torrent
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
 
-&lt;p&gt; I keep finding more data sources.  I found the cinemovies source
-just a few days ago, and as you can see from the summary, it extended
-my list with 63 movies.  Check out the mklist-* scripts in the git
-repository if you are curious how the lists are created.  Many of the
-titles are extracted using searches on IMDB, where I look for the
-title and year, and accept search results with only one movie listed
-if the year matches.  This allow me to automatically use many lists of
-movies without IMDB title ID references at the cost of increasing the
-risk of wrongly identify a IMDB title ID as public domain.  So far my
-random manual checks have indicated that the method is solid, but I
-really wish all lists of public domain movies would include unique
-movie identifier like the IMDB title ID.  It would make the job of
-counting movies in the public domain a lot easier.&lt;/p&gt;
+&lt;/p&gt;It can handle magnet links too.  Now if only native vlc had
+bittorrent support.  Then a lot more would be helping each other to
+share public domain and creative commons movies.  The plugin need some
+stability work with seeking and picking the right file in a torrent
+with many files, but is already usable.  Please note that the plugin
+is not removing downloaded files when vlc is stopped, so it can fill
+up your disk if you are not careful.  Have fun. :)&lt;/p&gt;
+
+&lt;p&gt;I would love to get help maintaining this package.  Get in touch if
+you are interested.&lt;/p&gt;
 
 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
 activities, please send Bitcoin donations to my address
@@ -461,437 +622,46 @@ activities, please send Bitcoin donations to my address
        </item>
        
        <item>
-               <title>Kommentarer til «Evaluation of (il)legality» for Popcorn Time</title>
-               <link>http://people.skolelinux.org/pere/blog/Kommentarer_til__Evaluation_of__il_legality__for_Popcorn_Time.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Kommentarer_til__Evaluation_of__il_legality__for_Popcorn_Time.html</guid>
-                <pubDate>Wed, 20 Dec 2017 11:40:00 +0100</pubDate>
-               <description>&lt;p&gt;I går var jeg i Follo tingrett som sakkyndig vitne og presenterte
-  mine undersøkelser rundt
-  &lt;a href=&quot;https://github.com/petterreinholdtsen/public-domain-free-imdb&quot;&gt;telling
-    av filmverk i det fri&lt;/a&gt;, relatert til
-  &lt;a href=&quot;https://www.nuug.no/&quot;&gt;foreningen NUUG&lt;/a&gt;s involvering i
-  &lt;a href=&quot;https://www.nuug.no/news/tags/dns-domenebeslag/&quot;&gt;saken om
-  Økokrims beslag og senere inndragning av DNS-domenet
-  popcorn-time.no&lt;/a&gt;.  Jeg snakket om flere ting, men mest om min
-  vurdering av hvordan filmbransjen har målt hvor ulovlig Popcorn Time
-  er.  Filmbransjens måling er så vidt jeg kan se videreformidlet uten
-  endringer av norsk politi, og domstolene har lagt målingen til grunn
-  når de har vurdert Popcorn Time både i Norge og i utlandet (tallet
-  99% er referert også i utenlandske domsavgjørelser).&lt;/p&gt;
-
-&lt;p&gt;I forkant av mitt vitnemål skrev jeg et notat, mest til meg selv,
-  med de punktene jeg ønsket å få frem.  Her er en kopi av notatet jeg
-  skrev og ga til aktoratet.  Merkelig nok ville ikke dommerene ha
-  notatet, så hvis jeg forsto rettsprosessen riktig ble kun
-  histogram-grafen lagt inn i dokumentasjonen i saken.  Dommerne var
-  visst bare interessert i å forholde seg til det jeg sa i retten,
-  ikke det jeg hadde skrevet i forkant.  Uansett så antar jeg at flere
-  enn meg kan ha glede av teksten, og publiserer den derfor her.
-  Legger ved avskrift av dokument 09,13, som er det sentrale
-  dokumentet jeg kommenterer.&lt;/p&gt;
-
-&lt;p&gt;&lt;strong&gt;Kommentarer til «Evaluation of (il)legality» for Popcorn
-  Time&lt;/strong&gt;&lt;/p&gt;
-
-&lt;p&gt;&lt;strong&gt;Oppsummering&lt;/strong&gt;&lt;/p&gt;           
-
-&lt;p&gt;Målemetoden som Økokrim har lagt til grunn når de påstår at 99% av
-  filmene tilgjengelig fra Popcorn Time deles ulovlig har
-  svakheter.&lt;/p&gt;
-
-&lt;p&gt;De eller den som har vurdert hvorvidt filmer kan lovlig deles har
-  ikke lyktes med å identifisere filmer som kan deles lovlig og har
-  tilsynelatende antatt at kun veldig gamle filmer kan deles lovlig.
-  Økokrim legger til grunn at det bare finnes èn film, Charlie
-  Chaplin-filmen «The Circus» fra 1928, som kan deles fritt blant de
-  som ble observert tilgjengelig via ulike Popcorn Time-varianter.
-  Jeg finner tre flere blant de observerte filmene: «The Brain That
-  Wouldn&#39;t Die» fra 1962, «God’s Little Acre» fra 1958 og «She Wore a
-  Yellow Ribbon» fra 1949.  Det er godt mulig det finnes flere.  Det
-  finnes dermed minst fire ganger så mange filmer som lovlig kan deles
-  på Internett i datasettet Økokrim har lagt til grunn når det påstås
-  at mindre enn 1 % kan deles lovlig.&lt;/p&gt;
-
-&lt;p&gt;Dernest, utplukket som gjøres ved søk på tilfeldige ord hentet fra
-  ordlisten til Dale-Chall avviker fra årsfordelingen til de brukte
-  filmkatalogene som helhet, hvilket påvirker fordelingen mellom
-  filmer som kan lovlig deles og filmer som ikke kan lovlig deles.  I
-  tillegg gir valg av øvre del (de fem første) av søkeresultatene et
-  avvik fra riktig årsfordeling, hvilket påvirker fordelingen av verk
-  i det fri i søkeresultatet.&lt;/p&gt;
-
-&lt;p&gt;Det som måles er ikke (u)lovligheten knyttet til bruken av Popcorn
-  Time, men (u)lovligheten til innholdet i bittorrent-filmkataloger
-  som vedlikeholdes uavhengig av Popcorn Time.&lt;/p&gt;
-
-&lt;p&gt;Omtalte dokumenter: 09,12, &lt;a href=&quot;#dok-09-13&quot;&gt;09,13&lt;/a&gt;, 09,14,
-09,18, 09,19, 09,20.&lt;/p&gt;
-
-&lt;p&gt;&lt;strong&gt;Utfyllende kommentarer&lt;/strong&gt;&lt;/p&gt;
-
-&lt;p&gt;Økokrim har forklart domstolene at minst 99% av alt som er
-  tilgjengelig fra ulike Popcorn Time-varianter deles ulovlig på
-  Internet.  Jeg ble nysgjerrig på hvordan de er kommet frem til dette
-  tallet, og dette notatet er en samling kommentarer rundt målingen
-  Økokrim henviser til.  Litt av bakgrunnen for at jeg valgte å se på
-  saken er at jeg er interessert i å identifisere og telle hvor mange
-  kunstneriske verk som er falt i det fri eller av andre grunner kan
-  lovlig deles på Internett, og dermed var interessert i hvordan en
-  hadde funnet den ene prosenten som kanskje deles lovlig.&lt;/p&gt;
-
-&lt;p&gt;Andelen på 99% kommer fra et ukreditert og udatert notatet som tar
-  mål av seg å dokumentere en metode for å måle hvor (u)lovlig ulike
-  Popcorn Time-varianter er.&lt;/p&gt;
-
-&lt;p&gt;Raskt oppsummert, så forteller metodedokumentet at på grunn av at
-  det ikke er mulig å få tak i komplett liste over alle filmtitler
-  tilgjengelig via Popcorn Time, så lages noe som skal være et
-  representativt utvalg ved å velge 50 søkeord større enn tre tegn fra
-  ordlisten kjent som Dale-Chall.  For hvert søkeord gjøres et søk og
-  de første fem filmene i søkeresultatet samles inn inntil 100 unike
-  filmtitler er funnet.  Hvis 50 søkeord ikke var tilstrekkelig for å
-  nå 100 unike filmtitler ble flere filmer fra hvert søkeresultat lagt
-  til.  Hvis dette heller ikke var tilstrekkelig, så ble det hentet ut
-  og søkt på flere tilfeldig valgte søkeord inntil 100 unike
-  filmtitler var identifisert.&lt;/p&gt;
-
-&lt;p&gt;Deretter ble for hver av filmtitlene «vurdert hvorvidt det var
-  rimelig å forvente om at verket var vernet av copyright, ved å se på
-  om filmen var tilgjengelig i IMDB, samt se på regissør,
-  utgivelsesår, når det var utgitt for bestemte markedsområder samt
-  hvilke produksjons- og distribusjonsselskap som var registrert» (min
-  oversettelse).&lt;/p&gt;
-
-&lt;p&gt;Metoden er gjengitt både i de ukrediterte dokumentene 09,13 og
-  09,19, samt beskrevet fra side 47 i dokument 09,20, lysark datert
-  2017-02-01.  Sistnevnte er kreditert Geerart Bourlon fra Motion
-  Picture Association EMEA.  Metoden virker å ha flere svakheter som
-  gir resultatene en slagside.  Den starter med å slå fast at det ikke
-  er mulig å hente ut en komplett liste over alle filmtitler som er
-  tilgjengelig, og at dette er bakgrunnen for metodevalget.  Denne
-  forutsetningen er ikke i tråd med det som står i dokument 09,12, som
-  ikke heller har oppgitt forfatter og dato.  Dokument 09,12 forteller
-  hvordan hele kataloginnholdet ble lasted ned og talt opp.  Dokument
-  09,12 er muligens samme rapport som ble referert til i dom fra Oslo
-  Tingrett 2017-11-03
-  (&lt;a href=&quot;https://www.domstol.no/no/Enkelt-domstol/Oslo--tingrett/Nyheter/ma-sperre-for-popcorn-time/&quot;&gt;sak
-  17-093347TVI-OTIR/05&lt;/a&gt;) som rapport av 1. juni 2017 av Alexander
-  Kind Petersen, men jeg har ikke sammenlignet dokumentene ord for ord
-  for å kontrollere dette.&lt;/p&gt;
-
-&lt;p&gt;IMDB er en forkortelse for The Internet Movie Database, en
-  anerkjent kommersiell nettjeneste som brukes aktivt av både
-  filmbransjen og andre til å holde rede på hvilke spillefilmer (og
-  endel andre filmer) som finnes eller er under produksjon, og
-  informasjon om disse filmene.  Datakvaliteten er høy, med få feil og
-  få filmer som mangler.  IMDB viser ikke informasjon om
-  opphavsrettslig status for filmene på infosiden for hver film.  Som
-  del av IMDB-tjenesten finnes det lister med filmer laget av
-  frivillige som lister opp det som antas å være verk i det fri.&lt;/p&gt;
-  
-&lt;p&gt;Det finnes flere kilder som kan brukes til å finne filmer som er
-  allemannseie (public domain) eller har bruksvilkår som gjør det
-  lovlig for alleå dele dem på Internett.  Jeg har de siste ukene
-  forsøkt å samle og krysskoble disse listene for å forsøke å telle
-  antall filmer i det fri.  Ved å ta utgangspunkt i slike lister (og
-  publiserte filmer for Internett-arkivets del), har jeg så langt
-  klart å identifisere over 11 000 filmer, hovedsaklig spillefilmer.
-
-&lt;p&gt;De aller fleste oppføringene er hentet fra IMDB selv, basert på det
-  faktum at alle filmer laget i USA før 1923 er falt i det fri.
-  Tilsvarende tidsgrense for Storbritannia er 1912-07-01, men dette
-  utgjør bare veldig liten del av spillefilmene i IMDB (19 totalt).
-  En annen stor andel kommer fra Internett-arkivet, der jeg har
-  identifisert filmer med referanse til IMDB.  Internett-arkivet, som
-  holder til i USA, har som
-  &lt;a href=&quot;https://archive.org/about/terms.php&quot;&gt;policy å kun publisere
-  filmer som det er lovlig å distribuere&lt;/a&gt;.  Jeg har under arbeidet
-  kommet over flere filmer som har blitt fjernet fra
-  Internett-arkivet, hvilket gjør at jeg konkluderer med at folkene
-  som kontrollerer Internett-arkivet har et aktivt forhold til å kun
-  ha lovlig innhold der, selv om det i stor grad er drevet av
-  frivillige.  En annen stor liste med filmer kommer fra det
-  kommersielle selskapet Retro Film Vault, som selger allemannseide
-  filmer til TV- og filmbransjen, Jeg har også benyttet meg av lister
-  over filmer som hevdes å være allemannseie, det være seg Public
-  Domain Review, Public Domain Torrents og Public Domain Movies (.net
-  og .info), samt lister over filmer med Creative Commons-lisensiering
-  fra Wikipedia, VODO og The Hill Productions.  Jeg har gjort endel
-  stikkontroll ved å vurdere filmer som kun omtales på en liste.  Der
-  jeg har funnet feil som har gjort meg i tvil om vurderingen til de
-  som har laget listen har jeg forkastet listen fullstendig (gjelder
-  en liste fra IMDB).&lt;/p&gt;
-  
-&lt;p&gt;Ved å ta utgangspunkt i verk som kan antas å være lovlig delt på
-  Internett (fra blant annet Internett-arkivet, Public Domain
-  Torrents, Public Domain Reivew og Public Domain Movies), og knytte
-  dem til oppføringer i IMDB, så har jeg så langt klart å identifisere
-  over 11 000 filmer (hovedsaklig spillefilmer) det er grunn til å tro
-  kan lovlig distribueres av alle på Internett.  Som ekstra kilder er
-  det brukt lister over filmer som antas/påstås å være allemannseie.
-  Disse kildene kommer fra miljøer som jobber for å gjøre tilgjengelig
-  for almennheten alle verk som er falt i det fri eller har
-  bruksvilkår som tillater deling.
-
-&lt;p&gt;I tillegg til de over 11 000 filmene der tittel-ID i IMDB er
-  identifisert, har jeg funnet mer enn 20 000 oppføringer der jeg ennå
-  ikke har hatt kapasitet til å spore opp tittel-ID i IMDB.  Noen av
-  disse er nok duplikater av de IMDB-oppføringene som er identifisert
-  så langt, men neppe alle.  Retro Film Vault hevder å ha 44 000
-  filmverk i det fri i sin katalog, så det er mulig at det reelle
-  tallet er betydelig høyere enn de jeg har klart å identifisere så
-  langt.  Konklusjonen er at tallet 11 000 er nedre grense for hvor
-  mange filmer i IMDB som kan lovlig deles på Internett.  I følge &lt;a
-  href=&quot;http://www.imdb.com/stats&quot;&gt;statistikk fra IMDB&lt;/a&gt; er det 4.6
-  millioner titler registrert, hvorav 3 millioner er TV-serieepisoder.
-  Jeg har ikke funnet ut hvordan de fordeler seg per år.&lt;/p&gt;
-
-&lt;p&gt;Hvis en fordeler på år alle tittel-IDene i IMDB som hevdes å lovlig
-  kunne deles på Internett, får en følgende histogram:&lt;/p&gt;
-
-&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;80%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year.png&quot;&gt;&lt;/p&gt;
-
-&lt;p&gt;En kan i histogrammet se at effekten av manglende registrering
-  eller fornying av registrering er at mange filmer gitt ut i USA før
-  1978 er allemannseie i dag.  I tillegg kan en se at det finnes flere
-  filmer gitt ut de siste årene med bruksvilkår som tillater deling,
-  muligens på grunn av fremveksten av
-  &lt;a href=&quot;https://creativecommons.org/&quot;&gt;Creative
-  Commons&lt;/a&gt;-bevegelsen..&lt;/p&gt;
-  
-&lt;p&gt;For maskinell analyse av katalogene har jeg laget et lite program
-  som kobler seg til bittorrent-katalogene som brukes av ulike Popcorn
-  Time-varianter og laster ned komplett liste over filmer i
-  katalogene, noe som bekrefter at det er mulig å hente ned komplett
-  liste med alle filmtitler som er tilgjengelig.  Jeg har sett på fire
-  bittorrent-kataloger.  Den ene brukes av klienten tilgjengelig fra
-  www.popcorntime.sh og er navngitt &#39;sh&#39; i dette dokumentet.  Den
-  andre brukes i følge dokument 09,12 av klienten tilgjengelig fra
-  popcorntime.ag og popcorntime.sh og er navngitt &#39;yts&#39; i dette
-  dokumentet.  Den tredje brukes av websidene tilgjengelig fra
-  popcorntime-online.tv og er navngitt &#39;apidomain&#39; i dette dokumentet.
-  Den fjerde brukes av klienten tilgjenglig fra popcorn-time.to i
-  følge dokument 09,12, og er navngitt &#39;ukrfnlge&#39; i dette
-  dokumentet.&lt;/p&gt;
-
-&lt;p&gt;Metoden Økokrim legger til grunn skriver i sitt punkt fire at
-  skjønn er en egnet metode for å finne ut om en film kan lovlig deles
-  på Internett eller ikke, og sier at det ble «vurdert hvorvidt det
-  var rimelig å forvente om at verket var vernet av copyright».  For
-  det første er det ikke nok å slå fast om en film er «vernet av
-  copyright» for å vite om det er lovlig å dele den på Internett eller
-  ikke, da det finnes flere filmer med opphavsrettslige bruksvilkår
-  som tillater deling på Internett.  Eksempler på dette er Creative
-  Commons-lisensierte filmer som Citizenfour fra 2014 og Sintel fra
-  2010.  I tillegg til slike finnes det flere filmer som nå er
-  allemannseie (public domain) på grunn av manglende registrering
-  eller fornying av registrering selv om både regisør,
-  produksjonsselskap og distributør ønsker seg vern.  Eksempler på
-  dette er Plan 9 from Outer Space fra 1959 og Night of the Living
-  Dead fra 1968.  Alle filmer fra USA som var allemannseie før
-  1989-03-01 forble i det fri da Bern-konvensjonen, som tok effekt i
-  USA på det tidspunktet, ikke ble gitt tilbakevirkende kraft.  Hvis
-  det er noe
-  &lt;a href=&quot;http://www.latimes.com/local/lanow/la-me-ln-happy-birthday-song-lawsuit-decision-20150922-story.html&quot;&gt;historien
-  om sangen «Happy birthday»&lt;/a&gt; forteller oss, der betaling for bruk
-  har vært krevd inn i flere tiår selv om sangen ikke egentlig var
-  vernet av åndsverksloven, så er det at hvert enkelt verk må vurderes
-  nøye og i detalj før en kan slå fast om verket er allemannseie eller
-  ikke, det holder ikke å tro på selverklærte rettighetshavere.  Flere
-  eksempel på verk i det fri som feilklassifiseres som vernet er fra
-  dokument 09,18, som lister opp søkeresultater for klienten omtalt
-  som popcorntime.sh og i følge notatet kun inneholder en film (The
-  Circus fra 1928) som under tvil kan antas å være allemannseie.&lt;/p&gt;
-
-&lt;p&gt;Ved rask gjennomlesning av dokument 09,18, som inneholder
-  skjermbilder fra bruk av en Popcorn Time-variant, fant jeg omtalt
-  både filmen «The Brain That Wouldn&#39;t Die» fra 1962 som er
-  &lt;a href=&quot;https://archive.org/details/brain_that_wouldnt_die&quot;&gt;tilgjengelig
-  fra Internett-arkivet&lt;/a&gt; og som
-  &lt;a href=&quot;https://en.wikipedia.org/wiki/List_of_films_in_the_public_domain_in_the_United_States&quot;&gt;i
-    følge Wikipedia er allemannseie i USA&lt;/a&gt; da den ble gitt ut i
-  1962 uten &#39;copyright&#39;-merking, og filmen «God’s Little Acre» fra
-  1958 &lt;a href=&quot;https://en.wikipedia.org/wiki/God%27s_Little_Acre_%28film%29&quot;&gt;som
-    er lagt ut på Wikipedia&lt;/a&gt;, der det fortelles at
-  sort/hvit-utgaven er allemannseie.  Det fremgår ikke fra dokument
-  09,18 om filmen omtalt der er sort/hvit-utgaven.  Av
-  kapasitetsårsaker og på grunn av at filmoversikten i dokument 09,18
-  ikke er maskinlesbart har jeg ikke forsøkt å sjekke alle filmene som
-  listes opp der om mot liste med filmer som er antatt lovlig kan
-  distribueres på Internet.&lt;/p&gt;
-
-&lt;p&gt;Ved maskinell gjennomgang av listen med IMDB-referanser under
-  regnearkfanen &#39;Unique titles&#39; i dokument 09.14, fant jeg i tillegg
-  filmen «She Wore a Yellow Ribbon» fra 1949) som nok også er
-  feilklassifisert. Filmen «She Wore a Yellow Ribbon» er tilgjengelig
-  fra Internett-arkivet og markert som allemannseie der.  Det virker
-  dermed å være minst fire ganger så mange filmer som kan lovlig deles
-  på Internett enn det som er lagt til grunn når en påstår at minst
-  99% av innholdet er ulovlig.  Jeg ser ikke bort fra at nærmere
-  undersøkelser kan avdekke flere.  Poenget er uansett at metodens
-  punkt om «rimelig å forvente om at verket var vernet av copyright»
-  gjør metoden upålitelig.&lt;/p&gt;
-
-&lt;p&gt;Den omtalte målemetoden velger ut tilfeldige søketermer fra
-  ordlisten Dale-Chall.  Den ordlisten inneholder 3000 enkle engelske
-  som fjerdeklassinger i USA er forventet å forstå.  Det fremgår ikke
-  hvorfor akkurat denne ordlisten er valgt, og det er uklart for meg
-  om den er egnet til å få et representativt utvalg av filmer.  Mange
-  av ordene gir tomt søkeresultat.  Ved å simulerte tilsvarende søk
-  ser jeg store avvik fra fordelingen i katalogen for enkeltmålinger.
-  Dette antyder at enkeltmålinger av 100 filmer slik målemetoden
-  beskriver er gjort, ikke er velegnet til å finne andel ulovlig
-  innhold i bittorrent-katalogene.&lt;/p&gt;
-
-&lt;p&gt;En kan motvirke dette store avviket for enkeltmålinger ved å gjøre
-  mange søk og slå sammen resultatet.  Jeg har testet ved å
-  gjennomføre 100 enkeltmålinger (dvs. måling av (100x100=) 10 000
-  tilfeldig valgte filmer) som gir mindre, men fortsatt betydelig
-  avvik, i forhold til telling av filmer pr år i hele katalogen.&lt;/p&gt;
-  
-&lt;p&gt;Målemetoden henter ut de fem øverste i søkeresultatet.
-  Søkeresultatene er sortert på antall bittorrent-klienter registrert
-  som delere i katalogene, hvilket kan gi en slagside mot hvilke
-  filmer som er populære blant de som bruker bittorrent-katalogene,
-  uten at det forteller noe om hvilket innhold som er tilgjengelig
-  eller hvilket innhold som deles med Popcorn Time-klienter.  Jeg har
-  forsøkt å måle hvor stor en slik slagside eventuelt er ved å
-  sammenligne fordelingen hvis en tar de 5 nederste i søkeresultatet i
-  stedet.  Avviket for disse to metodene for endel kataloger er godt
-  synlig på histogramet.  Her er histogram over filmer funnet i den
-  komplette katalogen (grønn strek), og filmer funnet ved søk etter
-  ord i Dale-Chall.  Grafer merket &#39;top&#39; henter fra de 5 første i
-  søkeresultatet, mens de merket &#39;bottom&#39; henter fra de 5 siste.  En
-  kan her se at resultatene påvirkes betydelig av hvorvidt en ser på
-  de første eller de siste filmene i et søketreff.&lt;/p&gt;
-
-&lt;p align=&quot;center&quot;&gt;
-  &lt;img width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-sh-top.png&quot;/&gt;
-  &lt;img width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-sh-bottom.png&quot;/&gt;
-  &lt;br&gt;
-  &lt;img width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-yts-top.png&quot;/&gt;
-  &lt;img width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-yts-bottom.png&quot;/&gt;
-  &lt;br&gt;
-  &lt;img width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-ukrfnlge-top.png&quot;/&gt;
-  &lt;img width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-ukrfnlge-bottom.png&quot;/&gt;
-  &lt;br&gt;
-  &lt;img width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-apidomain-top.png&quot;/&gt;
-  &lt;img width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-apidomain-bottom.png&quot;/&gt;
-&lt;/p&gt;
-  
-&lt;p&gt;Det er verdt å bemerke at de omtalte bittorrent-katalogene ikke er
-  laget for bruk med Popcorn Time.  Eksempelvis tilhører katalogen
-  YTS, som brukes av klientet som ble lastes ned fra popcorntime.sh,
-  et selvstendig fildelings-relatert nettsted YTS.AG med et separat
-  brukermiljø.  Målemetoden foreslått av Økokrim måler dermed ikke
-  (u)lovligheten rundt bruken av Popcorn Time, men (u)lovligheten til
-  innholdet i disse katalogene.&lt;/p&gt;
-
-&lt;hr&gt;
-
-&lt;p id=&quot;dok-09-13&quot;&gt;Metoden fra Økokrims dokument 09,13 i straffesaken
-om DNS-beslag.&lt;/p&gt;
-
-&lt;p&gt;&lt;strong&gt;1. Evaluation of (il)legality&lt;/strong&gt;&lt;/p&gt;
-
-&lt;p&gt;&lt;strong&gt;1.1. Methodology&lt;/strong&gt;
-     
-&lt;p&gt;Due to its technical configuration, Popcorn Time applications don&#39;t
-allow to make a full list of all titles made available. In order to
-evaluate the level of illegal operation of PCT, the following
-methodology was applied:&lt;/p&gt;
-
-&lt;ol&gt;
-
- &lt;li&gt;A random selection of 50 keywords, greater than 3 letters, was
-    made from the Dale-Chall list that contains 3000 simple English
-    words1. The selection was made by using a Random Number
-    Generator2.&lt;/li&gt;
-         
- &lt;li&gt;For each keyword, starting with the first randomly selected
-    keyword, a search query was conducted in the movie section of the
-    respective Popcorn Time application. For each keyword, the first
-    five results were added to the title list until the number of 100
-    unique titles was reached (duplicates were removed).&lt;/li&gt;
-         
- &lt;li&gt;For one fork, .CH, insufficient titles were generated via this
-    approach to reach 100 titles. This was solved by adding any
-    additional query results above five for each of the 50 keywords.
-    Since this still was not enough, another 42 random keywords were
-    selected to finally reach 100 titles.&lt;/li&gt;
-         
- &lt;li&gt;It was verified whether or not there is a reasonable expectation
-    that the work is copyrighted by checking if they are available on
-    IMDb, also verifying the director, the year when the title was
-    released, the release date for a certain market, the production
-    company/ies of the title and the distribution company/ies.&lt;/li&gt;
-
-&lt;/ol&gt;
-
-&lt;p&gt;&lt;strong&gt;1.2. Results&lt;/strong&gt;&lt;/p&gt;
-     
-&lt;p&gt;Between 6 and 9 June 2016, four forks of Popcorn Time were
-investigated: popcorn-time.to, popcorntime.ag, popcorntime.sh and
-popcorntime.ch. An excel sheet with the results is included in
-Appendix 1. Screenshots were secured in separate Appendixes for each
-respective fork, see Appendix 2-5.&lt;/p&gt;
-
-&lt;p&gt;For each fork, out of 100, de-duplicated titles it was possible to
-retrieve data according to the parameters set out above that indicate
-that the title is commercially available. Per fork, there was 1 title
-that presumably falls within the public domain, i.e. the 1928 movie
-&quot;The Circus&quot; by and with Charles Chaplin.&lt;/p&gt;
-
-&lt;p&gt;Based on the above it is reasonable to assume that 99% of the movie
-content of each fork is copyright protected and is made available
-illegally.&lt;/p&gt;
-
-&lt;p&gt;This exercise was not repeated for TV series, but considering that
-besides production companies and distribution companies also
-broadcasters may have relevant rights, it is reasonable to assume that
-at least a similar level of infringement will be established.&lt;/p&gt;
-
-&lt;p&gt;Based on the above it is reasonable to assume that 99% of all the
-content of each fork is copyright protected and are made available
-illegally.&lt;/p&gt;
+               <title>Using the Kodi API to play Youtube videos</title>
+               <link>http://people.skolelinux.org/pere/blog/Using_the_Kodi_API_to_play_Youtube_videos.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_the_Kodi_API_to_play_Youtube_videos.html</guid>
+                <pubDate>Sun, 2 Sep 2018 23:40:00 +0200</pubDate>
+               <description>&lt;p&gt;I continue to explore my Kodi installation, and today I wanted to
+tell it to play a youtube URL I received in a chat, without having to
+insert search terms using the on-screen keyboard.  After searching the
+web for API access to the Youtube plugin and testing a bit, I managed
+to find a recipe that worked.  If you got a kodi instance with its API
+available from http://kodihost/jsonrpc, you can try the following to
+have check out a nice cover band.&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;curl --silent --header &#39;Content-Type: application/json&#39; \
+  --data-binary &#39;{ &quot;id&quot;: 1, &quot;jsonrpc&quot;: &quot;2.0&quot;, &quot;method&quot;: &quot;Player.Open&quot;,
+  &quot;params&quot;: {&quot;item&quot;: { &quot;file&quot;:
+  &quot;plugin://plugin.video.youtube/play/?video_id=LuRGVM9O0qg&quot; } } }&#39; \
+  http://projector.local/jsonrpc&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;I&#39;ve extended kodi-stream program to take a video source as its
+first argument.  It can now handle direct video links, youtube links
+and &#39;desktop&#39; to stream my desktop to Kodi.  It is almost like a
+Chromecast. :)&lt;/p&gt;
+
+&lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+&lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
 </description>
        </item>
        
        <item>
-               <title>Cura, the nice 3D print slicer, is now in Debian Unstable</title>
-               <link>http://people.skolelinux.org/pere/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html</guid>
-                <pubDate>Sun, 17 Dec 2017 07:00:00 +0100</pubDate>
-               <description>&lt;p&gt;After several months of working and waiting, I am happy to report
-that the nice and user friendly 3D printer slicer software Cura just
-entered Debian Unstable.  It consist of five packages,
-&lt;a href=&quot;https://tracker.debian.org/pkg/cura&quot;&gt;cura&lt;/a&gt;,
-&lt;a href=&quot;https://tracker.debian.org/pkg/cura-engine&quot;&gt;cura-engine&lt;/a&gt;,
-&lt;a href=&quot;https://tracker.debian.org/pkg/libarcus&quot;&gt;libarcus&lt;/a&gt;,
-&lt;a href=&quot;https://tracker.debian.org/pkg/fdm-materials&quot;&gt;fdm-materials&lt;/a&gt;,
-&lt;a href=&quot;https://tracker.debian.org/pkg/libsavitar&quot;&gt;libsavitar&lt;/a&gt; and
-&lt;a href=&quot;https://tracker.debian.org/pkg/uranium&quot;&gt;uranium&lt;/a&gt;.  The last
-two, uranium and cura, entered Unstable yesterday.  This should make
-it easier for Debian users to print on at least the Ultimaker class of
-3D printers.  My nearest 3D printer is an Ultimaker 2+, so it will
-make life easier for at least me. :)&lt;/p&gt;
-
-&lt;p&gt;The work to make this happen was done by Gregor Riepl, and I was
-happy to assist him in sponsoring the packages.  With the introduction
-of Cura, Debian is up to three 3D printer slicers at your service,
-Cura, Slic3r and Slic3r Prusa.  If you own or have access to a 3D
-printer, give it a go. :)&lt;/p&gt;
-
-&lt;p&gt;The 3D printer software is maintained by the 3D printer Debian
-team, flocking together on the
-&lt;a href=&quot;http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/3dprinter-general&quot;&gt;3dprinter-general&lt;/a&gt;
-mailing list and the
-&lt;a href=&quot;irc://irc.debian.org/#debian-3dprinting&quot;&gt;#debian-3dprinting&lt;/a&gt;
-IRC channel.&lt;/p&gt;
-
-&lt;p&gt;The next step for Cura in Debian is to update the cura package to
-version 3.0.3 and then update the entire set of packages to version
-3.1.0 which showed up the last few days.&lt;/p&gt;
+               <title>Software created using taxpayers’ money should be Free Software</title>
+               <link>http://people.skolelinux.org/pere/blog/Software_created_using_taxpayers__money_should_be_Free_Software.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Software_created_using_taxpayers__money_should_be_Free_Software.html</guid>
+                <pubDate>Thu, 30 Aug 2018 13:50:00 +0200</pubDate>
+               <description>&lt;p&gt;It might seem obvious that software created using tax money should
+be available for everyone to use and improve.  Free Software
+Foundation Europe recentlystarted a campaign to help get more people
+to understand this, and I just signed the petition on
+&lt;a href=&quot;https://publiccode.eu/&quot;&gt;Public Money, Public Code&lt;/a&gt; to help
+them. I hope you too will do the same.&lt;/p&gt;
 </description>
        </item>