]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.html
Generated.
[homepage.git] / blog / index.html
index 091aaec6e9b8c4efbaac5a87b745f800eee480dd..08496a4432bf735bd39a338da0ac9dc714192824 100644 (file)
 
 
     
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html">Where did that package go? &mdash; geolocated IP traceroute</a></div>
+      <div class="date"> 9th January 2017</div>
+      <div class="body"><p>Did you ever wonder where the web trafic really flow to reach the
+web servers, and who own the network equipment it is flowing through?
+It is possible to get a glimpse of this from using traceroute, but it
+is hard to find all the details.  Many years ago, I wrote a system to
+map the Norwegian Internet (trying to figure out if our plans for a
+network game service would get low enough latency, and who we needed
+to talk to about setting up game servers close to the users.  Back
+then I used traceroute output from many locations (I asked my friends
+to run a script and send me their traceroute output) to create the
+graph and the map.  The output from traceroute typically look like
+this:
+
+<p><pre>
+traceroute to www.stortinget.no (85.88.67.10), 30 hops max, 60 byte packets
+ 1  uio-gw10.uio.no (129.240.202.1)  0.447 ms  0.486 ms  0.621 ms
+ 2  uio-gw8.uio.no (129.240.24.229)  0.467 ms  0.578 ms  0.675 ms
+ 3  oslo-gw1.uninett.no (128.39.65.17)  0.385 ms  0.373 ms  0.358 ms
+ 4  te3-1-2.br1.fn3.as2116.net (193.156.90.3)  1.174 ms  1.172 ms  1.153 ms
+ 5  he16-1-1.cr1.san110.as2116.net (195.0.244.234)  2.627 ms he16-1-1.cr2.oslosda310.as2116.net (195.0.244.48)  3.172 ms he16-1-1.cr1.san110.as2116.net (195.0.244.234)  2.857 ms
+ 6  ae1.ar8.oslosda310.as2116.net (195.0.242.39)  0.662 ms  0.637 ms ae0.ar8.oslosda310.as2116.net (195.0.242.23)  0.622 ms
+ 7  89.191.10.146 (89.191.10.146)  0.931 ms  0.917 ms  0.955 ms
+ 8  * * *
+ 9  * * *
+[...]
+</pre></p>
+
+<p>This show the DNS names and IP addresses of (at least some of the)
+network equipment involved in getting the data traffic from me to the
+www.stortinget.no server, and how long it took in milliseconds for a
+package to reach the equipment and return to me.  Three packages are
+sent, and some times the packages do not follow the same path.  This
+is shown for hop 5, where three different IP addresses replied to the
+traceroute request.</p>
+
+<p>There are many ways to measure trace routes.  Other good traceroute
+implementations I use are traceroute (using ICMP packages) mtr (can do
+both ICMP, UDP and TCP) and scapy (python library with ICMP, UDP, TCP
+traceroute and a lot of other capabilities).  All of them are easily
+available in <a href="https://www.debian.org/">Debian</a>.</p>
+
+<p>This time around, I wanted to know the geographic location of
+different route points, to visualize how visiting a web page spread
+information about the visit to a lot of servers around the globe.  The
+background is that a web site today often will ask the browser to get
+from many servers the parts (for example HTML, JSON, fonts,
+JavaScript, CSS, video) required to display the content.  This will
+leak information about the visit to those controlling these servers
+and anyone able to peek at the data traffic passing by (like your ISP,
+the ISPs backbone provider, FRA, GCHQ, NSA and others).</p>
+
+<p>Lets pick an example, the Norwegian parliament web site
+www.stortinget.no.  It is read daily by all members of parliament and
+their staff, as well as political journalists, activits and many other
+citizens of Norway.  A visit to the www.stortinget.no web site will
+ask your browser to contact 8 other servers: ajax.googleapis.com,
+insights.hotjar.com, script.hotjar.com, static.hotjar.com,
+stats.g.doubleclick.net, www.google-analytics.com,
+www.googletagmanager.com and www.netigate.se.  I extracted this by
+asking <a href="http://phantomjs.org/">PhantomJS</a> to visit the
+Stortinget web page and tell me all the URLs PhantomJS downloaded to
+render the page (in HAR format using
+<a href="https://github.com/ariya/phantomjs/blob/master/examples/netsniff.js">their
+netsniff example</a>.  I am very grateful to Gorm for showing me how
+to do this).  My goal is to visualize network traces to all IP
+addresses behind these DNS names, do show where visitors personal
+information is spread when visiting the page.</p>
+
+<p align="center"><a href="www.stortinget.no-geoip.kml"><img
+src="http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-geoip-small.png" alt="map of combined traces for URLs used by www.stortinget.no using GeoIP"/></a></p>
+
+<p>When I had a look around for options, I could not find any good
+free software tools to do this, and decided I needed my own traceroute
+wrapper outputting KML based on locations looked up using GeoIP.  KML
+is easy to work with and easy to generate, and understood by several
+of the GIS tools I have available.  I got good help from by NUUG
+colleague Anders Einar with this, and the result can be seen in
+<a href="https://github.com/petterreinholdtsen/kmltraceroute">my
+kmltraceroute git repository</a>.  Unfortunately, the quality of the
+free GeoIP databases I could find (and the for-pay databases my
+friends had access to) is not up to the task.  The IP addresses of
+central Internet infrastructure would typically be placed near the
+controlling companies main office, and not where the router is really
+located, as you can see from <a href="www.stortinget.no-geoip.kml">the
+KML file I created</a> using the GeoLite City dataset from MaxMind.
+
+<p align="center"><a href="http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy.svg"><img
+src="http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy-small.png" alt="scapy traceroute graph for URLs used by www.stortinget.no"/></a></p>
+
+<p>I also had a look at the visual traceroute graph created by
+<a href="http://www.secdev.org/projects/scapy/">the scrapy project</a>,
+showing IP network ownership (aka AS owner) for the IP address in
+question.
+<a href="http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy.svg">The
+graph display a lot of useful information about the traceroute in SVG
+format</a>, and give a good indication on who control the network
+equipment involved, but it do not include geolocation.  This graph
+make it possible to see the information is made available at least for
+UNINETT, Catchcom, Stortinget, Nordunet, Google, Amazon, Telia, Level
+3 Communications and NetDNA.</p>
+
+<p align="center"><a href="https://geotraceroute.com/index.php?node=4&host=www.stortinget.no"><img
+src="http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-geotraceroute-small.png" alt="example geotraceroute view for www.stortinget.no"/></a></p>
+
+<p>In the process, I came across the
+<a href="https://geotraceroute.com/">web service GeoTraceRoute</a> by
+Salim Gasmi.  Its methology of combining guesses based on DNS names,
+various location databases and finally use latecy times to rule out
+candidate locations seemed to do a very good job of guessing correct
+geolocation.  But it could only do one trace at the time, did not have
+a sensor in Norway and did not make the geolocations easily available
+for postprocessing.  So I contacted the developer and asked if he
+would be willing to share the code (he refused until he had time to
+clean it up), but he was interested in providing the geolocations in a
+machine readable format, and willing to set up a sensor in Norway.  So
+since yesterday, it is possible to run traces from Norway in this
+service thanks to a sensor node set up by
+<a href="https://www.nuug.no/">the NUUG assosiation</a>, and get the
+trace in KML format for further processing.</p>
+
+<p align="center"><a href="http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-geotraceroute-kml-join.kml"><img
+src="http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-geotraceroute-kml-join.png" alt="map of combined traces for URLs used by www.stortinget.no using geotraceroute"/></a></p>
+
+<p>Here we can see a lot of trafic passes Sweden on its way to
+Denmark, Germany, Holland and Ireland.  Plenty of places where the
+Snowden confirmations verified the traffic is read by various actors
+without your best interest as their top priority.</p>
+
+<p>Combining KML files is trivial using a text editor, so I could loop
+over all the hosts behind the urls imported by www.stortinget.no and
+ask for the KML file from geotraceroute, and create a combined KML
+file with all the traces (unfortunately only one of the IP addresses
+behind the DNS name is traced this time.  To get them all, one would
+have to request traces using IP number instead of DNS names from
+geotraceroute).  That might be the next step in this project.</p>
+
+<p>Armed with these tools, I find it a lot easier to figure out where
+the IP traffic moves and who control the boxes involved in moving it.
+And every time the link crosses for example the Swedish border, we can
+be sure Swedish Signal Intelligence (FRA) is listening, as GCHQ do in
+Britain and NSA in USA and cables around the globe.  (Hm, what should
+we tell them? :) Keep that in mind if you ever send anything
+unencrypted over the Internet.</p>
+
+<p>PS: KML files are drawn using
+<a href="http://ivanrublev.me/kml/">the KML viewer from Ivan
+Rublev<a/>, as it was less cluttered than the local Linux application
+Marble.  There are heaps of other options too.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Introducing_ical_archiver_to_split_out_old_iCalendar_entries.html">Introducing ical-archiver to split out old iCalendar entries</a></div>
+      <div class="date"> 4th January 2017</div>
+      <div class="body"><p>Do you have a large <a href="https://icalendar.org/">iCalendar</a>
+file with lots of old entries, and would like to archive them to save
+space and resources?  At least those of us using KOrganizer know that
+turning on and off an event set become slower and slower the more
+entries are in the set.  While working on migrating our calendars to a
+<a href="http://radicale.org/">Radicale CalDAV server</a> on our
+<a href="https://freedomboxfoundation.org/">Freedombox server</a/>, my
+loved one wondered if I could find a way to split up the calendar file
+she had in KOrganizer, and I set out to write a tool.  I spent a few
+days writing and polishing the system, and it is now ready for general
+consumption.  The
+<a href="https://github.com/petterreinholdtsen/ical-archiver">code for
+ical-archiver</a> is publicly available from a git repository on
+github.  The system is written in Python and depend on
+<a href="http://eventable.github.io/vobject/">the vobject Python
+module</a>.</p>
+
+<p>To use it, locate the iCalendar file you want to operate on and
+give it as an argument to the ical-archiver script.  This will
+generate a set of new files, one file per component type per year for
+all components expiring more than two years in the past.  The vevent,
+vtodo and vjournal entries are handled by the script.  The remaining
+entries are stored in a 'remaining' file.</p>
+
+<p>This is what a test run can look like:
+
+<p><pre>
+% ical-archiver t/2004-2016.ics 
+Found 3612 vevents
+Found 6 vtodos
+Found 2 vjournals
+Writing t/2004-2016.ics-subset-vevent-2004.ics
+Writing t/2004-2016.ics-subset-vevent-2005.ics
+Writing t/2004-2016.ics-subset-vevent-2006.ics
+Writing t/2004-2016.ics-subset-vevent-2007.ics
+Writing t/2004-2016.ics-subset-vevent-2008.ics
+Writing t/2004-2016.ics-subset-vevent-2009.ics
+Writing t/2004-2016.ics-subset-vevent-2010.ics
+Writing t/2004-2016.ics-subset-vevent-2011.ics
+Writing t/2004-2016.ics-subset-vevent-2012.ics
+Writing t/2004-2016.ics-subset-vevent-2013.ics
+Writing t/2004-2016.ics-subset-vevent-2014.ics
+Writing t/2004-2016.ics-subset-vjournal-2007.ics
+Writing t/2004-2016.ics-subset-vjournal-2011.ics
+Writing t/2004-2016.ics-subset-vtodo-2012.ics
+Writing t/2004-2016.ics-remaining.ics
+%
+</pre></p>
+
+<p>As you can see, the original file is untouched and new files are
+written with names derived from the original file.  If you are happy
+with their content, the *-remaining.ics file can replace the original
+the the others can be archived or imported as historical calendar
+collections.</p>
+
+<p>The script should probably be improved a bit.  The error handling
+when discovering broken entries is not good, and I am not sure yet if
+it make sense to split different entry types into separate files or
+not.  The program is thus likely to change.  If you find it
+interesting, please get in touch. :)</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html">Appstream just learned how to map hardware to packages too!</a></div>
+      <div class="date">23rd December 2016</div>
+      <div class="body"><p>I received a very nice Christmas present today.  As my regular
+readers probably know, I have been working on the
+<a href="http://packages.qa.debian.org/isenkram">the Isenkram
+system</a> for many years.  The goal of the Isenkram system is to make
+it easier for users to figure out what to install to get a given piece
+of hardware to work in Debian, and a key part of this system is a way
+to map hardware to packages.  Isenkram have its own mapping database,
+and also uses data provided by each package using the AppStream
+metadata format.  And today,
+<a href="https://tracker.debian.org/pkg/appstream">AppStream</a> in
+Debian learned to look up hardware the same way Isenkram is doing it,
+ie using fnmatch():</p>
+
+<p><pre>
+% appstreamcli what-provides modalias \
+  usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
+Identifier: pymissile [generic]
+Name: pymissile
+Summary: Control original Striker USB Missile Launcher
+Package: pymissile
+% appstreamcli what-provides modalias usb:v0694p0002d0000
+Identifier: libnxt [generic]
+Name: libnxt
+Summary: utility library for talking to the LEGO Mindstorms NXT brick
+Package: libnxt
+---
+Identifier: t2n [generic]
+Name: t2n
+Summary: Simple command-line tool for Lego NXT
+Package: t2n
+---
+Identifier: python-nxt [generic]
+Name: python-nxt
+Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot
+Package: python-nxt
+---
+Identifier: nbc [generic]
+Name: nbc
+Summary: C compiler for LEGO Mindstorms NXT bricks
+Package: nbc
+%
+</pre></p>
+
+<p>A similar query can be done using the combined AppStream and
+Isenkram databases using the isenkram-lookup tool:</p>
+
+<p><pre>
+% isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
+pymissile
+% isenkram-lookup usb:v0694p0002d0000
+libnxt
+nbc
+python-nxt
+t2n
+%
+</pre></p>
+
+<p>You can find modalias values relevant for your machine using
+<tt>cat $(find /sys/devices/ -name modalias)</tt>.
+
+<p>If you want to make this system a success and help Debian users
+make the most of the hardware they have, please
+help<a href="https://wiki.debian.org/AppStream/Guidelines">add
+AppStream metadata for your package following the guidelines</a>
+documented in the wiki.  So far only 11 packages provide such
+information, among the several hundred hardware specific packages in
+Debian. The Isenkram database on the other hand contain 101 packages,
+mostly related to USB dongles.  Most of the packages with hardware
+mapping in AppStream are LEGO Mindstorms related, because I have, as
+part of my involvement in
+<a href="https://wiki.debian.org/LegoDesigners">the Debian LEGO
+team</a> given priority to making sure LEGO users get proposed the
+complete set of packages in Debian for that particular hardware.  The
+team also got a nice Christmas present today.  The
+<a href="https://tracker.debian.org/pkg/nxt-firmware">nxt-firmware
+package</a> made it into Debian.  With this package in place, it is
+now possible to use the LEGO Mindstorms NXT unit with only free
+software, as the nxt-firmware package contain the source and firmware
+binaries for the NXT brick.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html">Isenkram updated with a lot more hardware-package mappings</a></div>
+      <div class="date">20th December 2016</div>
+      <div class="body"><p><a href="http://packages.qa.debian.org/isenkram">The Isenkram
+system</a> I wrote two years ago to make it easier in Debian to find
+and install packages to get your hardware dongles to work, is still
+going strong.  It is a system to look up the hardware present on or
+connected to the current system, and map the hardware to Debian
+packages.  It can either be done using the tools in isenkram-cli or
+using the user space daemon in the isenkram package.  The latter will
+notify you, when inserting new hardware, about what packages to
+install to get the dongle working.  It will even provide a button to
+click on to ask packagekit to install the packages.</p>
+
+<p>Here is an command line example from my Thinkpad laptop:</p>
+
+<p><pre>
+% isenkram-lookup  
+bluez
+cheese
+ethtool
+fprintd
+fprintd-demo
+gkrellm-thinkbat
+hdapsd
+libpam-fprintd
+pidgin-blinklight
+thinkfan
+tlp
+tp-smapi-dkms
+tp-smapi-source
+tpb
+%
+</pre></p>
+
+<p>It can also list the firware package providing firmware requested
+by the load kernel modules, which in my case is an empty list because
+I have all the firmware my machine need:
+
+<p><pre>
+% /usr/sbin/isenkram-autoinstall-firmware -l
+info: did not find any firmware files requested by loaded kernel modules.  exiting
+%
+</pre></p>
+
+<p>The last few days I had a look at several of the around 250
+packages in Debian with udev rules.  These seem like good candidates
+to install when a given hardware dongle is inserted, and I found
+several that should be proposed by isenkram.  I have not had time to
+check all of them, but am happy to report that now there are 97
+packages packages mapped to hardware by Isenkram.  11 of these
+packages provide hardware mapping using AppStream, while the rest are
+listed in the modaliases file provided in isenkram.</p>
+
+<p>These are the packages with hardware mappings at the moment.  The
+<strong>marked packages</strong> are also announcing their hardware
+support using AppStream, for everyone to use:</p>
+
+<p>air-quality-sensor, alsa-firmware-loaders, argyll,
+<strong>array-info</strong>, avarice, avrdude, b43-fwcutter,
+bit-babbler, bluez, bluez-firmware, <strong>brltty</strong>,
+<strong>broadcom-sta-dkms</strong>, calibre, cgminer, cheese, colord,
+<strong>colorhug-client</strong>, dahdi-firmware-nonfree, dahdi-linux,
+dfu-util, dolphin-emu, ekeyd, ethtool, firmware-ipw2x00, fprintd,
+fprintd-demo, <strong>galileo</strong>, gkrellm-thinkbat, gphoto2,
+gpsbabel, gpsbabel-gui, gpsman, gpstrans, gqrx-sdr, gr-fcdproplus,
+gr-osmosdr, gtkpod, hackrf, hdapsd, hdmi2usb-udev, hpijs-ppds, hplip,
+ipw3945-source, ipw3945d, kde-config-tablet, kinect-audio-setup,
+<strong>libnxt</strong>, libpam-fprintd, <strong>lomoco</strong>,
+madwimax, minidisc-utils, mkgmap, msi-keyboard, mtkbabel,
+<strong>nbc</strong>, <strong>nqc</strong>, nut-hal-drivers, ola,
+open-vm-toolbox, open-vm-tools, openambit, pcgminer, pcmciautils,
+pcscd, pidgin-blinklight, printer-driver-splix,
+<strong>pymissile</strong>, python-nxt, qlandkartegt,
+qlandkartegt-garmin, rosegarden, rt2x00-source, sispmctl,
+soapysdr-module-hackrf, solaar, squeak-plugins-scratch, sunxi-tools,
+<strong>t2n</strong>, thinkfan, thinkfinger-tools, tlp, tp-smapi-dkms,
+tp-smapi-source, tpb, tucnak, uhd-host, usbmuxd, viking,
+virtualbox-ose-guest-x11, w1retap, xawtv, xserver-xorg-input-vmmouse,
+xserver-xorg-input-wacom, xserver-xorg-video-qxl,
+xserver-xorg-video-vmware, yubikey-personalization and
+zd1211-firmware</p>
+
+<p>If you know of other packages, please let me know with a wishlist
+bug report against the isenkram-cli package, and ask the package
+maintainer to
+<a href="https://wiki.debian.org/AppStream/Guidelines">add AppStream
+metadata according to the guidelines</a> to provide the information
+for everyone.  In time, I hope to get rid of the isenkram specific
+hardware mapping and depend exclusively on AppStream.</p>
+
+<p>Note, the AppStream metadata for broadcom-sta-dkms is matching too
+much hardware, and suggest that the package with with any ethernet
+card.  See <a href="http://bugs.debian.org/838735">bug #838735</a> for
+the details.  I hope the maintainer find time to address it soon.  In
+the mean time I provide an override in isenkram.</p>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html">Oolite, a life in space as vagabond and mercenary - nice free software</a></div>
+      <div class="date">11th December 2016</div>
+      <div class="body"><p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2016-12-11-nice-oolite.png"/></p>
+
+<p>In my early years, I played
+<a href="http://wiki.alioth.net/index.php/Classic_Elite">the epic game
+Elite</a> on my PC.  I spent many months trading and fighting in
+space, and reached the 'elite' fighting status before I moved on.  The
+original Elite game was available on Commodore 64 and the IBM PC
+edition I played had a 64 KB executable.  I am still impressed today
+that the authors managed to squeeze both a 3D engine and details about
+more than 2000 planet systems across 7 galaxies into a binary so
+small.</p>
+
+<p>I have known about <a href="http://www.oolite.org/">the free
+software game Oolite inspired by Elite</a> for a while, but did not
+really have time to test it properly until a few days ago.  It was
+great to discover that my old knowledge about trading routes were
+still valid.  But my fighting and flying abilities were gone, so I had
+to retrain to be able to dock on a space station.  And I am still not
+able to make much resistance when I am attacked by pirates, so I
+bougth and mounted the most powerful laser in the rear to be able to
+put up at least some resistance while fleeing for my life. :)</p>
+
+<p>When playing Elite in the late eighties, I had to discover
+everything on my own, and I had long lists of prices seen on different
+planets to be able to decide where to trade what.  This time I had the
+advantages of the
+<a href="http://wiki.alioth.net/index.php/Main_Page">Elite wiki</a>,
+where information about each planet is easily available with common
+price ranges and suggested trading routes.  This improved my ability
+to earn money and I have been able to earn enough to buy a lot of
+useful equipent in a few days.  I believe I originally played for
+months before I could get a docking computer, while now I could get it
+after less then a week.</p>
+
+<p>If you like science fiction and dreamed of a life as a vagabond in
+space, you should try out Oolite.  It is available for Linux, MacOSX
+and Windows, and is included in Debian and derivatives since 2011.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Er_lover_brutt_n_r_personvernpolicy_ikke_stemmer_med_praksis_.html">Er lover brutt når personvernpolicy ikke stemmer med praksis?</a></div>
+      <div class="date"> 9th December 2016</div>
+      <div class="body"><p>Når jeg bruker <a href="https://www.ghostery.com/">Ghostery</a>,
+<a href="https://www.ublock.org/">uBlock</a>,
+<a href="https://github.com/gorhill/uMatrix">uMatrix</a>,
+<a href="https://github.com/andryou/scriptsafe">ScriptSafe</a> og andre
+nettleserverktøy (de passer på hverandre) for å holde styr på hvordan
+nettsteder sprer informasjon om hvilke nettsider jeg leser blir det
+veldig synlig hvilke nettsteder som er satt opp til å utveksle
+informasjon med utlandet og tredjeparter.  For en stund siden la jeg
+merke til at det virker å være avvik mellom personvernpolicy og
+praksis endel steder, og tok tak i et par konkrete eksempler og sendte
+spørsmål til Datatilsynets kontaktpunkt for veiledning:</p>
+
+<blockquote>
+
+<p>«Jeg har et spørsmål når det gjelder bruken av Google Analytics og
+personvernpolicy.  Er det lovlig for et nettsted å si en ting i
+personvernpolicy og gjøre noe annet i virkeligheten?  Spesifikt lurer
+jeg på hvilket lov som er brutt hvis nettstedet i HTML-koden til
+nettsidene ber lesernes nettleser om å kontakte Google Analytics og
+slik overleverer sitt IP-nummer til Google, samtidig som
+personvernpolicien hevder at Google Analytics kun får anonymiserte
+data.  Google får jo i slike tilfeller alltid overført fullt
+IP-nummer, og nettstedet kan i URL-en som brukes be Google om å ikke
+lagre deler av IP-adressen (omtalt som anonymisering av Google
+Analytics)</p>
+
+<p>Et eksempel er Nettavisen digi.no.
+<a href="http://www.digi.no/artikler/personvernpolicy/208772">Deres
+personvernpolicy</a> sier følgende:</p>
+
+<blockquote>
+  «Tredjeparter (som Google Analytics, Cxense, TNS Gallup) får kun
+  anonymiserte data.»
+</blockquote>
+
+<p>Men når en leser artikler der så blir maskiner i Norge, USA,
+Tyskland, Danmark, Storbritannia, Irland og Nederland varslet om
+besøket og får dermed overlevert full IP-adresse, som datatilsynet har
+uttalt er en personopplysning.  Nettsidene er satt opp til be
+nettleseren å kontakte 29 ulike maskiner rundt om i verden.  Fire av
+dem er er under DNS-domenene digi.no og tek.no som tilhører samme
+eier.  I tillegg ber nettsidene ikke
+<a href="https://support.google.com/analytics/answer/2763052?hl=no">Google
+Analytics om å fjerne siste oktett i IP-adressen ved lagring</a>,
+dvs. flagget «aip=1» er ikke satt i URL-en som brukes for å kontakte
+Google Analytics.</p>
+
+<p>Tilsvarende er også tilfelle for andre nettsteder, så digi.no er
+ikke spesiell i så måte (dagbladet.no er et annet eksempel, det
+gjelder flere).»</p>
+
+</blockquote>
+
+<p>Etter noen dager kunne juridisk rådgiver Elisabeth Krauss Amundsen
+hos Datatilsynet fortelle det følgende:</p>
+
+<blockquote>
+«Hei, og takk for din e-post.</p>
+
+<p>Vår svartjeneste gir deg kortfattet rådgivning. Vi vil derfor ikke konkludere
+i saken din, men gi deg råd og veiledning.</p>
+
+<p>Ut ifra det du skriver er det antakelig flere bestemmelser i
+personopplysingsloven som brytes dersom virksomhetens personvernpolicy
+sier noe annet om behandlingen av personopplysninger enn det som
+faktisk skjer.  Antakelig vil det være et brudd på informasjonsplikten
+i personopplysingsloven §§ 18 og
+19&lt;<a href="https://lovdata.no/dokument/NL/lov/2000-04-14-31/KAPITTEL_2#§18">https://lovdata.no/dokument/NL/lov/2000-04-14-31/KAPITTEL_2#§18</a>&gt;
+dersom det gis feilinformasjon om at opplysningene utleveres. Det kan
+også stilles spørsmål om grunnkravene for behandling av
+personopplysninger vil være oppfylt ved en utlevering av
+personopplysninger til en tredjepart, dersom dette ikke er inkludert
+behandlingsgrunnlaget og formålet med behandlingen, se
+personopplysingsloven § 11, jf.
+8.&lt;<a href="https://lovdata.no/dokument/NL/lov/2000-04-14-31/KAPITTEL_2#§11">https://lovdata.no/dokument/NL/lov/2000-04-14-31/KAPITTEL_2#§11</a>&gt;»
+</blockquote>
+
+<!-- Her er full URL som digi ba nettleserne bruke for å melde fra til
+Google Analytics:
+https://www.google-analytics.com/r/collect?v=1&_v=j47&a=666919305&t=pageview&_s=1&dl=http%3A%2F%2Fwww.digi.no%2F&ul=nb-no&de=UTF-8&dt=Digi.no%20-%20IT-bransjens%20nettavis&sd=32-bit&sr=1024x768&vp=400x300&je=0&_u=AEAAAMQAK~&jid=592247632&cid=1641512195.1480086725&tid=UA-54426-28&_r=1&z=328520576
+-->
+
+<p>Oppdatert med kunnskap om lover og regler tok jeg så kontakt med
+Dagbladet på epostadressen de annonserer på sine
+personvernpolicysider:<p>
+
+<blockquote>
+
+<p>«Jeg lurte litt i forbindelse med en bloggpost jeg skriver på, og lurer
+på om dere hjelpe meg med å finne ut av følgende.  Først litt
+bakgrunnsinformasjon.
+<a href="http://www.dagbladet.no/2009/08/18/nyheter/avtale/brukeravtale/plikter/7706966/">Dagbladets
+personvernpolicy</a> forteller følgende:</p>
+
+<blockquote>
+  <p>«3. Automatisk innhentet informasjon</p>
+
+  <p>For eksempel IP-adressen din (ikke synlig for andre) samt
+  statistisk, automatisk produsert informasjon, som når du sist var
+  innlogget på tjenesten. Dette er informasjon vi samler for å gjøre
+  tjenesten best mulig.»</p>
+
+</blockquote>
+
+
+<p>Men når en besøker nettsidene til Dagbladet,
+f.eks. <a href="http://dagbladet.no/">forsiden</a>, så er nettsidene
+satt opp til å kontakte mange tredjeparter som slik får tilgang til
+både fullt IP-nummer og i de fleste tilfeller nøyaktig hvilken
+artikkel en leser hos Dagbladet ved at Referer-feltet fylles og legges
+ved.  Dette gjelder Google Analytics, Cxense, INS Gallup, Doubleclick
+med flere.  Totalt ber forsiden nettleseren om å koble seg opp til 60
+nettsteder med 149 separate oppkoblinger.  I hver av disse
+oppkoblingene oversendes IP-adressen til leseren, og i følge
+Datatilsynet er
+«<a href="https://www.datatilsynet.no/Teknologi/Internett/Webanalyse/">en
+IP-adresse definert som en personopplysning fordi den kan spores
+tilbake til en bestemt maskinvare og dermed til en enkeltperson</a>».</p>
+
+<p>Datatilsynet har fortalt meg at i følge personopplysingsloven §§ 18
+og 19 skal informasjonen som gis om bruk og utlevering av
+personopplysninger være korrekt.  De forteller videre at det er endel
+grunnkrav som må være oppfylt ved utlevering av personopplysninger til
+tredjeparter, nærmere forklart i personopplysingsloven § 11 som
+henviser til § 8.</p>
+
+<p>Mitt spørsmål er dermed som følger:</p>
+
+  <blockquote>
+
+  <p>Hva mener dere i personpolicyen når dere skriver at IP-adressen ikke
+  er synlig for andre?»</p>
+  
+  </blockquote>
+
+</blockquote>
+
+<p>Etter en uke har jeg fortsatt ikke fått svar fra Dagbladet på mitt
+spørsmål, så neste steg er antagelig å høre om Datatilsynet er
+interessert i å se på saken.</p>
+
+<p>Men Dagbladet er ikke det eneste nettstedet som forteller at de
+ikke deler personopplysninger med andre mens observerbar praksis
+dokumenterer noe annet.  Jeg sendte derfor også et spørsmål til
+kontaktadressen til nettavisen Digi.no, og der var responsen mye
+bedre:</p>
+
+<blockquote>
+
+<p>«Jeg lurte på en ting i forbindelse med en bloggpost jeg skriver på,
+og lurer på om dere hjelpe meg.  Først litt bakgrunnsinformasjon.
+<a href="http://www.digi.no/artikler/personvernpolicy/208772">Digi.nos
+personvernpolicy</a> forteller følgende:</p>
+
+<blockquote>
+  «All personlig informasjon blir lagret i våre systemer, disse er ikke
+  tilgjengelig for tredjeparter, og blir ikke lagret i
+  informasjonskapsler.  Tredjeparter (som Google Analytics, Cxense,
+  TNS Gallup) får kun anonymiserte data.»
+</blockquote>
+
+<p>Men når en besøker nettsidene til nettavisen, f.eks.
+<a href="http://www.digi.no/">forsiden</a>, så er nettsidene satt opp
+til å kontakte mange tredjeparter som slik får tilgang til både fullt
+IP-nummer og i de fleste tilfeller nøyaktig hvilken artikkel en leser
+hos Digi.no ved at Referer-feltet fylles og legges ved.  Dette gjelder
+både Google Analytics, Cxense blant og INS Gallum.  Totalt ber
+forsiden nettleseren om å koble seg opp til 29 nettsteder med 44
+separate oppkoblinger.  I hver av disse oppkoblingene sendes
+IP-adressen til leseren over, og i følge Datatilsynet er
+«<a href="https://www.datatilsynet.no/Teknologi/Internett/Webanalyse/">en
+IP-adresse definert som en personopplysning fordi den kan spores
+tilbake til en bestemt maskinvare og dermed til en enkeltperson</a>».
+Det jeg ser virker ikke å være i tråd med personvernpolicyen.</p>
+
+<p>Når en besøker Digi.nos nettsider gjøres det to oppkoblinger til
+Google Analytics, en for å hente ned programkoden som samler
+informasjon fra nettleseren og sender over til Google (analytics.js),
+og en for å overføre det som ble samlet inn.  I den siste oppkoblingen
+er det mulig å be Google om å ikke ta vare på hele IP-adressen, men i
+stedet fjerne siste oktett i IP-adressen.  Dette omtales ofte litt
+misvisende for «anonymisert» bruk av Google Analytics, i og med at
+fullt IP-nummer blir sendt til Google og det er opp til Google om de
+vil bry seg om ønsket fra de som har laget nettsiden.  Ut fra det som
+står i personvernpolicyen ville jeg tro at Digi.no ba google om å ikke
+ta vare på hele IP-nummeret, men når en ser på den andre oppkoblingen
+kan en se at flagget «aio=1» ikke er satt, og at Digi.no ikke ber
+Google om å la være å lagre hele IP-adressen.  Dette virker heller
+ikke å være i tråd med personvernpolicyen.</p>
+
+<p>Datatilsynet har fortalt meg at i følge personopplysingsloven §§ 18
+og 19 skal informasjonen som gis om bruk og utlevering av
+personopplysninger være korrekt.  De forteller videre at det er endel
+grunnkrav som må være oppfylt ved utlevering av personopplysninger til
+tredjeparter, nærmere forklart i personopplysingsloven § 11 som
+henviser til § 8.  Det er uklart for meg om disse kravene er oppfylt
+når IP-adresse og informasjon om hvilke websider som besøkes til
+tredjeparter.</p>
+
+<p>Mitt spørsmål er dermed som følger:</p>
+
+<blockquote>
+
+  <p>Hva mener dere i personpolicyen når dere skriver at «Tredjeparter
+  får kun anonymiserte data»?»</p>
+  
+</blockquote>
+
+</blockquote>
+
+<p>Redaksjonssjef Kurt Lekanger svarte samme dag og forklarte at han
+måtte komme tilbake til meg når han hadde med utviklingsavdelingen.
+Seks dager senere lurte jeg på hva han fant ut, og etter noen timer
+fikk jeg så følgende svar fra direktøren for teknologi og
+forretningsutvikling Øystein W. Høie i Teknisk Ukeblad Media:</p>
+
+<blockquote>
+
+<p>«Takk for godt tips! Det er helt riktig at IP og referrer-adresse
+potensielt kan leses ut av tredjepart.</p>
+
+<p>Retningslinjene våre har vært uklare på dette tidspunktet, og vi
+oppdaterer nå disse så dette kommer tydeligere frem. Ny tekst blir som
+følger:</p>
+
+<hr>
+<p>3. Dette bruker vi ikke informasjonen til Informasjon du oppgir til
+oss blir lagret i våre systemer, er ikke tilgjengelig for
+tredjeparter, og blir ikke lagret i informasjonskapsler.
+Informasjonen vil kun benyttes til å gi deg som bruker mer relevant
+informasjon og bedre tjenester.</p>
+
+<p>Tredjeparter (som Google Analytics, Cxense, TNS Gallup) vil kunne
+hente ut IP-adresse og data basert på dine surfemønstre. TU Media AS
+er pliktig å påse at disse tredjepartene behandler data i tråd med
+norsk regelverk.</p>
+<hr>
+
+<p>Ellers har vi nå aktivert anonymisering i Google Analytics
+(aip=1). Kan også nevne at Tek.no-brukere som har kjøpt Tek Ekstra har
+mulighet til å skru av all tracking i kontrollpanelet sitt. Dette er
+noe vi vurderer å rulle ut på alle sidene i vårt nettverk.»</p>
+
+</blockquote>
+
+<p>Det var nyttig å vite at vi er enige om at formuleringen i
+personvernpolicyen er misvisende.  Derimot var det nedslående at i
+stedet for å endre praksis for å følge det personvernpolicyen sier om
+å ikke dele personinformasjon med tredjeparter, så velger Digi.no å
+fortsette praksis og i stedet endre personvernpolicyen slik at den å
+dokumentere dagens praksis med spredning av personopplysninger.</p>
+
+<p>Med bakgrunn i at Digi.no ikke har fulgt sin egen personvernpolicy
+spurte jeg hvordan Digi.no kom til å håndtere endringen:</p>
+
+<blockquote>
+
+<p>«Tusen takk for beskjed om endring av personvernpolicy for digi.no.
+Gjelder endringen også andre nettsteder?</p>
+
+<p>Vil tidligere håndteringen av IP-adresser og lesemønster i strid
+med dokumentert personvernpolicy bli varslet til Datatilsynet i tråd
+med
+<a href="https://lovdata.no/forskrift/2000-12-15-1265/§2-6">personopplysningsforskriften
+§ 2-6</a>?  Vil leserne bli varslet på en prominent og synlig måte om
+at lesernes IP-adresser og lesemønster har vært utlevert til
+tredjeparter i stid med tidligere formulering om at tredjeparter kun
+får anonymiserte data, og at utleveringen fortsetter etter at
+personvernpolicy er endret for å dokumentere praksis?</p>
+
+<p>Appropos ekstra tilbud til betalende lesere, tilbyr dere en
+mulighet for å betale for å lese som ikke innebærer at en må gjøre det
+mulig å la sine lesevaner blir registeret av tek.no?  Betaler gjerne
+for å lese nyheter, men ikke med en bit av privatlivet mitt. :)»</p>
+</blockquote>
+
+<p>Jeg fikk raskt svar tilbake fra direktøren Høie:</p>
+
+<blockquote>
+<p>«Tydeliggjøringen i personvernpolicy gjelder alle våre nettsteder.</p>
+
+<p>Vi kommer til å ta en runde og gå over vår policy i forbindelse med
+dette, og vil i de tilfeller det er påkrevd selvsagt være tydelig
+overfor brukere og tilsyn. Vil samtidig understreke at vår bruk av
+tredjeparts analyseverktøy og annonsetracking er helt på linje med det
+som er normalt for norske kommersielle nettsteder.</p>
+
+<p>Angående spørsmålet ditt: 
+<br>Du vil fortsatt vises i våre interne systemer om du blir Ekstra-bruker,
+vi skrur bare av tredjeparts tracking.»</p>
+</blockquote>
+
+<p>Det høres jo ikke bra ut at det er normalt for norske kommersielle
+nettsteder å utlevere lesernes personopplysninger til utlandet.  Men
+som en kan lese fra <a href="https://www.nrk.no/norge/kommunen-deler-informasjon-om-deg-med-facebook-og-google-1.13248945">gårdagens oppslag fra NRK</a> gjelder
+det også norske kommuner og andre offentlige aktører, og
+<a href="http://people.skolelinux.org/pere/blog/Snurpenot_overv_kning_av_sensitiv_personinformasjon.html">jeg
+skrev om omfanget av problemet i fjor</a>.  Det er uansett ikke en
+praksis jeg tror er i tråd med kravene i personopplysningsloven, og
+heller ikke en praksis jeg som leser synes er greit.  Jeg manglet dog
+fortsatt svar på om Digi.no kom til å varsle lesere og Datatilsynet om
+avviket mellom praksis og policy, så jeg forsøkte meg med en ny epost
+i går kveld:</p>
+
+<blockquote>
+
+<p>«Kan du fortelle meg om dere anser det å være påkrevd å varsle
+tilsyn og brukere nå, når dere har oppdaget at praksis ikke har vært i
+tråd med personvernpolicy?»</p>
+       
+</blockquote>
+
+<p>Det spørsmålet vet jeg så langt ikke svaret på, men antagelig kan
+Datatilsynet svare på om det er påkrevd å varsle tilsyn og lesere om
+dette.  Jeg planlegger å oppdatere denne bloggposten med svaret når
+det kommer.</p>
+
+<p>Jeg synes jo det er spesielt ille når barn får sine
+personopplysninger spredt til utlandet, noe jeg
+<a href="https://www.mimesbronn.no/request/opplysninger_samlet_inn_av_mobil">tok
+opp med NRK i fjor</a>.  De to eksemplene jeg nevner er som dere
+forstår ikke unike, men jeg har ikke full oversikt over hvor mange
+nettsteder dette gjelder.  Jeg har ikke kapasitet til eller glede av å
+lese alle personvernpolicyer i landet.  Kanskje mine lesere kan sende
+meg tips på epost om andre nettsteder med avvik mellom policy og
+praksis?  Hvis vi alle går sammen og kontakter de ansvarlige, kanskje
+noen til slutt endrer praksis og slutter å dele lesernes
+personopplysninger med tredjeparter?</p>
+
+<p>Apropos bruken av Google Analytics kan jeg forresten nevne at
+Universitetet i Oslo også har tatt i bruk Google Analytics, men der
+lagres programkoden som overføres til nettleserne lokalt og deler av
+IP-adressen fjernes lokalt på universitetet via en mellomtjener/proxy
+(<a href="https://github.com/unioslo/ipproxy">tilgjengelig via
+github</a>) før informasjon sendes over til Google Analytics.  Dermed
+er det mulig for ansvarlige for nettstedet å <em>vite</em> at Google
+ikke har tilgang til komplett IP-adresse.  Årsaken til at denne
+metoden brukes er at juristene ved universitetet har konkludert med at
+det er eneste måten en kunne vurdere å bruke Google Analytics uten å
+bryte loven.  Risikoen for gjenidentifisering og
+<a href="https://panopticlick.eff.org/">identifisering ved hjelp av
+nettleserinformasjon</a> er fortsatt tilstede, så det er ingen optimal
+løsning, men det er bedre enn å håpe at f.eks. Google og alle som
+lytter på veien skal prioritere norsk lov over sin lokale
+lovgivning.</p>
+
+<p>Oppdatering 2016-12-09: Fikk svar fra direktøren Høie på mitt
+spørsmål litt etter at jeg hadde publisert denne artikkelen:</p>
+
+<blockquote>
+
+<p>Vi kommer til å annonsere en oppdatert policy, og skal undersøke om
+vi er pliktig å varsle Datatilsynet.</p>
+
+<p>Det vi uansett ønsker å gjøre først, er å gå gjennom hele policy
+sammen med utviklerne og advokat, så vi er sikre på at vi går frem
+riktig og at det ikke er flere tvetydigheter som skjuler seg i
+teksten.</p>
+
+<p>Har du andre idéer eller konkrete innspill til hva som kan gjøre
+policy tydeligere, tar vi gjerne imot det. Dette er et felt vi ønsker
+å være ryddige på.</p>
+       
+</blockquote>
+
+<p>Vi får se om de liker mine innspill, som i grunnen er å ikke pusse
+på personvernpolicyen men i stedet slutte å spre lesernes
+personopplysninger til eksterne aktører.</p>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title"><a href="http://people.skolelinux.org/pere/blog/Fri_programvare_tilbakeblikk_for_2015_og_2016.html">Fri programvare-tilbakeblikk for 2015 og 2016</a></div>
       <div class="date"> 1st December 2016</div>
@@ -30,31 +914,31 @@ gjennomgang av de jeg kom på i farten.</p>
 
 <p>Den største nyheten for meg fra 2015 var at jeg endelig, etter 2.5
 år med flekkvis innsats, fikk gitt ut en bokmålsutgave av den
-klassiske boken <ahref="http://free-culture.cc/">Free Culture</a> av
+klassiske boken <a href="http://free-culture.cc/">Free Culture</a> av
 Lawrence Lessig.  Boken forteller om bakgrunnen for fri
 kultur-bevegelsen, beskriver problemer med dagens opphavsrett og
 skisserer hvordan vi kan bøte på problemene både individuelt og som
 samfunn.  Jeg anbefaler alle å lese denne boken, som jeg med god hjelp
 har gitt ut på engelsk, bokmål og fransk.  Papirboken kan bestilles i
 nettbokhandler i USA som Lulu
-(<ahref="http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22406445.html">Norsk</a>,
-<ahref="http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html">Fransk</a>,
-<ahref="http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22402863.html">Engelsk</a>),
+(<a href="http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22406445.html">Norsk</a>,
+<a href="http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html">Fransk</a>,
+<a href="http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22402863.html">Engelsk</a>),
 Amazon og Barnes & Noble takket være selvpubliseringsløsningen
 lulu.com og
-<ahref="https://github.com/petterreinholdtsen/free-culture-lessig">ebokutgave</a>
+<a href="https://github.com/petterreinholdtsen/free-culture-lessig">ebokutgave</a>
 samt alt som trengs for å oppdatere boken er tilgjengelig fra
 github.</p>
 
 <p>Et annet prosjekt jeg er veldig fornøyd med å ha deltatt i
-lanseringen av, er <ahref="https://www.mimesbronn.no/">Mimes
+lanseringen av, er <a href="https://www.mimesbronn.no/">Mimes
 brønn</a>, NUUG-tjenesten for å gjøre det enklere å be om innsyn i
 offentlig forvaltning, og spare offentlig forvaltning for å måtte
 besvare de samme innsynshenvendelsene gang på gang.  Etter bare noen
 måneders drift førte
-<ahref="https://www.mimesbronn.no/request/forhandlinger_om_bv">en
+<a href="https://www.mimesbronn.no/request/forhandlinger_om_bv">en
 henvendelse via tjenesten</a> til
-<ahref="https://www.stortinget.no/no/Saker-og-publikasjoner/Sporsmal/Skriftlige-sporsmal-og-svar/Skriftlig-sporsmal/?qid=65047">spørsmål
+<a href="https://www.stortinget.no/no/Saker-og-publikasjoner/Sporsmal/Skriftlige-sporsmal-og-svar/Skriftlig-sporsmal/?qid=65047">spørsmål
 fra Stortinget til regjeringen</a>.  I dette og andre tilfeller har
 NUUG finansiert utvidet klagesak for henvendelser som vi som står bak
 tjenesten synes fortjener ekstra oppmerksomhet.  Så langt har en liten
@@ -71,7 +955,7 @@ skadelidende mens jeg manglet nøkkel (kjenner flere som er villig til
 å laste opp på mine vegne), men da nøkkelen var på plass steg
 motivasjonen og jeg har blant anne brukt tiden på å bidra til at
 pakker relatert til lyd- og videokodekene fra
-<ahref="http://www.xiph.org">Xiph.org-stiftelsen</a> (dvs. Ogg,
+<a href="http://www.xiph.org">Xiph.org-stiftelsen</a> (dvs. Ogg,
 Vorbis, Theora, Opus, etc) er i bedre stand i Debian, og har bidratt
 til å få liv i gruppen som vedlikeholder Xiph-relaterte slik at dette
 forhåpentligvis skal fungere bedre også i fremtiden.  Jeg har jobbet
@@ -80,13 +964,13 @@ håndtere ulike dongler i Debian ved at systemet selv vet og foreslår
 hvilke pakker som bør installeres for å få dongler til å fungere.  Har
 også fått inn eller hjulpet til å få inn endel nye programpakker,
 spesielt fornøyd med
-<ahref="https://tracker.debian.org/pkg/sonic-pi">Sonic Pi</A>,
-<ahref="https://tracker.debian.org/pkg/openalpr">OpenALPR</A> og 
-<ahref="https://tracker.debian.org/pkg/coz-profiler">Coz</A>.
+<a href="https://tracker.debian.org/pkg/sonic-pi">Sonic Pi</A>,
+<a href="https://tracker.debian.org/pkg/openalpr">OpenALPR</A> og 
+<a href="https://tracker.debian.org/pkg/coz-profiler">Coz</A>.
 
 
 <p>Et Debian-relatert prosjekt jeg følger er
-<ahref="https://www.freedombox.org/">FreedomBox</a>, som tar sikte på
+<a href="https://www.freedombox.org/">FreedomBox</a>, som tar sikte på
 å tilby en løsning (både programvare og maskinvare) der hvem som helst
 kan beholde sin private informasjon hjemme hos seg selv i stedet for å
 dele den med skytjenesteleverandører som Google, Facebook, Twitter,
@@ -104,9 +988,9 @@ vært med å arrangere flere utviklersamlinger både i 2015 og 2016.  Der
 har oversettere og utviklere blitt lært opp og arbeidet med blant
 annet dokumentasjon, feilfiksing og utvikling av Skolelinux og
 Frikanalen.  Relatert til dette arbeidet har jeg koordinert norsk
-oversettelse av <ahref="http://debian-handbook.info/">Håndbok for
+oversettelse av <a href="http://debian-handbook.info/">Håndbok for
 Debian-administratorer</a> til bokmål, og flyttet
-<ahref="https://hosted.weblate.org/projects/debian-edu-documentation/">oversetterarbeidet
+<a href="https://hosted.weblate.org/projects/debian-edu-documentation/">oversetterarbeidet
 av Skolelinux-håndboken</a> fra Transifex til Weblate.  Begge bøkene
 er snart klare for første gangs korrekturlesing og vi drømmer om å
 gjøre dem tilgjengelig på papir.</p>
@@ -120,7 +1004,7 @@ stadig flere brukere, og flere kommuner har tatt kontakt for å lære
 mer om hvordan FiksGataMi fungerer.
 
 <p>Den åpne TV-kanalen
-<ahref="http://www.frikanalen.no/">Frikanalen</a> har fått en god del
+<a href="http://www.frikanalen.no/">Frikanalen</a> har fått en god del
 av min oppmerksomhet.  Den var i starten av 2015 tilgjengelig på
 RiksTV kanal 50, web.  Kanalen har fått et REST-basert API, og dette
 har jeg tatt i bruk for å fylle sendeplanen med NUUG-, TED- og
@@ -133,7 +1017,7 @@ Frikanalen.  Det jobbes for tiden med å få distribusjon på Altibox, og
 dette håper vi skal være klart i starten av 2017.</p>
 
 <p>Relatert til Frikanalen har jeg i lengre tid
-<ahref="http://people.skolelinux.org/pere/blog/tags/h264/">forsøkt å
+<a href="http://people.skolelinux.org/pere/blog/tags/h264/">forsøkt å
 få klarhet i hva som er juridisk status for H.264 i Norge</a>.  Det er
 fortsatt uklart for meg om Frikanalen må betale for retten til å
 kringkaste eller ikke, og om vi risikerer å bryte opphavsrettsvilkår
@@ -142,7 +1026,7 @@ forsøke å finne ut hvordan de har vurdert situasjonen, uten å bli
 klok.</p>
 
 <p>Et prosjekt som var morsomt å se ta form var Ole Aamots
-<ahref="https://www.youtube.com/watch?v=8ftM5fdKgZk">dokumentarprosjekt
+<a href="https://www.youtube.com/watch?v=8ftM5fdKgZk">dokumentarprosjekt
 om fri programvare i Norge</a>.  Han fikk intervjuet en god del av de
 mest aktive folkene i Norge, og resultatet ble interessant og
 severdig.  Et nærmere prosjekt er NUUGs samarbeide med Oslo
@@ -213,7 +1097,7 @@ fri programvare og få det inn i Debian.</p>
 <p>Mye av det jeg har fått gjort rundt fri programvare og fri kultur
 har vært mulig takket være at jeg får dekket 20% av arbeidstiden min
 på Universitetet i Oslo fra
-<ahref="http://www.nuugfoundation.no/">NUUG Foundation</a> for å jobbe
+<a href="http://www.nuugfoundation.no/">NUUG Foundation</a> for å jobbe
 med og koordinere fri programvareaktiviteter.  Jeg er svært takknemlig
 til dem og min arbeidsgiver USIT for at jeg har fått muligheten.  Uten
 dette hadde jeg ikke rukket over like mye etter hvert som ungene ble
@@ -416,651 +1300,6 @@ nynorsk.</p>
     </div>
     <div class="padding"></div>
     
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Hyperions_magasin_Pegasus_g_r_for_Creative_Commons.html">Hyperions magasin Pegasus går for Creative Commons</a></div>
-      <div class="date">22nd November 2016</div>
-      <div class="body"><p>For noen dager siden ble jeg tipset av min venn Andreas
-Aanerud om at <a href="http://magasinetpegasus.no">magasinet
-Pegasus</a> skulle ta i bruk
-<a href="https://creativecommons.org/">Creative
-Commons</a>-lisensiering på sine artikler.  Han fortalte at den
-direkte årsaken var at han hadde blitt inspirert av å lese
-<a href=" http://www.lulu.com/shop/http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html">boken
-Fri kultur</a>
-(<a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>)
-og foreslått endringen.  Jeg ble veldig glad for å høre
-dette, da det er det første konkrete tilfellet jeg har hørt om der den
-norske oversettelsen av <a href="http://www.free-culture.cc/">
-Lawrence Lessigs bok Free Culture</a> som jeg ga ut i fjor høst hadde
-fått noen til å ta i bruk Creative Commons.</p>
-
-<p>Andreas fikk boken av meg som takk for at han inviterte meg til
-<a href="http://www.gathering.org/">The Gathering</a>, og jeg er veldig
-glad for at den falt i smak.  Jeg ble nysgjerrig på hva som var
-bakgrunnen for denne policy-endringen hos Hyperion og han sa seg
-villig til å la seg intervjue til bloggen min. </p>
-
-<blockquote>
-
-<p><strong>Hvilke tanker gjorde du deg da boken lå i hånden første
-gang?</strong></p>
-
-<p>Jeg husker da jeg fikk boken, etter en omvisning på The Gathering i
-2016, der jeg var Core Organizer.  The Gathering er jo et sted hvor en
-fremmer delingskultur, i alt fra kode, til løsninger og «hacks», så en
-kan vel si at boken er veldig relevant!</p>
-
-<p>Mine første tanker om boken, var at den trengte et grafisk løft.
-Selv har jeg dysleksi og er ikke verdens beste i å lese, men for meg
-så skal ikke det bety at jeg ikke klarer å lese.  Jeg har jo også mine
-egne tanker om «Fri kultur», ettersom jeg har jobbet med noen norske
-filmer via NRK og TV2 og nå sitter som en teknisk leder i
-filmavdelingen til Schjærven Reklamebyrå.</p>
-
-<p><strong>Har du lest boken, og hva tenker du om den nå?</strong></p>
-
-<p>Jeg har lest boken, og for meg er det jo veldig moro å kunne si at
-Disney var en pirat og nå ha bevisene.  Men det å gå fra Disney via
-RIAA, og så igjennom en jungel av teknikk og programmering og ende opp
-med spørsmålet om vi alle piratkopierer litt, er enda bedre.  For ja,
-boken klarer å få frem en diskusjon om åndsverk på en god måte
-gjennom en samling historier, men den viste meg også et bilde, hvor
-teknologi blir kneblet, og ikke får lov til å utvikle seg, ettersom
-«opphavsrettsinnehaverne» bryr seg mer om sin industri enn om verden
-går fremover.  Ta f.eks. internettradio!  Hvorfor tuller vi med DAB+
-og alt det der, når radio kan være en app på alle telefoner i dag.
-Men den største tanken som jeg satt igjen med, er at vi må få færre
-advokater og flere tenkere som kan dra oss vekk fra de feilene vi er i
-ferd med å ende opp i.</p>
-
-<p><strong>Har budskapet i boken påvirker deg og det du holder på
-med?</strong></p>
-
-<p>The Gathering sin moderforening er
-<a href="http://www.kandu.no/">KANDU</a>, som er et stolt medlem av <a
-href="http://n4f.no/">Hyperion</a>.  Hyperion har et mandat igjennom
-sitt interne magasin Pegasus å fremme Hyperion sine
-medlemsarrangementer og kultur. Dette tror jeg er veldig viktig, og en
-av de viktigste virkemidlene det magasinet nå har fått, er pålegget om
-å publisere alt under de forskjellige Creative Commons
-retningslinjer. Grunnen til at Pegasus kan velge fritt blant lisensene
-til Creative Commons er deres bruk av freelancere m.m. som også må få
-sine rettigheter dekket.</p>
-
-<p>Det er et steg i riktig retning som jeg håper, vil gi lokalaviser,
-nasjonale aviser, bloggere m.m. muligheten til å referere til Pegasus
-sitt innhold uten å måtte be om tillatelse først, som i bunnen vil
-hjelpe oss å spre vår kultur i Hyperion.</p>
-
-<p><strong>Hva fikk Pegasus til å vedta retninglinjer om bruk av
-Creative Commons, og hvordan kom dere frem til en slik
-policy?</strong></p>
-
-<p>Dette skjedde på Hyperion sitt landsting, hvor jeg ønsket å fremme
-Creative Commons som en retning som flere mener magasinet burde ta,
-hvordan Pegasus tar det i bruk er mer opp til redaksjonen. Det som var
-trist er at en del har misforstått hva Creative Commons er.  Vi fikk
-en veldig het «debatt» på facebook i etterkant hvor noen blant annet
-mener at dette vedtaket har drept Pegasus.</p>
-
-<p>Personlig syntes jeg disse reaksjonene er rare, ettersom Pegasus er
-et medlemsmagasin og magasinet sitt mål er å spre vår fantastiske
-kultur.  Jeg mener at Ceative Commons-bruksvilkår på artikler skaper
-en veldig god mulighet til å spre denne kulturen.  Det gjør at større
-og mindre aviser kan låne artikler fra medlemsmagasinet og publisere
-det hos seg, slik at effekten nettopp er fremme vår kultur.</p>
-
-<p>Jeg gleder meg til å se hvordan redaksjonen håndhever bruken av
-Creative Commons.</p>
-
-<p><strong>Hvem tror du kunne ha mest nytte av å lese Fri
-kultur?</strong></p>
-
-<p>Jeg tror at boken Fri kultur bør leses av de som ønsker en debatt
-om nye medier, samt de som jobber med medier og føler seg «truet» av
-utviklingen. Kanskje det kan være et lysglimt om at vi må heller være
-med å utvikle oss, enn å stoppe opp og «beskytte» våre eier-, penge-
-og materielle interesser.</p>
-
-<p>Spørsmålet for redaksjoner vil vel være om de «tjener» på klikk og
-sine artikler via annonser, i så fall ville jeg tenkt litt rundt
-spredningen.  Nettavisen Digi.no gjorde en analyse i 2015 som var
-veldig fin. Hvor de måtte konkludere med at de fikk ut budskapet
-bedre, men de mistet inntekter på annonsevisning.</p>
-
-<p>Derfor for et magasin som skal «spre» kultur, så burde Creative
-Commons være en no-brainer, en kunne også kanskje argumentere med at
-NRK også burde gjøre dette, ettersom de ikke lever av reklame, og vi
-betaler for innholdet deres.</p>
-
-<p><strong>Kommer du til å anbefale boken til noen du
-kjenner?</strong></p>
-
-<p>Absolutt!  Jeg har faktisk tenkt å gi den videre som en vandrebok,
-til redaksjonen i Pegasus slik at de kan lese den og få noen ider og
-tanker om fri kultur.</p>
-
-<p><strong>Du sier at boken klarer å få frem viktig en diskusjon om
-  vern av åndsverk.  Boken er jo skrevet med bakgrunn i USAs
-  Copyright-lovgiving og ikke den norske åndsverksloven.  Hva gjør at
-  du mener boken er relevant for den norske debatten?</strong></p>
-
-<p>En av tingene boken pekte på var tanken om hvor opphavsretten skal
-ligge.  Skal den ligge hos den som skriver sangen, den som fremfører
-eller den som tar opp sangen.  Og når spørsmålet kom tilbake i en
-software-utgave, «hvordan kan Adobe styre opphavsretten i sin eBook
-Publisher» så føler jeg at vi kommer inn på spennende tanker som jeg
-mener vi glemmer i norsk åndsverksdebatt.  USA har rett å slett et
-«større bilde» som kanskje vi kan ta lærdom av.</p>
-
-</blockquote>
-
-<p>Jeg er veldig spent på hvordan redaksjonen i Pegasus kommer til å
-ta i bruk Creative Commons, og gleder meg til neste tegn på at
-bokutgivelsen har fått noen til å tenke mer på problemene med dagens
-åndsverksvern.</p>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html">Coz profiler for multi-threaded software is now in Debian</a></div>
-      <div class="date">13th November 2016</div>
-      <div class="body"><p><a href="http://coz-profiler.org/">The Coz profiler</a>, a nice
-profiler able to run benchmarking experiments on the instrumented
-multi-threaded program, finally
-<a href="https://tracker.debian.org/pkg/coz-profiler">made it into
-Debian unstable yesterday</A>.  Lluís Vilanova and I have spent many
-months since
-<a href="http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html">I
-blogged about the coz tool</a> in August working with upstream to make
-it suitable for Debian.  There are still issues with clang
-compatibility, inline assembly only working x86 and minimized
-JavaScript libraries.</p>
-
-<p>To test it, install 'coz-profiler' using apt and run it like this:</p>
-
-<p><blockquote>
-<tt>coz run --- /path/to/binary-with-debug-info</tt>
-</blockquote></p>
-
-<p>This will produce a profile.coz file in the current working
-directory with the profiling information.  This is then given to a
-JavaScript application provided in the package and available from
-<a href="http://plasma-umass.github.io/coz/">a project web page</a>.
-To start the local copy, invoke it in a browser like this:</p>
-
-<p><blockquote>
-<tt>sensible-browser /usr/share/coz-profiler/viewer/index.htm</tt>
-</blockquote></p>
-
-<p>See the project home page and the
-<a href="https://www.usenix.org/publications/login/summer2016/curtsinger">USENIX
-;login: article on Coz</a> for more information on how it is
-working.</p>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/How_to_talk_with_your_loved_ones_in_private.html">How to talk with your loved ones in private</a></div>
-      <div class="date"> 7th November 2016</div>
-      <div class="body"><p>A few days ago I ran a very biased and informal survey to get an
-idea about what options are being used to communicate with end to end
-encryption with friends and family.  I explicitly asked people not to
-list options only used in a work setting.  The background is the
-uneasy feeling I get when using Signal, a feeling shared by others as
-a blog post from Sander Venima about
-<a href="https://sandervenema.ch/2016/11/why-i-wont-recommend-signal-anymore/">why
-he do not recommend Signal anymore</a> (with
-<a href="https://news.ycombinator.com/item?id=12883410">feedback from
-the Signal author available from ycombinator</a>).  I wanted an
-overview of the options being used, and hope to include those options
-in a less biased survey later on.  So far I have not taken the time to
-look into the individual proposed systems.  They range from text
-sharing web pages, via file sharing and email to instant messaging,
-VOIP and video conferencing.  For those considering which system to
-use, it is also useful to have a look at
-<a href="https://www.eff.org/secure-messaging-scorecard">the EFF Secure
-messaging scorecard</a> which is slightly out of date but still
-provide valuable information.</p>
-
-<p>So, on to the list.  There were some used by many, some used by a
-few, some rarely used ones and a few mentioned but without anyone
-claiming to use them.  Notice the grouping is in reality quite random
-given the biased self selected set of participants.  First the ones
-used by many:</p>
-
-<ul>
-
-<li><a href="https://whispersystems.org/">Signal</a></li>
-<li>Email w/<a href="http://openpgp.org/">OpenPGP</a> (Enigmail, GPGSuite,etc)</li>
-<li><a href="https://www.whatsapp.com/">Whatsapp</a></li>
-<li>IRC w/<a href="https://otr.cypherpunks.ca/">OTR</a></li>
-<li>XMPP w/<a href="https://otr.cypherpunks.ca/">OTR</a></li>
-
-</ul>
-
-<p>Then the ones used by a few.</p>
-
-<ul>
-
-<li><a href="https://wiki.mumble.info/wiki/Main_Page">Mumble</a></li>
-<li>iMessage (included in iOS from Apple)</li>
-<li><a href="https://telegram.org/">Telegram</a></li>
-<li><a href="https://jitsi.org/">Jitsi</a></li>
-<li><a href="https://keybase.io/download">Keybase file</a></li>
-
-</ul>
-
-<p>Then the ones used by even fewer people</p>
-
-<ul>
-
-<li><a href="https://ring.cx/">Ring</a></li>
-<li><a href="https://bitmessage.org/">Bitmessage</a></li>
-<li><a href="https://wire.com/">Wire</a></li>
-<li>VoIP w/<a href="https://en.wikipedia.org/wiki/ZRTP">ZRTP</a> or controlled <a href="https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol">SRTP</a> (e.g using <a href="https://en.wikipedia.org/wiki/CSipSimple">CSipSimple</a>, <a href="https://en.wikipedia.org/wiki/Linphone">Linphone</a>)</li>
-<li><a href="https://matrix.org/">Matrix</a></li>
-<li><a href="https://kontalk.org/">Kontalk</a></li>
-<li><a href="https://0bin.net/">0bin</a> (encrypted pastebin)</li>
-<li><a href="https://appear.in">Appear.in</a></li>
-<li><a href="https://riot.im/">riot</a></li>
-<li><a href="https://www.wickr.com/">Wickr Me</a></li>
-
-</ul>
-
-<p>And finally the ones mentioned by not marked as used by
-anyone. This might be a mistake, perhaps the person adding the entry
-forgot to flag it as used?</p>
-
-<ul>
-
-<li>Email w/Certificates <a href="https://en.wikipedia.org/wiki/S/MIME">S/MIME</a></li>
-<li><a href="https://www.crypho.com/">Crypho</a></li>
-<li><a href="https://cryptpad.fr/">CryptPad</a></li>
-<li><a href="https://github.com/ricochet-im/ricochet">ricochet</a></li>
-
-</ul>
-
-<p>Given the network effect it seem obvious to me that we as a society
-have been divided and conquered by those interested in keeping
-encrypted and secure communication away from the masses.  The
-finishing remarks <a href="https://vimeo.com/97505679">from Aral Balkan
-in his talk "Free is a lie"</a> about the usability of free software
-really come into effect when you want to communicate in private with
-your friends and family.  We can not expect them to allow the
-usability of communication tool to block their ability to talk to
-their loved ones.</p>
-
-<p>Note for example the option IRC w/OTR.  Most IRC clients do not
-have OTR support, so in most cases OTR would not be an option, even if
-you wanted to.  In my personal experience, about 1 in 20 I talk to
-have a IRC client with OTR.  For private communication to really be
-available, most people to talk to must have the option in their
-currently used client.  I can not simply ask my family to install an
-IRC client.  I need to guide them through a technical multi-step
-process of adding extensions to the client to get them going.  This is
-a non-starter for most.</p>
-
-<p>I would like to be able to do video phone calls, audio phone calls,
-exchange instant messages and share files with my loved ones, without
-being forced to share with people I do not know.  I do not want to
-share the content of the conversations, and I do not want to share who
-I communicate with or the fact that I communicate with someone.
-Without all these factors in place, my private life is being more or
-less invaded.</p>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/My_own_self_balancing_Lego_Segway.html">My own self balancing Lego Segway</a></div>
-      <div class="date"> 4th November 2016</div>
-      <div class="body"><p>A while back I received a Gyro sensor for the NXT
-<a href="mindstorms.lego.com">Mindstorms</a> controller as a birthday
-present.  It had been on my wishlist for a while, because I wanted to
-build a Segway like balancing lego robot.  I had already built
-<a href="http://www.nxtprograms.com/NXT2/segway/">a simple balancing
-robot</a> with the kids, using the light/color sensor included in the
-NXT kit as the balance sensor, but it was not working very well.  It
-could balance for a while, but was very sensitive to the light
-condition in the room and the reflective properties of the surface and
-would fall over after a short while.  I wanted something more robust,
-and had
-<a href="https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NGY1044">the
-gyro sensor from HiTechnic</a> I believed would solve it on my
-wishlist for some years before it suddenly showed up as a gift from my
-loved ones. :)</p>
-
-<p>Unfortunately I have not had time to sit down and play with it
-since then.  But that changed some days ago, when I was searching for
-lego segway information and came across a recipe from HiTechnic for
-building
-<a href="http://www.hitechnic.com/blog/gyro-sensor/htway/">the
-HTWay</a>, a segway like balancing robot.  Build instructions and
-<a href="https://www.hitechnic.com/upload/786-HTWayC.nxc">source
-code</a> was included, so it was just a question of putting it all
-together.  And thanks to the great work of many Debian developers, the
-compiler needed to build the source for the NXT is already included in
-Debian, so I was read to go in less than an hour.  The resulting robot
-do not look very impressive in its simplicity:</p>
-
-<p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-robot.jpeg"></p>
-
-<p>Because I lack the infrared sensor used to control the robot in the
-design from HiTechnic, I had to comment out the last task
-(taskControl).  I simply placed /* and */ around it get the program
-working without that sensor present.  Now it balances just fine until
-the battery status run low:</p>
-
-<p align="center"><video width="70%" controls="true">
-   <source src="http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-balancing.ogv" type="video/ogg">
-</video></p>
-
-<p>Now we would like to teach it how to follow a line and take remote
-control instructions using the included Bluetooth receiver in the NXT.</p>
-
-<p>If you, like me, love LEGO and want to make sure we find the tools
-they need to work with LEGO in Debian and all our derivative
-distributions like Ubuntu, check out
-<a href="http://wiki.debian.org/LegoDesigners">the LEGO designers
-project page</a> and join the Debian LEGO team.  Personally I own a
-RCX and NXT controller (no EV3), and would like to make sure the
-Debian tools needed to program the systems I own work as they
-should.</p>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Aktivitetsb_nd_som_beskytter_privatsf_ren.html">Aktivitetsbånd som beskytter privatsfæren</a></div>
-      <div class="date"> 3rd November 2016</div>
-      <div class="body"><p>Jeg ble så imponert over
-<a href="https://www.nrk.no/norge/forbrukerradet-mener-aktivitetsarmband-strider-mot-norsk-lov-1.13209079">dagens
-gladnyhet på NRK</a>, om at Forbrukerrådet klager inn vilkårene for
-bruk av aktivitetsbånd fra Fitbit, Garmin, Jawbone og Mio til
-Datatilsynet og forbrukerombudet, at jeg sendte følgende brev til
-forbrukerrådet for å uttrykke min støtte:
-
-<blockquote>
-
-<p>Jeg ble veldig glad over å lese at Forbrukerrådet
-<a href="http://www.forbrukerradet.no/siste-nytt/klager-inn-aktivitetsarmband-for-brudd-pa-norsk-lov/">klager
-inn flere aktivitetsbånd til Datatilsynet for dårlige vilkår</a>.  Jeg
-har ønsket meg et aktivitetsbånd som kan måle puls, bevegelse og
-gjerne også andre helserelaterte indikatorer en stund nå.  De eneste
-jeg har funnet i salg gjør, som dere også har oppdaget, graverende
-inngrep i privatsfæren og sender informasjonen ut av huset til folk og
-organisasjoner jeg ikke ønsker å dele aktivitets- og helseinformasjon
-med.  Jeg ønsker et alternativ som <em>ikke</em> sender informasjon til
-skyen, men derimot bruker
-<a href="http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">en
-fritt og åpent standardisert</a> protokoll (eller i det minste en
-dokumentert protokoll uten patent- og opphavsrettslige
-bruksbegrensinger) til å kommunisere med datautstyr jeg kontrollerer.
-Er jo ikke interessert i å betale noen for å tilrøve seg
-personopplysninger fra meg.  Desverre har jeg ikke funnet noe
-alternativ så langt.</p>
-
-<p>Det holder ikke å endre på bruksvilkårene for enhetene, slik
-Datatilsynet ofte legger opp til i sin behandling, når de gjør slik
-f.eks. Fitbit (den jeg har sett mest på).  Fitbit krypterer
-informasjonen på enheten og sender den kryptert til leverandøren.  Det
-gjør det i praksis umulig både å sjekke hva slags informasjon som
-sendes over, og umulig å ta imot informasjonen selv i stedet for
-Fitbit.  Uansett hva slags historie som forteller i bruksvilkårene er
-en jo både prisgitt leverandørens godvilje og at de ikke tvinges av
-sitt lands myndigheter til å lyve til sine kunder om hvorvidt
-personopplysninger spres ut over det bruksvilkårene sier.  Det er
-veldokumentert hvordan f.eks. USA tvinger selskaper vha. såkalte
-National security letters til å utlevere personopplysninger samtidig
-som de ikke får lov til å fortelle dette til kundene sine.</p>
-
-<p>Stå på, jeg er veldig glade for at dere har sett på saken.  Vet
-dere om aktivitetsbånd i salg i dag som ikke tvinger en til å utlevere
-aktivitets- og helseopplysninger med leverandøren?</p>
-
-</blockquote>
-
-<p>Jeg håper en konkurrent som respekterer kundenes privatliv klarer å
-nå opp i markedet, slik at det finnes et reelt alternativ for oss som
-har full tillit til at skyleverandører vil prioritere egen inntjening
-og myndighetspålegg langt foran kundenes rett til privatliv.  Jeg har
-ingen tiltro til at Datatilsynet vil kreve noe mer enn at vilkårene
-endres slik at de forklarer eksplisitt i hvor stor grad bruk av
-produktene utraderer privatsfæren til kundene.  Det vil nok gjøre de
-innklagede armbåndene «lovlige», men fortsatt tvinge kundene til å
-dele sine personopplysninger med leverandøren.</p>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html">Experience and updated recipe for using the Signal app without a mobile phone</a></div>
-      <div class="date">10th October 2016</div>
-      <div class="body"><p>In July
-<a href="http://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html">I
-wrote how to get the Signal Chrome/Chromium app working</a> without
-the ability to receive SMS messages (aka without a cell phone).  It is
-time to share some experiences and provide an updated setup.</p>
-
-<p>The Signal app have worked fine for several months now, and I use
-it regularly to chat with my loved ones.  I had a major snag at the
-end of my summer vacation, when the the app completely forgot my
-setup, identity and keys.  The reason behind this major mess was
-running out of disk space.  To avoid that ever happening again I have
-started storing everything in <tt>userdata/</tt> in git, to be able to
-roll back to an earlier version if the files are wiped by mistake.  I
-had to use it once after introducing the git backup.  When rolling
-back to an earlier version, one need to use the 'reset session' option
-in Signal to get going, and notify the people you talk with about the
-problem.  I assume there is some sequence number tracking in the
-protocol to detect rollback attacks.  The git repository is rather big
-(674 MiB so far), but I have not tried to figure out if some of the
-content can be added to a .gitignore file due to lack of spare
-time.</p>
-
-<p>I've also hit the 90 days timeout blocking, and noticed that this
-make it impossible to send messages using Signal.  I could still
-receive them, but had to patch the code with a new timestamp to send.
-I believe the timeout is added by the developers to force people to
-upgrade to the latest version of the app, even when there is no
-protocol changes, to reduce the version skew among the user base and
-thus try to keep the number of support requests down.</p>
-
-<p>Since my original recipe, the Signal source code changed slightly,
-making the old patch fail to apply cleanly.  Below is an updated
-patch, including the shell wrapper I use to start Signal.  The
-original version required a new user to locate the JavaScript console
-and call a function from there.  I got help from a friend with more
-JavaScript knowledge than me to modify the code to provide a GUI
-button instead.  This mean that to get started you just need to run
-the wrapper and click the 'Register without mobile phone' to get going
-now.  I've also modified the timeout code to always set it to 90 days
-in the future, to avoid having to patch the code regularly.</p>
-
-<p>So, the updated recipe for Debian Jessie:</p>
-
-<ol>
-
-<li>First, install required packages to get the source code and the
-browser you need.  Signal only work with Chrome/Chromium, as far as I
-know, so you need to install it.
-
-<pre>
-apt install git tor chromium
-git clone https://github.com/WhisperSystems/Signal-Desktop.git
-</pre></li>
-
-<li>Modify the source code using command listed in the the patch
-block below.</li>
-
-<li>Start Signal using the run-signal-app wrapper (for example using
-<tt>`pwd`/run-signal-app</tt>).
-
-<li>Click on the 'Register without mobile phone', will in a phone
-number you can receive calls to the next minute, receive the
-verification code and enter it into the form field and press
-'Register'.  Note, the phone number you use will be user Signal
-username, ie the way others can find you on Signal.</li>
-
-<li>You can now use Signal to contact others.  Note, new contacts do
-not show up in the contact list until you restart Signal, and there is
-no way to assign names to Contacts.  There is also no way to create or
-update chat groups.  I suspect this is because the web app do not have
-a associated contact database.</li>
-
-</ol>
-
-<p>I am still a bit uneasy about using Signal, because of the way its
-main author moxie0 reject federation and accept dependencies to major
-corporations like Google (part of the code is fetched from Google) and
-Amazon (the central coordination point is owned by Amazon).  See for
-example
-<a href="https://github.com/LibreSignal/LibreSignal/issues/37">the
-LibreSignal issue tracker</a> for a thread documenting the authors
-view on these issues.  But the network effect is strong in this case,
-and several of the people I want to communicate with already use
-Signal.  Perhaps we can all move to <a href="https://ring.cx/">Ring</a>
-once it <a href="https://bugs.debian.org/830265">work on my
-laptop</a>?  It already work on Windows and Android, and is included
-in <a href="https://tracker.debian.org/pkg/ring">Debian</a> and
-<a href="https://launchpad.net/ubuntu/+source/ring">Ubuntu</a>, but not
-working on Debian Stable.</p>
-
-<p>Anyway, this is the patch I apply to the Signal code to get it
-working.  It switch to the production servers, disable to timeout,
-make registration easier and add the shell wrapper:</p>
-
-<pre>
-cd Signal-Desktop; cat &lt;&lt;EOF | patch -p1
-diff --git a/js/background.js b/js/background.js
-index 24b4c1d..579345f 100644
---- a/js/background.js
-+++ b/js/background.js
-@@ -33,9 +33,9 @@
-         });
-     });
--    var SERVER_URL = 'https://textsecure-service-staging.whispersystems.org';
-+    var SERVER_URL = 'https://textsecure-service-ca.whispersystems.org';
-     var SERVER_PORTS = [80, 4433, 8443];
--    var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com';
-+    var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments.s3.amazonaws.com';
-     var messageReceiver;
-     window.getSocketStatus = function() {
-         if (messageReceiver) {
-diff --git a/js/expire.js b/js/expire.js
-index 639aeae..beb91c3 100644
---- a/js/expire.js
-+++ b/js/expire.js
-@@ -1,6 +1,6 @@
- ;(function() {
-     'use strict';
--    var BUILD_EXPIRATION = 0;
-+    var BUILD_EXPIRATION = Date.now() + (90 * 24 * 60 * 60 * 1000);
-     window.extension = window.extension || {};
-diff --git a/js/views/install_view.js b/js/views/install_view.js
-index 7816f4f..1d6233b 100644
---- a/js/views/install_view.js
-+++ b/js/views/install_view.js
-@@ -38,7 +38,8 @@
-             return {
-                 'click .step1': this.selectStep.bind(this, 1),
-                 'click .step2': this.selectStep.bind(this, 2),
--                'click .step3': this.selectStep.bind(this, 3)
-+                'click .step3': this.selectStep.bind(this, 3),
-+                'click .callreg': function() { extension.install('standalone') },
-             };
-         },
-         clearQR: function() {
-diff --git a/options.html b/options.html
-index dc0f28e..8d709f6 100644
---- a/options.html
-+++ b/options.html
-@@ -14,7 +14,10 @@
-         &lt;div class='nav'>
-           &lt;h1>{{ installWelcome }}&lt;/h1>
-           &lt;p>{{ installTagline }}&lt;/p>
--          &lt;div> &lt;a class='button step2'>{{ installGetStartedButton }}&lt;/a> &lt;/div>
-+          &lt;div> &lt;a class='button step2'>{{ installGetStartedButton }}&lt;/a>
-+          &lt;br> &lt;a class="button callreg">Register without mobile phone&lt;/a>
-+
-+        &lt;/div>
-           &lt;span class='dot step1 selected'>&lt;/span>
-           &lt;span class='dot step2'>&lt;/span>
-           &lt;span class='dot step3'>&lt;/span>
---- /dev/null   2016-10-07 09:55:13.730181472 +0200
-+++ b/run-signal-app   2016-10-10 08:54:09.434172391 +0200
-@@ -0,0 +1,12 @@
-+#!/bin/sh
-+set -e
-+cd $(dirname $0)
-+mkdir -p userdata
-+userdata="`pwd`/userdata"
-+if [ -d "$userdata" ] && [ ! -d "$userdata/.git" ] ; then
-+    (cd $userdata && git init)
-+fi
-+(cd $userdata && git add . && git commit -m "Current status." || true)
-+exec chromium \
-+  --proxy-server="socks://localhost:9050" \
-+  --user-data-dir=$userdata --load-and-launch-app=`pwd`
-EOF
-chmod a+rx run-signal-app
-</pre>
-
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
     <p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
     <div id="sidebar">
       
@@ -1069,6 +1308,13 @@ activities, please send Bitcoin donations to my address
 <h2>Archive</h2>
 <ul>
 
+<li>2017
+<ul>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (2)</a></li>
+
+</ul></li>
+
 <li>2016
 <ul>
 
@@ -1094,7 +1340,7 @@ activities, please send Bitcoin donations to my address
 
 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
 
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (1)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
 
 </ul></li>
 
@@ -1333,7 +1579,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (141)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (145)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
 
@@ -1345,7 +1591,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (333)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (337)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
 
@@ -1361,9 +1607,9 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (13)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (15)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (20)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
 
@@ -1377,11 +1623,11 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (39)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (8)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (9)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (284)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (285)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (182)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (183)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (26)</a></li>
 
@@ -1389,7 +1635,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (62)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (95)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (97)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
 
@@ -1413,13 +1659,13 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (49)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (50)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (5)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (10)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (11)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (43)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (45)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (2)</a></li>
 
@@ -1431,7 +1677,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (38)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (39)</a></li>
 
 </ul>