]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.rss
Adjust indent and update tags/timestamp.
[homepage.git] / blog / index.rss
index 3b4e21fa9b437ceb525ed51cab57d3b2a6746301..0581cf3d482ab8c7e39c677c5c73a37392121db7 100644 (file)
                 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
        
        <item>
-               <title>Simpler recipe on how to make a simple $7 IMSI Catcher using Debian</title>
-               <link>http://people.skolelinux.org/pere/blog/Simpler_recipe_on_how_to_make_a_simple__7_IMSI_Catcher_using_Debian.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Simpler_recipe_on_how_to_make_a_simple__7_IMSI_Catcher_using_Debian.html</guid>
-                <pubDate>Wed, 9 Aug 2017 23:59:00 +0200</pubDate>
-               <description>&lt;p&gt;On friday, I came across an interesting article in the Norwegian
-web based ICT news magazine digi.no on
-&lt;a href=&quot;https://www.digi.no/artikler/sikkerhetsforsker-lagde-enkel-imsi-catcher-for-60-kroner-na-kan-mobiler-kartlegges-av-alle/398588&quot;&gt;how
-to collect the IMSI numbers of nearby cell phones&lt;/a&gt; using the cheap
-DVB-T software defined radios.  The article refered to instructions
-and &lt;a href=&quot;https://www.youtube.com/watch?v=UjwgNd_as30&quot;&gt;a recipe by
-Keld Norman on Youtube on how to make a simple $7 IMSI Catcher&lt;/a&gt;, and I decided to test them out.&lt;/p&gt;
-
-&lt;p&gt;The instructions said to use Ubuntu, install pip using apt (to
-bypass apt), use pip to install pybombs (to bypass both apt and pip),
-and the ask pybombs to fetch and build everything you need from
-scratch.  I wanted to see if I could do the same on the most recent
-Debian packages, but this did not work because pybombs tried to build
-stuff that no longer build with the most recent openssl library or
-some other version skew problem.  While trying to get this recipe
-working, I learned that the apt-&gt;pip-&gt;pybombs route was a long detour,
-and the only piece of software dependency missing in Debian was the
-gr-gsm package.  I also found out that the lead upstream developer of
-gr-gsm (the name stand for GNU Radio GSM) project already had a set of
-Debian packages provided in an Ubuntu PPA repository.  All I needed to
-do was to dget the Debian source package and built it.&lt;/p&gt;
-
-&lt;p&gt;The IMSI collector is a python script listening for packages on the
-loopback network device and printing to the terminal some specific GSM
-packages with IMSI numbers in them.  The code is fairly short and easy
-to understand.  The reason this work is because gr-gsm include a tool
-to read GSM data from a software defined radio like a DVB-T USB stick
-and other software defined radios, decode them and inject them into a
-network device on your Linux machine (using the loopback device by
-default).  This proved to work just fine, and I&#39;ve been testing the
-collector for a few days now.&lt;/p&gt;
-
-&lt;p&gt;The updated and simpler recipe is thus to&lt;/p&gt;
-
-&lt;ol&gt;
-
-&lt;li&gt;start with a Debian machine running Stretch or newer,&lt;/li&gt;
-
-&lt;li&gt;build and install the gr-gsm package available from
-&lt;a href=&quot;http://ppa.launchpad.net/ptrkrysik/gr-gsm/ubuntu/pool/main/g/gr-gsm/&quot;&gt;http://ppa.launchpad.net/ptrkrysik/gr-gsm/ubuntu/pool/main/g/gr-gsm/&lt;/a&gt;,&lt;/li&gt;
-
-&lt;li&gt;clone the git repostory from &lt;a href=&quot;https://github.com/Oros42/IMSI-catcher&quot;&gt;https://github.com/Oros42/IMSI-catcher&lt;/a&gt;,&lt;/li&gt;
-
-&lt;li&gt;run grgsm_livemon and adjust the frequency until the terminal
-where it was started is filled with a stream of text (meaning you
-found a GSM station).&lt;/li&gt;
-
-&lt;li&gt;go into the IMSI-catcher directory and run &#39;sudo python simple_IMSI-catcher.py&#39; to extract the IMSI numbers.&lt;/li&gt;
-
-&lt;/ol&gt;
-
-&lt;p&gt;To make it even easier in the future to get this sniffer up and
-running, I decided to package
-&lt;a href=&quot;https://github.com/ptrkrysik/gr-gsm/&quot;&gt;the gr-gsm project&lt;/a&gt;
-for Debian (&lt;a href=&quot;https://bugs.debian.org/871055&quot;&gt;WNPP
-#871055&lt;/a&gt;), and the package was uploaded into the NEW queue today.
-Luckily the gnuradio maintainer has promised to help me, as I do not
-know much about gnuradio stuff yet.&lt;/p&gt;
-
-&lt;p&gt;I doubt this &quot;IMSI cacher&quot; is anywhere near as powerfull as
-commercial tools like
-&lt;a href=&quot;https://www.thespyphone.com/portable-imsi-imei-catcher/&quot;&gt;The
-Spy Phone Portable IMSI / IMEI Catcher&lt;/a&gt; or the
-&lt;a href=&quot;https://en.wikipedia.org/wiki/Stingray_phone_tracker&quot;&gt;Harris
-Stingray&lt;/a&gt;, but I hope the existance of cheap alternatives can make
-more people realise how their whereabouts when carrying a cell phone
-is easily tracked.  Seeing the data flow on the screen, realizing that
-I live close to a police station and knowing that the police is also
-wearing cell phones, I wonder how hard it would be for criminals to
-track the position of the police officers to discover when there are
-police near by, or for foreign military forces to track the location
-of the Norwegian military forces, or for anyone to track the location
-of government officials...&lt;/p&gt;
-
-&lt;p&gt;It is worth noting that the data reported by the IMSI-catcher
-script mentioned above is only a fraction of the data broadcasted on
-the GSM network.  It will only collect one frequency at the time,
-while a typical phone will be using several frequencies, and not all
-phones will be using the frequencies tracked by the grgsm_livemod
-program.  Also, there is a lot of radio chatter being ignored by the
-simple_IMSI-catcher script, which would be collected by extending the
-parser code.  I wonder if gr-gsm can be set up to listen to more than
-one frequency?&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>
        
        <item>
-               <title>Norwegian Bokmål edition of Debian Administrator&#39;s Handbook is now available</title>
-               <link>http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_is_now_available.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_is_now_available.html</guid>
-                <pubDate>Tue, 25 Jul 2017 21:10:00 +0200</pubDate>
-               <description>&lt;p align=&quot;center&quot;&gt;&lt;img align=&quot;center&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-07-25-debian-handbook-nb-testprint.png&quot;/&gt;&lt;/p&gt;
-
-&lt;p&gt;I finally received a copy of the Norwegian Bokmål edition of
-&quot;&lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The Debian Administrator&#39;s
-Handbook&lt;/a&gt;&quot;.  This test copy arrived in the mail a few days ago, and
-I am very happy to hold the result in my hand.   We spent around one and a half year translating it. This paperbook edition
-&lt;a href=&quot;https://debian-handbook.info/get/#norwegian&quot;&gt;is available
-from lulu.com&lt;/a&gt;.  If you buy it quickly, you save 25% on the list
-price.  The book is also available for download in electronic form as
-PDF, EPUB and Mobipocket, as can be
-&lt;a href=&quot;https://debian-handbook.info/browse/nb-NO/stable/&quot;&gt;read online
-as a web page&lt;/a&gt;.&lt;/p&gt;
-
-&lt;p&gt;This is the second book I publish (the first was the book
-&quot;&lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt;&quot; by Lawrence Lessig
-in
-&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html&quot;&gt;English&lt;/a&gt;,
-&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;French&lt;/a&gt;
-and
-&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Norwegian
-Bokmål&lt;/a&gt;), and I am very excited to finally wrap up this
-project.  I hope
-&quot;&lt;a href=&quot;http://www.lulu.com/shop/rapha%C3%ABl-hertzog-and-roland-mas/h%C3%A5ndbok-for-debian-administratoren/paperback/product-23262290.html&quot;&gt;Håndbok
-for Debian-administratoren&lt;/a&gt;&quot; will be well received.&lt;/p&gt;
+               <title>A bit more on privacy respecting health monitor / fitness tracker</title>
+               <link>http://people.skolelinux.org/pere/blog/A_bit_more_on_privacy_respecting_health_monitor___fitness_tracker.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_bit_more_on_privacy_respecting_health_monitor___fitness_tracker.html</guid>
+                <pubDate>Mon, 13 Aug 2018 09:00:00 +0200</pubDate>
+               <description>&lt;p&gt;A few days ago, I wondered if there are any privacy respecting
+health monitors and/or fitness trackers available for sale these days.
+I would like to buy one, but do not want to share my personal data
+with strangers, nor be forced to have a mobile phone to get data out
+of the unit.  I&#39;ve received some ideas, and would like to share them
+with you.
+
+One interesting data point was a pointer to a Free Software app for
+Android named
+&lt;a href=&quot;https://github.com/Freeyourgadget/Gadgetbridge/&quot;&gt;Gadgetbridge&lt;/a&gt;.
+It provide cloudless collection and storing of data from a variety of
+trackers.  Its
+&lt;a href=&quot;https://github.com/Freeyourgadget/Gadgetbridge/#supported-devices&quot;&gt;list
+of supported devices&lt;/a&gt; is a good indicator for units where the
+protocol is fairly open, as it is obviously being handled by Free
+Software.  Other units are reportedly encrypting the collected
+information with their own public key, making sure only the vendor
+cloud service is able to extract data from the unit.  The people
+contacting me about Gadgetbirde said they were using
+&lt;a href=&quot;https://us.amazfit.com/shop/bip?variant=336750&quot;&gt;Amazfit
+Bip&lt;/a&gt; and
+&lt;a href=&quot;http://www.xiaomimi6phone.com/xiaomi-mi-band-3-features-release-date-rumors/&quot;&gt;Xiaomi
+Band 3&lt;/a&gt;.&lt;/p&gt;
+
+&lt;p&gt;I also got a suggestion to look at some of the units from Garmin.
+I was told their GPS watches can be connected via USB and show up as a
+USB storage device with
+&lt;a href=&quot;https://www.gpsbabel.org/htmldoc-development/fmt_garmin_fit.html&quot;&gt;Garmin
+FIT files&lt;/a&gt; containing the collected measurements.  While
+proprietary, FIT files apparently can be read at least by
+&lt;a href=&quot;https://www.gpsbabel.org&quot;&gt;GPSBabel&lt;/a&gt; and the
+&lt;a href=&quot;https://apps.nextcloud.com/apps/gpxpod&quot;&gt;GpxPod&lt;/a&gt; Nextcloud
+app.  It is unclear to me if they can read step count and heart rate
+data.  The person I talked to was using a
+&lt;a href=&quot;https://buy.garmin.com/en-US/US/p/564291&quot;&gt;Garmin Forerunner
+935&lt;/a&gt;, which is a fairly expensive unit.  I doubt it is worth it for
+a unit where the vendor clearly is trying its best to move from open
+to closed systems.  I still remember when Garmin dropped NMEA support
+in its GPSes.&lt;/p&gt;
+
+&lt;p&gt;A final idea was to build ones own unit, perhaps by basing it on a
+wearable hardware platforms like
+&lt;a href=&quot;https://learn.adafruit.com/flora-geo-watch&quot;&gt;the Flora Geo
+Watch&lt;/a&gt;.  Sound like fun, but I had more money than time to spend on
+the topic, so I suspect it will have to wait for another time.&lt;/p&gt;
+
+&lt;p&gt;While I was working on tracking down links, I came across an
+inspiring TED talk by Dave Debronkart about
+&lt;a href=&quot;https://archive.org/details/DavedeBronkart_2010X&quot;&gt;being a
+e-patient&lt;/a&gt;, and discovered the web site
+&lt;a href=&quot;https://participatorymedicine.org/epatients/&quot;&gt;Participatory
+Medicine&lt;/a&gt;.  If you too want to track your own health and fitness
+without having information about your private life floating around on
+computers owned by others, I recommend checking it out.&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>«Rapporten ser ikke på informasjonssikkerhet knyttet til personlig integritet»</title>
-               <link>http://people.skolelinux.org/pere/blog/_Rapporten_ser_ikke_p__informasjonssikkerhet_knyttet_til_personlig_integritet_.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/_Rapporten_ser_ikke_p__informasjonssikkerhet_knyttet_til_personlig_integritet_.html</guid>
-                <pubDate>Tue, 27 Jun 2017 17:50:00 +0200</pubDate>
-               <description>&lt;p&gt;Jeg kom over teksten
-«&lt;a href=&quot;https://freedom-to-tinker.com/2017/06/21/killing-car-privacy-by-federal-mandate/&quot;&gt;Killing
-car privacy by federal mandate&lt;/a&gt;» av Leonid Reyzin på Freedom to
-Tinker i dag, og det gleder meg å se en god gjennomgang om hvorfor det
-er et urimelig inngrep i privatsfæren å la alle biler kringkaste sin
-posisjon og bevegelse via radio.  Det omtalte forslaget basert på
-Dedicated Short Range Communication (DSRC) kalles Basic Safety Message
-(BSM) i USA og Cooperative Awareness Message (CAM) i Europa, og det
-norske Vegvesenet er en av de som ser ut til å kunne tenke seg å
-pålegge alle biler å fjerne nok en bit av innbyggernes privatsfære.
-Anbefaler alle å lese det som står der.
-
-&lt;p&gt;Mens jeg tittet litt på DSRC på biler i Norge kom jeg over et sitat
-jeg synes er illustrativt for hvordan det offentlige Norge håndterer
-problemstillinger rundt innbyggernes privatsfære i SINTEF-rapporten
-«&lt;a href=&quot;https://www.sintef.no/publikasjoner/publikasjon/Download/?pubid=SINTEF+A23933&quot;&gt;Informasjonssikkerhet
-i AutoPASS-brikker&lt;/a&gt;» av Trond Foss:&lt;/p&gt;
-
-&lt;p&gt;&lt;blockquote&gt;
-«Rapporten ser ikke på informasjonssikkerhet knyttet til personlig
-  integritet.»
-&lt;/blockquote&gt;&lt;/p&gt;
-
-&lt;p&gt;Så enkelt kan det tydeligvis gjøres når en vurderer
-informasjonssikkerheten.  Det holder vel at folkene på toppen kan si
-at «Personvernet er ivaretatt», som jo er den populære intetsigende
-frasen som gjør at mange tror enkeltindividers integritet tas vare på.
-Sitatet fikk meg til å undres på hvor ofte samme tilnærming, å bare se
-bort fra behovet for personlig itegritet, blir valgt når en velger å
-legge til rette for nok et inngrep i privatsfæren til personer i
-Norge.  Det er jo sjelden det får reaksjoner.  Historien om
-reaksjonene på Helse Sør-Østs tjenesteutsetting er jo sørgelig nok et
-unntak og toppen av isfjellet, desverre.  Tror jeg fortsatt takker nei
-til både AutoPASS og holder meg så langt unna det norske helsevesenet
-som jeg kan, inntil de har demonstrert og dokumentert at de verdsetter
-individets privatsfære og personlige integritet høyere enn kortsiktig
-gevist og samfunnsnytte.&lt;/p&gt;
+               <title>Privacy respecting health monitor / fitness tracker?</title>
+               <link>http://people.skolelinux.org/pere/blog/Privacy_respecting_health_monitor___fitness_tracker_.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Privacy_respecting_health_monitor___fitness_tracker_.html</guid>
+                <pubDate>Tue, 7 Aug 2018 16:00:00 +0200</pubDate>
+               <description>&lt;p&gt;Dear lazyweb,&lt;/p&gt;
+
+&lt;p&gt;I wonder, is there a fitness tracker / health monitor available for
+sale today that respect the users privacy?  With this I mean a
+watch/bracelet capable of measuring pulse rate and other
+fitness/health related values (and by all means, also the correct time
+and location if possible), which is &lt;strong&gt;only&lt;/strong&gt; provided for
+me to extract/read from the unit with computer without a radio beacon
+and Internet connection.  In other words, it do not depend on a cell
+phone app, and do make the measurements available via other peoples
+computer (aka &quot;the cloud&quot;).  The collected data should be available
+using only free software.  I&#39;m not interested in depending on some
+non-free software that will leave me high and dry some time in the
+future.  I&#39;ve been unable to find any such unit.  I would like to buy
+it.  The ones I have seen for sale here in Norway are proud to report
+that they share my health data with strangers (aka &quot;cloud enabled&quot;).
+Is there an alternative?  I&#39;m not interested in giving money to people
+requiring me to accept &quot;privacy terms&quot; to allow myself to measure my
+own health.&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>Updated sales number for my Free Culture paper editions</title>
-               <link>http://people.skolelinux.org/pere/blog/Updated_sales_number_for_my_Free_Culture_paper_editions.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Updated_sales_number_for_my_Free_Culture_paper_editions.html</guid>
-                <pubDate>Mon, 12 Jun 2017 11:40:00 +0200</pubDate>
-               <description>&lt;p&gt;It is pleasing to see that the work we put down in publishing new
-editions of the classic &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free
-Culture book&lt;/a&gt; by the founder of the Creative Commons movement,
-Lawrence Lessig, is still being appreciated.  I had a look at the
-latest sales numbers for the paper edition today.  Not too impressive,
-but happy to see some buyers still exist.  All the revenue from the
-books is sent to the &lt;a href=&quot;https://creativecommons.org/&quot;&gt;Creative
-Commons Corporation&lt;/a&gt;, and they receive the largest cut if you buy
-directly from Lulu.  Most books are sold via Amazon, with Ingram
-second and only a small fraction directly from Lulu.  The ebook
-edition is available for free from
-&lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
-
-&lt;table border=&quot;0&quot;&gt;
-&lt;tr&gt;&lt;th rowspan=&quot;2&quot; valign=&quot;bottom&quot;&gt;Title / language&lt;/th&gt;&lt;th colspan=&quot;3&quot;&gt;Quantity&lt;/th&gt;&lt;/tr&gt;
-&lt;tr&gt;&lt;th&gt;2016 jan-jun&lt;/th&gt;&lt;th&gt;2016 jul-dec&lt;/th&gt;&lt;th&gt;2017 jan-may&lt;/th&gt;&lt;/tr&gt;
-
-&lt;tr&gt;
-  &lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;Culture Libre / French&lt;/a&gt;&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;6&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;15&lt;/td&gt;
-&lt;/tr&gt;
-
-&lt;tr&gt;
-  &lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Fri kultur / Norwegian&lt;/a&gt;&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
-&lt;/tr&gt;
-
-&lt;tr&gt;
-  &lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html&quot;&gt;Free Culture / English&lt;/a&gt;&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;14&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;27&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;16&lt;/td&gt;
-&lt;/tr&gt;
-
-&lt;tr&gt;
-  &lt;td&gt;Total&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;24&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;34&lt;/td&gt;
-  &lt;td align=&quot;right&quot;&gt;31&lt;/td&gt;
-&lt;/tr&gt;
-
-&lt;/table&gt;
-
-&lt;p&gt;A bit sad to see the low sales number on the Norwegian edition, and
-a bit surprising the English edition still selling so well.&lt;/p&gt;
-
-&lt;p&gt;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.&lt;/p&gt;
+               <title>Sharing images with friends and family using RSS and EXIF/XMP metadata</title>
+               <link>http://people.skolelinux.org/pere/blog/Sharing_images_with_friends_and_family_using_RSS_and_EXIF_XMP_metadata.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sharing_images_with_friends_and_family_using_RSS_and_EXIF_XMP_metadata.html</guid>
+                <pubDate>Tue, 31 Jul 2018 23:30:00 +0200</pubDate>
+               <description>&lt;p&gt;For a while now, I have looked for a sensible way to share images
+with my family using a self hosted solution, as it is unacceptable to
+place images from my personal life under the control of strangers
+working for data hoarders like Google or Dropbox.  The last few days I
+have drafted an approach that might work out, and I would like to
+share it with you.  I would like to publish images on a server under
+my control, and point some Internet connected display units using some
+free and open standard to the images I published.  As my primary
+language is not limited to ASCII, I need to store metadata using
+UTF-8.  Many years ago, I hoped to find a digital photo frame capable
+of reading a RSS feed with image references (aka using the
+&amp;lt;enclosure&amp;gt; RSS tag), but was unable to find a current supplier
+of such frames.  In the end I gave up that approach.&lt;/p&gt;
+
+&lt;p&gt;Some months ago, I discovered that
+&lt;a href=&quot;https://www.jwz.org/xscreensaver/&quot;&gt;XScreensaver&lt;/a&gt; is able to
+read images from a RSS feed, and used it to set up a screen saver on
+my home info screen, showing images from the Daily images feed from
+NASA.  This proved to work well.  More recently I discovered that
+&lt;a href=&quot;https://kodi.tv&quot;&gt;Kodi&lt;/a&gt; (both using
+&lt;a href=&quot;https://www.openelec.tv/&quot;&gt;OpenELEC&lt;/a&gt; and
+&lt;a href=&quot;https://libreelec.tv&quot;&gt;LibreELEC&lt;/a&gt;) provide the
+&lt;a href=&quot;https://github.com/grinsted/script.screensaver.feedreader&quot;&gt;Feedreader&lt;/a&gt;
+screen saver capable of reading a RSS feed with images and news.  For
+fun, I used it this summer to test Kodi on my parents TV by hooking up
+a Raspberry PI unit with LibreELEC, and wanted to provide them with a
+screen saver showing selected pictures from my selection.&lt;/p&gt;
+
+&lt;p&gt;Armed with motivation and a test photo frame, I set out to generate
+a RSS feed for the Kodi instance.  I adjusted my &lt;a
+href=&quot;https://freedombox.org/&quot;&gt;Freedombox&lt;/a&gt; instance, created
+/var/www/html/privatepictures/, wrote a small Perl script to extract
+title and description metadata from the photo files and generate the
+RSS file.  I ended up using Perl instead of python, as the
+libimage-exiftool-perl Debian package seemed to handle the EXIF/XMP
+tags I ended up using, while python3-exif did not.  The relevant EXIF
+tags only support ASCII, so I had to find better alternatives.  XMP
+seem to have the support I need.&lt;/p&gt;
+
+&lt;p&gt;I am a bit unsure which EXIF/XMP tags to use, as I would like to
+use tags that can be easily added/updated using normal free software
+photo managing software.  I ended up using the tags set using this
+exiftool command, as these tags can also be set using digiKam:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+exiftool -headline=&#39;The RSS image title&#39; \
+  -description=&#39;The RSS image description.&#39; \
+  -subject+=for-family photo.jpeg
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;I initially tried the &quot;-title&quot; and &quot;keyword&quot; tags, but they were
+invisible in digiKam, so I changed to &quot;-headline&quot; and &quot;-subject&quot;.  I
+use the keyword/subject &#39;for-family&#39; to flag that the photo should be
+shared with my family.  Images with this keyword set are located and
+copied into my Freedombox for the RSS generating script to find.&lt;/p&gt;
+
+&lt;p&gt;Are there better ways to do this?  Get in touch if you have better
+suggestions.&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>Release 0.1.1 of free software archive system Nikita announced</title>
-               <link>http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html</guid>
-                <pubDate>Sat, 10 Jun 2017 00:40:00 +0200</pubDate>
-               <description>&lt;p&gt;I am very happy to report that the
-&lt;a href=&quot;https://github.com/hiOA-ABI/nikita-noark5-core&quot;&gt;Nikita Noark 5
-core project&lt;/a&gt; tagged its second release today.  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.1.1 since version 0.1.0 (from NEWS.md):
-
-&lt;ul&gt;
-
- &lt;li&gt;Continued work on the angularjs GUI, including document upload.&lt;/li&gt;
- &lt;li&gt;Implemented correspondencepartPerson, correspondencepartUnit and
-   correspondencepartInternal&lt;/li&gt;
- &lt;li&gt;Applied for coverity coverage and started submitting code on
-   regualr basis.&lt;/li&gt;
- &lt;li&gt;Started fixing bugs reported by coverity&lt;/li&gt;
- &lt;li&gt;Corrected and completed HATEOAS links to make sure entire API is
-   available via URLs in _links.&lt;/li&gt;
- &lt;li&gt;Corrected all relation URLs to use trailing slash.&lt;/li&gt;
- &lt;li&gt;Add initial support for storing data in ElasticSearch.&lt;/li&gt;
- &lt;li&gt;Now able to receive and store uploaded files in the archive.&lt;/li&gt;
- &lt;li&gt;Changed JSON output for object lists to have relations in _links.&lt;/li&gt;
- &lt;li&gt;Improve JSON output for empty object lists.&lt;/li&gt;
- &lt;li&gt;Now uses correct MIME type application/vnd.noark5-v4+json.&lt;/li&gt;
- &lt;li&gt;Added support for docker container images.&lt;/li&gt;
- &lt;li&gt;Added simple API browser implemented in JavaScript/Angular.&lt;/li&gt;
- &lt;li&gt;Started on archive client implemented in JavaScript/Angular.&lt;/li&gt;
- &lt;li&gt;Started on prototype to show the public mail journal.&lt;/li&gt;
- &lt;li&gt;Improved performance by disabling Sprint FileWatcher.&lt;/li&gt;
- &lt;li&gt;Added support for &#39;arkivskaper&#39;, &#39;saksmappe&#39; and &#39;journalpost&#39;.&lt;/li&gt;
- &lt;li&gt;Added support for some metadata codelists.&lt;/li&gt;
- &lt;li&gt;Added support for Cross-origin resource sharing (CORS).&lt;/li&gt;
- &lt;li&gt;Changed login method from Basic Auth to JSON Web Token (RFC 7519)
-   style.&lt;/li&gt;
- &lt;li&gt;Added support for GET-ing ny-* URLs.&lt;/li&gt;
- &lt;li&gt;Added support for modifying entities using PUT and eTag.&lt;/li&gt;
- &lt;li&gt;Added support for returning XML output on request.&lt;/li&gt;
- &lt;li&gt;Removed support for English field and class names, limiting ourself
-   to the official names.&lt;/li&gt;
- &lt;li&gt;...&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;If this sound interesting to you, please contact us on IRC (#nikita
-on irc.freenode.net) or email
-(&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
-mailing list).&lt;/p&gt;
+               <title>Simple streaming the Linux desktop to Kodi using GStreamer and RTP</title>
+               <link>http://people.skolelinux.org/pere/blog/Simple_streaming_the_Linux_desktop_to_Kodi_using_GStreamer_and_RTP.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Simple_streaming_the_Linux_desktop_to_Kodi_using_GStreamer_and_RTP.html</guid>
+                <pubDate>Thu, 12 Jul 2018 17:55:00 +0200</pubDate>
+               <description>&lt;p&gt;Last night, I wrote
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html&quot;&gt;a
+recipe to stream a Linux desktop using VLC to a instance of Kodi&lt;/a&gt;.
+During the day I received valuable feedback, and thanks to the
+suggestions I have been able to rewrite the recipe into a much simpler
+approach requiring no setup at all.  It is a single script that take
+care of it all.&lt;/p&gt;
+
+&lt;p&gt;This new script uses GStreamer instead of VLC to capture the
+desktop and stream it to Kodi.  This fixed the video quality issue I
+saw initially.  It further removes the need to add a m3u file on the
+Kodi machine, as it instead connects to
+&lt;a href=&quot;https://kodi.wiki/view/JSON-RPC_API/v8&quot;&gt;the JSON-RPC API in
+Kodi&lt;/a&gt; and simply ask Kodi to play from the stream created using
+GStreamer.  Streaming the desktop to Kodi now become trivial.  Copy
+the script below, run it with the DNS name or IP address of the kodi
+server to stream to as the only argument, and watch your screen show
+up on the Kodi screen.  Note, it depend on multicast on the local
+network, so if you need to stream outside the local network, the
+script must be modified.  Also note, I have no idea if audio work, as
+I only care about the picture part.&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+#!/bin/sh
+#
+# Stream the Linux desktop view to Kodi.  See
+# http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html
+# for backgorund information.
+
+# Make sure the stream is stopped in Kodi and the gstreamer process is
+# killed if something go wrong (for example if curl is unable to find the
+# kodi server).  Do the same when interrupting this script.
+kodicmd() {
+    host=&quot;$1&quot;
+    cmd=&quot;$2&quot;
+    params=&quot;$3&quot;
+    curl --silent --header &#39;Content-Type: application/json&#39; \
+        --data-binary &quot;{ \&quot;id\&quot;: 1, \&quot;jsonrpc\&quot;: \&quot;2.0\&quot;, \&quot;method\&quot;: \&quot;$cmd\&quot;, \&quot;params\&quot;: $params }&quot; \
+        &quot;http://$host/jsonrpc&quot;
+}
+cleanup() {
+    if [ -n &quot;$kodihost&quot; ] ; then
+       # Stop the playing when we end
+       playerid=$(kodicmd &quot;$kodihost&quot; Player.GetActivePlayers &quot;{}&quot; |
+                           jq .result[].playerid)
+       kodicmd &quot;$kodihost&quot; Player.Stop &quot;{ \&quot;playerid\&quot; : $playerid }&quot; &gt; /dev/null
+    fi
+    if [ &quot;$gstpid&quot; ] &amp;&amp; kill -0 &quot;$gstpid&quot; &gt;/dev/null 2&gt;&amp;1; then
+       kill &quot;$gstpid&quot;
+    fi
+}
+trap cleanup EXIT INT
+
+if [ -n &quot;$1&quot; ]; then
+    kodihost=$1
+    shift
+else
+    kodihost=kodi.local
+fi
+
+mcast=239.255.0.1
+mcastport=1234
+mcastttl=1
+
+pasrc=$(pactl list | grep -A2 &#39;Source #&#39; | grep &#39;Name: .*\.monitor$&#39; | \
+  cut -d&quot; &quot; -f2|head -1)
+gst-launch-1.0 ximagesrc use-damage=0 ! video/x-raw,framerate=30/1 ! \
+  videoconvert ! queue2 ! \
+  x264enc bitrate=8000 speed-preset=superfast tune=zerolatency qp-min=30 \
+  key-int-max=15 bframes=2 ! video/x-h264,profile=high ! queue2 ! \
+  mpegtsmux alignment=7 name=mux ! rndbuffersize max=1316 min=1316 ! \
+  udpsink host=$mcast port=$mcastport ttl-mc=$mcastttl auto-multicast=1 sync=0 \
+  pulsesrc device=$pasrc ! audioconvert ! queue2 ! avenc_aac ! queue2 ! mux. \
+  &gt; /dev/null 2&gt;&amp;1 &amp;
+gstpid=$!
+
+# Give stream a second to get going
+sleep 1
+
+# Ask kodi to start streaming using its JSON-RPC API
+kodicmd &quot;$kodihost&quot; Player.Open \
+       &quot;{\&quot;item\&quot;: { \&quot;file\&quot;: \&quot;udp://@$mcast:$mcastport\&quot; } }&quot; &gt; /dev/null
+
+# wait for gst to end
+wait &quot;$gstpid&quot;
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;I hope you find the approach useful.  I know I do.&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>Idea for storing trusted timestamps in a Noark 5 archive</title>
-               <link>http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html</guid>
-                <pubDate>Wed, 7 Jun 2017 21:40:00 +0200</pubDate>
-               <description>&lt;p&gt;&lt;em&gt;This is a copy of
-&lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2017-June/000297.html&quot;&gt;an
-email I posted to the nikita-noark mailing list&lt;/a&gt;.  Please follow up
-there if you would like to discuss this topic.  The background is that
-we are making a free software archive system based on the Norwegian
-&lt;a href=&quot;https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden&quot;&gt;Noark
-5 standard&lt;/a&gt; for government archives.&lt;/em&gt;&lt;/p&gt;
-
-&lt;p&gt;I&#39;ve been wondering a bit lately how trusted timestamps could be
-stored in Noark 5.
-&lt;a href=&quot;https://en.wikipedia.org/wiki/Trusted_timestamping&quot;&gt;Trusted
-timestamps&lt;/a&gt; can be used to verify that some information
-(document/file/checksum/metadata) have not been changed since a
-specific time in the past.  This is useful to verify the integrity of
-the documents in the archive.&lt;/p&gt;
-
-&lt;p&gt;Then it occured to me, perhaps the trusted timestamps could be
-stored as dokument variants (ie dokumentobjekt referered to from
-dokumentbeskrivelse) with the filename set to the hash it is
-stamping?&lt;/p&gt;
-
-&lt;p&gt;Given a &quot;dokumentbeskrivelse&quot; with an associated &quot;dokumentobjekt&quot;,
-a new dokumentobjekt is associated with &quot;dokumentbeskrivelse&quot; with the
-same attributes as the stamped dokumentobjekt except these
-attributes:&lt;/p&gt;
-
-&lt;ul&gt;
-
-&lt;li&gt;format -&gt; &quot;RFC3161&quot;
-&lt;li&gt;mimeType -&gt; &quot;application/timestamp-reply&quot;
-&lt;li&gt;formatDetaljer -&gt; &quot;&amp;lt;source URL for timestamp service&amp;gt;&quot;
-&lt;li&gt;filenavn -&gt; &quot;&amp;lt;sjekksum&amp;gt;.tsr&quot;
-
-&lt;/ul&gt;
-
-&lt;p&gt;This assume a service following
-&lt;a href=&quot;https://tools.ietf.org/html/rfc3161&quot;&gt;IETF RFC 3161&lt;/a&gt; is
-used, which specifiy the given MIME type for replies and the .tsr file
-ending for the content of such trusted timestamp.  As far as I can
-tell from the Noark 5 specifications, it is OK to have several
-variants/renderings of a dokument attached to a given
-dokumentbeskrivelse objekt.  It might be stretching it a bit to make
-some of these variants represent crypto-signatures useful for
-verifying the document integrity instead of representing the dokument
-itself.&lt;/p&gt;
-
-&lt;p&gt;Using the source of the service in formatDetaljer allow several
-timestamping services to be used.  This is useful to spread the risk
-of key compromise over several organisations.  It would only be a
-problem to trust the timestamps if all of the organisations are
-compromised.&lt;/p&gt;
-
-&lt;p&gt;The following oneliner on Linux can be used to generate the tsr
-file.  $input is the path to the file to checksum, and $sha256 is the
-SHA-256 checksum of the file (ie the &quot;&lt;sjekksum&gt;.tsr&quot; value mentioned
-above).&lt;/p&gt;
+               <title>Streaming the Linux desktop to Kodi using VLC and RTSP</title>
+               <link>http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html</guid>
+                <pubDate>Thu, 12 Jul 2018 02:00:00 +0200</pubDate>
+               <description>&lt;p&gt;PS: See
+&lt;ahref=&quot;http://people.skolelinux.org/pere/blog/Simple_streaming_the_Linux_desktop_to_Kodi_using_GStreamer_and_RTP.html&quot;&gt;the
+followup post&lt;/a&gt; for a even better approach.&lt;/p&gt;
+
+&lt;p&gt;A while back, I was asked by a friend how to stream the desktop to
+my projector connected to Kodi.  I sadly had to admit that I had no
+idea, as it was a task I never had tried.  Since then, I have been
+looking for a way to do so, preferable without much extra software to
+install on either side.  Today I found a way that seem to kind of
+work.  Not great, but it is a start.&lt;/p&gt;
+
+&lt;p&gt;I had a look at several approaches, for example
+&lt;a href=&quot;https://github.com/mfoetsch/dlna_live_streaming&quot;&gt;using uPnP
+DLNA as described in 2011&lt;/a&gt;, but it required a uPnP server, fuse and
+local storage enough to store the stream locally.  This is not going
+to work well for me, lacking enough free space, and it would
+impossible for my friend to get working.&lt;/p&gt;
+
+&lt;p&gt;Next, it occurred to me that perhaps I could use VLC to create a
+video stream that Kodi could play.  Preferably using
+broadcast/multicast, to avoid having to change any setup on the Kodi
+side when starting such stream.  Unfortunately, the only recipe I
+could find using multicast used the rtp protocol, and this protocol
+seem to not be supported by Kodi.&lt;/p&gt;
+
+&lt;p&gt;On the other hand, the rtsp protocol is working!  Unfortunately I
+have to specify the IP address of the streaming machine in both the
+sending command and the file on the Kodi server.  But it is showing my
+desktop, and thus allow us to have a shared look on the big screen at
+the programs I work on.&lt;/p&gt;
+
+&lt;p&gt;I did not spend much time investigating codeces.  I combined the
+rtp and rtsp recipes from
+&lt;a href=&quot;https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/&quot;&gt;the
+VLC Streaming HowTo/Command Line Examples&lt;/a&gt;, and was able to get
+this working on the desktop/streaming end.&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+vlc screen:// --sout \
+  &#39;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{dst=projector.local,port=1234,sdp=rtsp://192.168.11.4:8080/test.sdp}&#39;
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;I ssh-ed into my Kodi box and created a file like this with the
+same IP address:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+echo rtsp://192.168.11.4:8080/test.sdp \
+  &gt; /storage/videos/screenstream.m3u
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;Note the 192.168.11.4 IP address is my desktops IP address.  As far
+as I can tell the IP must be hardcoded for this to work.  In other
+words, if someone elses machine is going to do the steaming, you have
+to update screenstream.m3u on the Kodi machine and adjust the vlc
+recipe.  To get started, locate the file in Kodi and select the m3u
+file while the VLC stream is running.  The desktop then show up in my
+big screen. :)&lt;/p&gt;
+
+&lt;p&gt;When using the same technique to stream a video file with audio,
+the audio quality is really bad.  No idea if the problem is package
+loss or bad parameters for the transcode.  I do not know VLC nor Kodi
+enough to tell.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Update 2018-07-12&lt;/strong&gt;: Johannes Schauer send me a few
+succestions and reminded me about an important step.  The &quot;screen:&quot;
+input source is only available once the vlc-plugin-access-extra
+package is installed on Debian.  Without it, you will see this error
+message: &quot;VLC is unable to open the MRL &#39;screen://&#39;.  Check the log
+for details.&quot;  He further found that it is possible to drop some parts
+of the VLC command line to reduce the amount of hardcoded information.
+It is also useful to consider using cvlc to avoid having the VLC
+window in the desktop view.  In sum, this give us this command line on
+the source end
+
+&lt;blockquote&gt;&lt;pre&gt;
+cvlc screen:// --sout \
+  &#39;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{sdp=rtsp://:8080/}&#39;
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;and this on the Kodi end&lt;p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+echo rtsp://192.168.11.4:8080/ \
+  &gt; /storage/videos/screenstream.m3u
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;Still bad image quality, though.  But I did discover that streaming
+a DVD using dvdsimple:///dev/dvd as the source had excellent video and
+audio quality, so I guess the issue is in the input or transcoding
+parts, not the rtsp part.  I&#39;ve tried to change the vb and ab
+parameters to use more bandwidth, but it did not make a
+difference.&lt;/p&gt;
+
+&lt;p&gt;I further received a suggestion from Einar Haraldseid to try using
+gstreamer instead of VLC, and this proved to work great!  He also
+provided me with the trick to get Kodi to use a multicast stream as
+its source.  By using this monstrous oneliner, I can stream my desktop
+with good video quality in reasonable framerate to the 239.255.0.1
+multicast address on port 1234:
+
+&lt;blockquote&gt;&lt;pre&gt;
+gst-launch-1.0 ximagesrc use-damage=0 ! video/x-raw,framerate=30/1 ! \
+  videoconvert ! queue2 ! \
+  x264enc bitrate=8000 speed-preset=superfast tune=zerolatency qp-min=30 \
+  key-int-max=15 bframes=2 ! video/x-h264,profile=high ! queue2 ! \
+  mpegtsmux alignment=7 name=mux ! rndbuffersize max=1316 min=1316 ! \
+  udpsink host=239.255.0.1 port=1234 ttl-mc=1 auto-multicast=1 sync=0 \
+  pulsesrc device=$(pactl list | grep -A2 &#39;Source #&#39; | \
+    grep &#39;Name: .*\.monitor$&#39; |  cut -d&quot; &quot; -f2|head -1) ! \
+  audioconvert ! queue2 ! avenc_aac ! queue2 ! mux.
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;and this on the Kodi end&lt;p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+echo udp://@239.255.0.1:1234 \
+  &gt; /storage/videos/screenstream.m3u
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;Note the trick to pick a valid pulseaudio source.  It might not
+pick the one you need.  This approach will of course lead to trouble
+if more than one source uses the same multicast port and address.
+Note the ttl-mc=1 setting, which limit the multicast packages to the
+local network.  If the value is increased, your screen will be
+broadcasted further, one network &quot;hop&quot; for each increase (read up on
+multicast to learn more. :)!&lt;/p&gt;
+
+&lt;p&gt;Having cracked how to get Kodi to receive multicast streams, I
+could use this VLC command to stream to the same multicast address.
+The image quality is way better than the rtsp approach, but gstreamer
+seem to be doing a better job.&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+cvlc screen:// --sout &#39;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{mux=ts,dst=239.255.0.1,port=1234,sdp=sap}&#39;
+&lt;/pre&gt;&lt;/blockquote&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>What is the most supported MIME type in Debian in 2018?</title>
+               <link>http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html</guid>
+                <pubDate>Mon, 9 Jul 2018 08:05:00 +0200</pubDate>
+               <description>&lt;p&gt;Five years ago,
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html&quot;&gt;I
+measured what the most supported MIME type in Debian was&lt;/a&gt;, by
+analysing the desktop files in all packages in the archive.  Since
+then, the DEP-11 AppStream system has been put into production, making
+the task a lot easier.  This made me want to repeat the measurement,
+to see how much things changed.  Here are the new numbers, for
+unstable only this time:
+
+&lt;p&gt;&lt;strong&gt;Debian Unstable:&lt;/strong&gt;&lt;/p&gt;
+
+&lt;pre&gt;
+  count MIME type
+  ----- -----------------------
+     56 image/jpeg
+     55 image/png
+     49 image/tiff
+     48 image/gif
+     39 image/bmp
+     38 text/plain
+     37 audio/mpeg
+     34 application/ogg
+     33 audio/x-flac
+     32 audio/x-mp3
+     30 audio/x-wav
+     30 audio/x-vorbis+ogg
+     29 image/x-portable-pixmap
+     27 inode/directory
+     27 image/x-portable-bitmap
+     27 audio/x-mpeg
+     26 application/x-ogg
+     25 audio/x-mpegurl
+     25 audio/ogg
+     24 text/html
+&lt;/pre&gt;
+
+&lt;p&gt;The list was created like this using a sid chroot: &quot;cat
+/var/lib/apt/lists/*sid*_dep11_Components-amd64.yml.gz| zcat | awk &#39;/^
+- \S+\/\S+$/ {print $2 }&#39; | sort | uniq -c | sort -nr | head -20&quot;&lt;/p&gt;
+
+&lt;p&gt;It is interesting to see how image formats have passed text/plain
+as the most announced supported MIME type.  These days, thanks to the
+AppStream system, if you run into a file format you do not know, and
+want to figure out which packages support the format, you can find the
+MIME type of the file using &quot;file --mime &amp;lt;filename&amp;gt;&quot;, and then
+look up all packages announcing support for this format in their
+AppStream metadata (XML or .desktop file) using &quot;appstreamcli
+what-provides mimetype &amp;lt;mime-type&amp;gt;.  For example if you, like
+me, want to know which packages support inode/directory, you can get a
+list like this:&lt;/p&gt;
 
 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
-openssl ts -query -data &quot;$inputfile&quot; -cert -sha256 -no_nonce \
-  | curl -s -H &quot;Content-Type: application/timestamp-query&quot; \
-      --data-binary &quot;@-&quot; http://zeitstempel.dfn.de &gt; $sha256.tsr
+% appstreamcli what-provides mimetype inode/directory | grep Package: | sort
+Package: anjuta
+Package: audacious
+Package: baobab
+Package: cervisia
+Package: chirp
+Package: dolphin
+Package: doublecmd-common
+Package: easytag
+Package: enlightenment
+Package: ephoto
+Package: filelight
+Package: gwenview
+Package: k4dirstat
+Package: kaffeine
+Package: kdesvn
+Package: kid3
+Package: kid3-qt
+Package: nautilus
+Package: nemo
+Package: pcmanfm
+Package: pcmanfm-qt
+Package: qweborf
+Package: ranger
+Package: sirikali
+Package: spacefm
+Package: spacefm
+Package: vifm
+%
 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
 
-&lt;p&gt;To verify the timestamp, you first need to download the public key
-of the trusted timestamp service, for example using this command:&lt;/p&gt;
+&lt;p&gt;Using the same method, I can quickly discover that the Sketchup file
+format is not yet supported by any package in Debian:&lt;/p&gt;
 
 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
-wget -O ca-cert.txt \
-  https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
+% appstreamcli what-provides mimetype  application/vnd.sketchup.skp
+Could not find component providing &#39;mimetype::application/vnd.sketchup.skp&#39;.
+%
 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
 
-&lt;p&gt;Note, the public key should be stored alongside the timestamps in
-the archive to make sure it is also available 100 years from now.  It
-is probably a good idea to standardise how and were to store such
-public keys, to make it easier to find for those trying to verify
-documents 100 or 1000 years from now. :)&lt;/p&gt;
-
-&lt;p&gt;The verification itself is a simple openssl command:&lt;/p&gt;
+&lt;p&gt;Yesterday I used it to figure out which packages support the STL 3D
+format:&lt;/p&gt;
 
 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
-openssl ts -verify -data $inputfile -in $sha256.tsr \
-  -CAfile ca-cert.txt -text
+% appstreamcli what-provides mimetype  application/sla|grep Package
+Package: cura
+Package: meshlab
+Package: printrun
+%
 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
 
-&lt;p&gt;Is there any reason this approach would not work?  Is it somehow against
-the Noark 5 specification?&lt;/p&gt;
-</description>
-       </item>
-       
-       <item>
-               <title>Når nynorskoversettelsen svikter til eksamen...</title>
-               <link>http://people.skolelinux.org/pere/blog/N_r_nynorskoversettelsen_svikter_til_eksamen___.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/N_r_nynorskoversettelsen_svikter_til_eksamen___.html</guid>
-                <pubDate>Sat, 3 Jun 2017 08:20:00 +0200</pubDate>
-               <description>&lt;p&gt;&lt;a href=&quot;http://www.aftenposten.no/norge/Krever-at-elever-ma-fa-annullert-eksamen-etter-rot-med-oppgavetekster-622459b.html&quot;&gt;Aftenposten
-melder i dag&lt;/a&gt; om feil i eksamensoppgavene for eksamen i politikk og
-menneskerettigheter, der teksten i bokmåls og nynorskutgaven ikke var
-like.  Oppgaveteksten er gjengitt i artikkelen, og jeg ble nysgjerring
-på om den fri oversetterløsningen
-&lt;a href=&quot;https://www.apertium.org/&quot;&gt;Apertium&lt;/a&gt; ville gjort en bedre
-jobb enn Utdanningsdirektoratet.  Det kan se slik ut.&lt;/p&gt;
-
-&lt;p&gt;Her er bokmålsoppgaven fra eksamenen:&lt;/p&gt;
-
-&lt;blockquote&gt;
-&lt;p&gt;Drøft utfordringene knyttet til nasjonalstatenes og andre aktørers
-rolle og muligheter til å håndtere internasjonale utfordringer, som
-for eksempel flykningekrisen.&lt;/p&gt;
-
-&lt;p&gt;Vedlegge er eksempler på tekster som kan gi relevante perspektiver
-på temaet:&lt;/p&gt;
-&lt;ol&gt;
-&lt;li&gt;Flykningeregnskapet 2016, UNHCR og IDMC
-&lt;li&gt;«Grenseløst Europa for fall» A-Magasinet, 26. november 2015
-&lt;/ol&gt;
-
-&lt;/blockquote&gt;
-
-&lt;p&gt;Dette oversetter Apertium slik:&lt;/p&gt;
-
-&lt;blockquote&gt;
-&lt;p&gt;Drøft utfordringane knytte til nasjonalstatane sine og rolla til
-andre aktørar og høve til å handtera internasjonale utfordringar, som
-til dømes *flykningekrisen.&lt;/p&gt;
-
-&lt;p&gt;Vedleggja er døme på tekster som kan gje relevante perspektiv på
-temaet:&lt;/p&gt;
-
-&lt;ol&gt;
-&lt;li&gt;*Flykningeregnskapet 2016, *UNHCR og *IDMC&lt;/li&gt;
-&lt;li&gt;«*Grenseløst Europa for fall» A-Magasinet, 26. november 2015&lt;/li&gt;
-&lt;/ol&gt;
-
-&lt;/blockquote&gt;
-
-&lt;p&gt;Ord som ikke ble forstått er markert med stjerne (*), og trenger
-ekstra språksjekk.  Men ingen ord er forsvunnet, slik det var i
-oppgaven elevene fikk presentert på eksamen.  Jeg mistenker dog at
-&quot;andre aktørers rolle og muligheter til ...&quot; burde vært oversatt til
-&quot;rolla til andre aktørar og deira høve til ...&quot; eller noe slikt, men
-det er kanskje flisespikking.  Det understreker vel bare at det alltid
-trengs korrekturlesning etter automatisk oversettelse.&lt;/p&gt;
+&lt;p&gt;PS: A new version of Cura was uploaded to Debian yesterday.&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>Epost inn som arkivformat i Riksarkivarens forskrift?</title>
-               <link>http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html</guid>
-                <pubDate>Thu, 27 Apr 2017 11:30:00 +0200</pubDate>
-               <description>&lt;p&gt;I disse dager, med frist 1. mai, har Riksarkivaren ute en høring på
-sin forskrift.  Som en kan se er det ikke mye tid igjen før fristen
-som går ut på søndag.  Denne forskriften er det som lister opp hvilke
-formater det er greit å arkivere i
-&lt;a href=&quot;http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark/Noark-5&quot;&gt;Noark
-5-løsninger&lt;/a&gt; i Norge.&lt;/p&gt;
-
-&lt;p&gt;Jeg fant høringsdokumentene hos
-&lt;a href=&quot;https://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing&quot;&gt;Norsk
-Arkivråd&lt;/a&gt; etter å ha blitt tipset på epostlisten til
-&lt;a href=&quot;https://github.com/hiOA-ABI/nikita-noark5-core&quot;&gt;fri
-programvareprosjektet Nikita Noark5-Core&lt;/a&gt;, som lager et Noark 5
-Tjenestegresesnitt.  Jeg er involvert i Nikita-prosjektet og takket
-være min interesse for tjenestegrensesnittsprosjektet har jeg lest en
-god del Noark 5-relaterte dokumenter, og til min overraskelse oppdaget
-at standard epost ikke er på listen over godkjente formater som kan
-arkiveres.  Høringen med frist søndag er en glimrende mulighet til å
-forsøke å gjøre noe med det.  Jeg holder på med
-&lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/hoering-arkivforskrift.tex&quot;&gt;egen
-høringsuttalelse&lt;/a&gt;, og lurer på om andre er interessert i å støtte
-forslaget om å tillate arkivering av epost som epost i arkivet.&lt;/p&gt;
-
-&lt;p&gt;Er du igang med å skrive egen høringsuttalelse allerede?  I så fall
-kan du jo vurdere å ta med en formulering om epost-lagring. Jeg tror
-ikke det trengs så mye.  Her et kort forslag til tekst:&lt;/p&gt;
-
-&lt;p&gt;&lt;blockquote&gt;
-
-  &lt;p&gt;Viser til høring sendt ut 2017-02-17 (Riksarkivarens referanse
-  2016/9840 HELHJO), og tillater oss å sende inn noen innspill om
-  revisjon av Forskrift om utfyllende tekniske og arkivfaglige
-  bestemmelser om behandling av offentlige arkiver (Riksarkivarens
-  forskrift).&lt;/p&gt;
-
-  &lt;p&gt;Svært mye av vår kommuikasjon foregår i dag på e-post.  Vi
-  foreslår derfor at Internett-e-post, slik det er beskrevet i IETF
-  RFC 5322,
-  &lt;a href=&quot;https://tools.ietf.org/html/rfc5322&quot;&gt;https://tools.ietf.org/html/rfc5322&lt;/a&gt;. bør
-  inn som godkjent dokumentformat.  Vi foreslår at forskriftens
-  oversikt over godkjente dokumentformater ved innlevering i § 5-16
-  endres til å ta med Internett-e-post.&lt;/p&gt;
-
-&lt;/blockquote&gt;&lt;/p&gt;
-
-&lt;p&gt;Som del av arbeidet med tjenestegrensesnitt har vi testet hvordan
-epost kan lagres i en Noark 5-struktur, og holder på å skrive et
-forslag om hvordan dette kan gjøres som vil bli sendt over til
-arkivverket så snart det er ferdig.  De som er interesserte kan
-&lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/epostlagring.md&quot;&gt;følge
-fremdriften på web&lt;/a&gt;.&lt;/p&gt;
-
-&lt;p&gt;Oppdatering 2017-04-28: I dag ble høringuttalelsen jeg skrev
-  &lt;a href=&quot;https://www.nuug.no/news/NUUGs_h_ringuttalelse_til_Riksarkivarens_forskrift.shtml&quot;&gt;sendt
-  inn av foreningen NUUG&lt;/a&gt;.&lt;/p&gt;
+               <title>Debian APT upgrade without enough free space on the disk...</title>
+               <link>http://people.skolelinux.org/pere/blog/Debian_APT_upgrade_without_enough_free_space_on_the_disk___.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_APT_upgrade_without_enough_free_space_on_the_disk___.html</guid>
+                <pubDate>Sun, 8 Jul 2018 12:10:00 +0200</pubDate>
+               <description>&lt;p&gt;Quite regularly, I let my Debian Sid/Unstable chroot stay untouch
+for a while, and when I need to update it there is not enough free
+space on the disk for apt to do a normal &#39;apt upgrade&#39;.  I normally
+would resolve the issue by doing &#39;apt install &amp;lt;somepackages&amp;gt;&#39; to
+upgrade only some of the packages in one batch, until the amount of
+packages to download fall below the amount of free space available.
+Today, I had about 500 packages to upgrade, and after a while I got
+tired of trying to install chunks of packages manually.  I concluded
+that I did not have the spare hours required to complete the task, and
+decided to see if I could automate it.  I came up with this small
+script which I call &#39;apt-in-chunks&#39;:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+#!/bin/sh
+#
+# Upgrade packages when the disk is too full to upgrade every
+# upgradable package in one lump.  Fetching packages to upgrade using
+# apt, and then installing using dpkg, to avoid changing the package
+# flag for manual/automatic.
+
+set -e
+
+ignore() {
+    if [ &quot;$1&quot; ]; then
+       grep -v &quot;$1&quot;
+    else
+       cat
+    fi
+}
+
+for p in $(apt list --upgradable | ignore &quot;$@&quot; |cut -d/ -f1 | grep -v &#39;^Listing...&#39;); do
+    echo &quot;Upgrading $p&quot;
+    apt clean
+    apt install --download-only -y $p
+    for f in /var/cache/apt/archives/*.deb; do
+       if [ -e &quot;$f&quot; ]; then
+           dpkg -i /var/cache/apt/archives/*.deb
+           break
+       fi
+    done
+done
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;The script will extract the list of packages to upgrade, try to
+download the packages needed to upgrade one package, install the
+downloaded packages using dpkg.  The idea is to upgrade packages
+without changing the APT mark for the package (ie the one recording of
+the package was manually requested or pulled in as a dependency).  To
+use it, simply run it as root from the command line.  If it fail, try
+&#39;apt install -f&#39; to clean up the mess and run the script again.  This
+might happen if the new packages conflict with one of the old
+packages.  dpkg is unable to remove, while apt can do this.&lt;/p&gt;
+
+&lt;p&gt;It take one option, a package to ignore in the list of packages to
+upgrade.  The option to ignore a package is there to be able to skip
+the packages that are simply too large to unpack.  Today this was
+&#39;ghc&#39;, but I have run into other large packages causing similar
+problems earlier (like TeX).&lt;/p&gt;
+
+&lt;p&gt;Update 2018-07-08: Thanks to Paul Wise, I am aware of two
+alternative ways to handle this.  The &quot;unattended-upgrades
+--minimal-upgrade-steps&quot; option will try to calculate upgrade sets for
+each package to upgrade, and then upgrade them in order, smallest set
+first.  It might be a better option than my above mentioned script.
+Also, &quot;aptutude upgrade&quot; can upgrade single packages, thus avoiding
+the need for using &quot;dpkg -i&quot; in the script above.&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>Offentlig elektronisk postjournal blokkerer tilgang for utvalgte webklienter</title>
-               <link>http://people.skolelinux.org/pere/blog/Offentlig_elektronisk_postjournal_blokkerer_tilgang_for_utvalgte_webklienter.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Offentlig_elektronisk_postjournal_blokkerer_tilgang_for_utvalgte_webklienter.html</guid>
-                <pubDate>Thu, 20 Apr 2017 13:00:00 +0200</pubDate>
-               <description>&lt;p&gt;Jeg oppdaget i dag at &lt;a href=&quot;https://www.oep.no/&quot;&gt;nettstedet som
-publiserer offentlige postjournaler fra statlige etater&lt;/a&gt;, OEP, har
-begynt å blokkerer enkelte typer webklienter fra å få tilgang.  Vet
-ikke hvor mange det gjelder, men det gjelder i hvert fall libwww-perl
-og curl.  For å teste selv, kjør følgende:&lt;/p&gt;
-
-&lt;blockquote&gt;&lt;pre&gt;
-% curl -v -s https://www.oep.no/pub/report.xhtml?reportId=3 2&gt;&amp;1 |grep &#39;&lt; HTTP&#39;
-&lt; HTTP/1.1 404 Not Found
-% curl -v -s --header &#39;User-Agent:Opera/12.0&#39; https://www.oep.no/pub/report.xhtml?reportId=3 2&gt;&amp;1 |grep &#39;&lt; HTTP&#39;
-&lt; HTTP/1.1 200 OK
-%
-&lt;/pre&gt;&lt;/blockquote&gt;
-
-&lt;p&gt;Her kan en se at tjenesten gir «404 Not Found» for curl i
-standardoppsettet, mens den gir «200 OK» hvis curl hevder å være Opera
-versjon 12.0.  Offentlig elektronisk postjournal startet blokkeringen
-2017-03-02.&lt;/p&gt;
-
-&lt;p&gt;Blokkeringen vil gjøre det litt vanskeligere å maskinelt hente
-informasjon fra oep.no.  Kan blokkeringen være gjort for å hindre
-automatisert innsamling av informasjon fra OEP, slik Pressens
-Offentlighetsutvalg gjorde for å dokumentere hvordan departementene
-hindrer innsyn i
-&lt;a href=&quot;http://presse.no/dette-mener-np/undergraver-offentlighetsloven/&quot;&gt;rapporten
-«Slik hindrer departementer innsyn» som ble publiserte i januar
-2017&lt;/a&gt;.  Det virker usannsynlig, da det jo er trivielt å bytte
-User-Agent til noe nytt.&lt;/p&gt;
-
-&lt;p&gt;Finnes det juridisk grunnlag for det offentlige å diskriminere
-webklienter slik det gjøres her?  Der tilgang gis eller ikke alt etter
-hva klienten sier at den heter?  Da OEP eies av DIFI og driftes av
-Basefarm, finnes det kanskje noen dokumenter sendt mellom disse to
-aktørene man kan be om innsyn i for å forstå hva som har skjedd.  Men
-&lt;a href=&quot;https://www.oep.no/search/result.html?period=dateRange&amp;fromDate=01.01.2016&amp;toDate=01.04.2017&amp;dateType=documentDate&amp;caseDescription=&amp;descType=both&amp;caseNumber=&amp;documentNumber=&amp;sender=basefarm&amp;senderType=both&amp;documentType=all&amp;legalAuthority=&amp;archiveCode=&amp;list2=196&amp;searchType=advanced&amp;Search=Search+in+records&quot;&gt;postjournalen
-til DIFI viser kun to dokumenter&lt;/a&gt; det siste året mellom DIFI og
-Basefarm.
-&lt;a href=&quot;https://www.mimesbronn.no/request/blokkering_av_tilgang_til_oep_fo&quot;&gt;Mimes brønn neste&lt;/a&gt;,
-tenker jeg.&lt;/p&gt;
+               <title>The worlds only stone power plant?</title>
+               <link>http://people.skolelinux.org/pere/blog/The_worlds_only_stone_power_plant_.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_worlds_only_stone_power_plant_.html</guid>
+                <pubDate>Sat, 30 Jun 2018 10:35:00 +0200</pubDate>
+               <description>&lt;p&gt;So far, at least hydro-electric power, coal power, wind power,
+solar power, and wood power are well known.  Until a few days ago, I
+had never heard of stone power.  Then I learn about a quarry in a
+mountain in
+&lt;a href=&quot;https://en.wikipedia.org/wiki/Bremanger&quot;&gt;Bremanger&lt;/a&gt; i
+Norway, where
+&lt;a href=&quot;https://www.bontrup.com/en/activities/raw-materials/bremanger-quarry/&quot;&gt;the
+Bremanger Quarry&lt;/a&gt; company is extracting stone and dumping the stone
+into a shaft leading to its shipping harbour.  This downward movement
+in this shaft is used to produce electricity.  In short, it is using
+falling rocks instead of falling water to produce electricity, and
+according to its own statements it is producing more power than it is
+using, and selling the surplus electricity to the Norwegian power
+grid.  I find the concept truly amazing.  Is this the worlds only
+stone power plant?&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>Free software archive system Nikita now able to store documents</title>
-               <link>http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html</guid>
-                <pubDate>Sun, 19 Mar 2017 08:00:00 +0100</pubDate>
-               <description>&lt;p&gt;The &lt;a href=&quot;https://github.com/hiOA-ABI/nikita-noark5-core&quot;&gt;Nikita
-Noark 5 core project&lt;/a&gt; is implementing the Norwegian standard for
-keeping an electronic archive of government documents.
-&lt;a href=&quot;http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version&quot;&gt;The
-Noark 5 standard&lt;/a&gt; document the requirement for data systems used by
-the archives in the Norwegian government, and the Noark 5 web interface
-specification document a REST web service for storing, searching and
-retrieving documents and metadata in such archive.  I&#39;ve been involved
-in the project since a few weeks before Christmas, when the Norwegian
-Unix User Group
-&lt;a href=&quot;https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml&quot;&gt;announced
-it supported the project&lt;/a&gt;.  I believe this is an important project,
-and hope it can make it possible for the government archives in the
-future to use free software to keep the archives we citizens depend
-on.  But as I do not hold such archive myself, personally my first use
-case is to store and analyse public mail journal metadata published
-from the government.  I find it useful to have a clear use case in
-mind when developing, to make sure the system scratches one of my
-itches.&lt;/p&gt;
-
-&lt;p&gt;If you would like to help make sure there is a free software
-alternatives for the archives, please join our IRC channel
-(&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&quot;&gt;#nikita on
-irc.freenode.net&lt;/a&gt;) and
-&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;the
-project mailing list&lt;/a&gt;.&lt;/p&gt;
-
-&lt;p&gt;When I got involved, the web service could store metadata about
-documents.  But a few weeks ago, a new milestone was reached when it
-became possible to store full text documents too.  Yesterday, I
-completed an implementation of a command line tool
-&lt;tt&gt;archive-pdf&lt;/tt&gt; to upload a PDF file to the archive using this
-API.  The tool is very simple at the moment, and find existing
-&lt;a href=&quot;https://en.wikipedia.org/wiki/Fonds&quot;&gt;fonds&lt;/a&gt;, series and
-files while asking the user to select which one to use if more than
-one exist.  Once a file is identified, the PDF is associated with the
-file and uploaded, using the title extracted from the PDF itself.  The
-process is fairly similar to visiting the archive, opening a cabinet,
-locating a file and storing a piece of paper in the archive.  Here is
-a test run directly after populating the database with test data using
-our API tester:&lt;/p&gt;
-
-&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
-~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
-using arkiv: Title of the test fonds created 2017-03-18T23:49:32.103446
-using arkivdel: Title of the test series created 2017-03-18T23:49:32.103446
-
- 0 - Title of the test case file created 2017-03-18T23:49:32.103446
- 1 - Title of the test file created 2017-03-18T23:49:32.103446
-Select which mappe you want (or search term): 0
-Uploading mangelmelding/mangler.pdf
-  PDF title: Mangler i spesifikasjonsdokumentet for NOARK 5 Tjenestegrensesnitt
-  File 2017/1: Title of the test case file created 2017-03-18T23:49:32.103446
-~/src//noark5-tester$
-&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
-
-&lt;p&gt;You can see here how the fonds (arkiv) and serie (arkivdel) only had
-one option, while the user need to choose which file (mappe) to use
-among the two created by the API tester.  The &lt;tt&gt;archive-pdf&lt;/tt&gt;
-tool can be found in the git repository for the API tester.&lt;/p&gt;
-
-&lt;p&gt;In the project, I have been mostly working on
-&lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester&quot;&gt;the API
-tester&lt;/a&gt; so far, while getting to know the code base.  The API
-tester currently use
-&lt;a href=&quot;https://en.wikipedia.org/wiki/HATEOAS&quot;&gt;the HATEOAS links&lt;/a&gt;
-to traverse the entire exposed service API and verify that the exposed
-operations and objects match the specification, as well as trying to
-create objects holding metadata and uploading a simple XML file to
-store.  The tester has proved very useful for finding flaws in our
-implementation, as well as flaws in the reference site and the
-specification.&lt;/p&gt;
-
-&lt;p&gt;The test document I uploaded is a summary of all the specification
-defects we have collected so far while implementing the web service.
-There are several unclear and conflicting parts of the specification,
-and we have
-&lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding&quot;&gt;started
-writing down&lt;/a&gt; the questions we get from implementing it.  We use a
-format inspired by how &lt;a href=&quot;http://www.opengroup.org/austin/&quot;&gt;The
-Austin Group&lt;/a&gt; collect defect reports for the POSIX standard with
-&lt;a href=&quot;http://www.opengroup.org/austin/mantis.html&quot;&gt;their
-instructions for the MANTIS defect tracker system&lt;/a&gt;, in lack of an official way to structure defect reports for Noark 5 (our first submitted defect report was a &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/blob/master/mangelmelding/sendt/2017-03-15-mangel-prosess.md&quot;&gt;request for a procedure for submitting defect reports&lt;/a&gt; :).
-
-&lt;p&gt;The Nikita project is implemented using Java and Spring, and is
-fairly easy to get up and running using Docker containers for those
-that want to test the current code base.  The API tester is
-implemented in Python.&lt;/p&gt;
+               <title>Add-on to control the projector from within Kodi</title>
+               <link>http://people.skolelinux.org/pere/blog/Add_on_to_control_the_projector_from_within_Kodi.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Add_on_to_control_the_projector_from_within_Kodi.html</guid>
+                <pubDate>Tue, 26 Jun 2018 23:55:00 +0200</pubDate>
+               <description>&lt;p&gt;My movie playing setup involve &lt;a href=&quot;https://kodi.tv/&quot;&gt;Kodi&lt;/a&gt;,
+&lt;a href=&quot;https://openelec.tv&quot;&gt;OpenELEC&lt;/a&gt; (probably soon to be
+replaced with &lt;a href=&quot;https://libreelec.tv/&quot;&gt;LibreELEC&lt;/a&gt;) and an
+Infocus IN76 video projector.  My projector can be controlled via both
+a infrared remote controller, and a RS-232 serial line.  The vendor of
+my projector, &lt;a href=&quot;https://www.infocus.com/&quot;&gt;InFocus&lt;/a&gt;, had been
+sensible enough to document the serial protocol in its user manual, so
+it is easily available, and I used it some years ago to write
+&lt;a href=&quot;https://github.com/petterreinholdtsen/infocus-projector-control&quot;&gt;a
+small script to control the projector&lt;/a&gt;.  For a while now, I longed
+for a setup where the projector was controlled by Kodi, for example in
+such a way that when the screen saver went on, the projector was
+turned off, and when the screen saver exited, the projector was turned
+on again.&lt;/p&gt;
+
+&lt;p&gt;A few days ago, with very good help from parts of my family, I
+managed to find a Kodi Add-on for controlling a Epson projector, and
+got in touch with its author to see if we could join forces and make a
+Add-on with support for several projectors.  To my pleasure, he was
+positive to the idea, and we set out to add InFocus support to his
+add-on, and make the add-on suitable for the official Kodi add-on
+repository.&lt;/p&gt;
+
+&lt;p&gt;The Add-on is now working (for me, at least), with a few minor
+adjustments.  The most important change I do relative to the master
+branch in the github repository is embedding the
+&lt;a href=&quot;https://github.com/pyserial/pyserial&quot;&gt;pyserial module&lt;/a&gt; in
+the add-on.  The long term solution is to make a &quot;script&quot; type
+pyserial module for Kodi, that can be pulled in as a dependency in
+Kodi.  But until that in place, I embed it.&lt;/p&gt;
+
+&lt;p&gt;The add-on can be configured to turn on the projector when Kodi
+starts, off when Kodi stops as well as turn the projector off when the
+screensaver start and on when the screesaver stops.  It can also be
+told to set the projector source when turning on the projector.
+
+&lt;p&gt;If this sound interesting to you, check out
+&lt;a href=&quot;https://github.com/fredrik-eriksson/kodi_projcontrol&quot;&gt;the
+project github repository&lt;/a&gt;.  Perhaps you can send patches to
+support your projector too?  As soon as we find time to wrap up the
+latest changes, it should be available for easy installation using any
+Kodi instance.&lt;/p&gt;
+
+&lt;p&gt;For future improvements, I would like to add projector model
+detection and the ability to adjust the brightness level of the
+projector from within Kodi.  We also need to figure out how to handle
+the cooling period of the projector.  My projector refuses to turn on
+for 60 seconds after it was turned off.  This is not handled well by
+the add-on at the moment.&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>