X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/f809ffc8c72c87f838f44fedb71983a633de0eb7..53798080ccfe7c0d9ad356a83ded5b219b186c9b:/blog/index.rss
diff --git a/blog/index.rss b/blog/index.rss
index 7758cf9ca4..0a657f587a 100644
--- a/blog/index.rss
+++ b/blog/index.rss
@@ -7,1005 +7,664 @@
- listadmin, the quick way to moderate mailman lists - nice free software
- http://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html
- http://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html
- Wed, 22 Oct 2014 20:00:00 +0200
- <p>If you ever had to moderate a mailman list, like the ones on
-alioth.debian.org, you know the web interface is fairly slow to
-operate. First you visit one web page, enter the moderation password
-and get a new page shown with a list of all the messages to moderate
-and various options for each email address. This take a while for
-every list you moderate, and you need to do it regularly to do a good
-job as a list moderator. But there is a quick alternative,
-<a href="http://heim.ifi.uio.no/kjetilho/hacks/#listadmin">the
-listadmin program</a>. It allow you to check lists for new messages
-to moderate in a fraction of a second. Here is a test run on two
-lists I recently took over:</p>
+ Detecting NFS hangs on Linux without hanging yourself...
+ http://people.skolelinux.org/pere/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html
+ http://people.skolelinux.org/pere/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html
+ Thu, 9 Mar 2017 15:20:00 +0100
+ <p>Over the years, administrating thousand of NFS mounting linux
+computers at the time, I often needed a way to detect if the machine
+was experiencing NFS hang. If you try to use <tt>df</tt> or look at a
+file or directory affected by the hang, the process (and possibly the
+shell) will hang too. So you want to be able to detect this without
+risking the detection process getting stuck too. It has not been
+obvious how to do this. When the hang has lasted a while, it is
+possible to find messages like these in dmesg:</p>
-<p><blockquote><pre>
-% time listadmin xiph
-fetching data for pkg-xiph-commits@lists.alioth.debian.org ... nothing in queue
-fetching data for pkg-xiph-maint@lists.alioth.debian.org ... nothing in queue
-
-real 0m1.709s
-user 0m0.232s
-sys 0m0.012s
-%
-</pre></blockquote></p>
-
-<p>In 1.7 seconds I had checked two mailing lists and confirmed that
-there are no message in the moderation queue. Every morning I
-currently moderate 68 mailman lists, and it normally take around two
-minutes. When I took over the two pkg-xiph lists above a few days
-ago, there were 400 emails waiting in the moderator queue. It took me
-less than 15 minutes to process them all using the listadmin
-program.</p>
-
-<p>If you install
-<a href="https://tracker.debian.org/pkg/listadmin">the listadmin
-package</a> from Debian and create a file <tt>~/.listadmin.ini</tt>
-with content like this, the moderation task is a breeze:</p>
-
-<p><blockquote><pre>
-username@example.org
-spamlevel 23
-default discard
-discard_if_reason "Posting restricted to members only. Remove us from your mail list."
-
-password secret
-adminurl https://{domain}/mailman/admindb/{list}
-mailman-list@lists.example.com
-
-password hidden
-other-list@otherserver.example.org
-</pre></blockquote></p>
-
-<p>There are other options to set as well. Check the manual page to
-learn the details.</p>
-
-<p>If you are forced to moderate lists on a mailman installation where
-the SSL certificate is self signed or not properly signed by a
-generally accepted signing authority, you can set a environment
-variable when calling listadmin to disable SSL verification:</p>
+<p><blockquote>
+nfs: server nfsserver not responding, still trying
+<br>nfs: server nfsserver OK
+</blockquote></p>
+
+<p>It is hard to know if the hang is still going on, and it is hard to
+be sure looking in dmesg is going to work. If there are lots of other
+messages in dmesg the lines might have rotated out of site before they
+are noticed.</p>
+
+<p>While reading through the nfs client implementation in linux kernel
+code, I came across some statistics that seem to give a way to detect
+it. The om_timeouts sunrpc value in the kernel will increase every
+time the above log entry is inserted into dmesg. And after digging a
+bit further, I discovered that this value show up in
+/proc/self/mountstats on Linux.</p>
+
+<p>The mountstats content seem to be shared between files using the
+same file system context, so it is enough to check one of the
+mountstats files to get the state of the mount point for the machine.
+I assume this will not show lazy umounted NFS points, nor NFS mount
+points in a different process context (ie with a different filesystem
+view), but that does not worry me.</p>
+
+<p>The content for a NFS mount point look similar to this:</p>
<p><blockquote><pre>
-PERL_LWP_SSL_VERIFY_HOSTNAME=0 listadmin
+[...]
+device /dev/mapper/Debian-var mounted on /var with fstype ext3
+device nfsserver:/mnt/nfsserver/home0 mounted on /mnt/nfsserver/home0 with fstype nfs statvers=1.1
+ opts: rw,vers=3,rsize=65536,wsize=65536,namlen=255,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60,soft,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=129.240.3.145,mountvers=3,mountport=4048,mountproto=udp,local_lock=all
+ age: 7863311
+ caps: caps=0x3fe7,wtmult=4096,dtsize=8192,bsize=0,namlen=255
+ sec: flavor=1,pseudoflavor=1
+ events: 61063112 732346265 1028140 35486205 16220064 8162542 761447191 71714012 37189 3891185 45561809 110486139 4850138 420353 15449177 296502 52736725 13523379 0 52182 9016896 1231 0 0 0 0 0
+ bytes: 166253035039 219519120027 0 0 40783504807 185466229638 11677877 45561809
+ RPC iostats version: 1.0 p/v: 100003/3 (nfs)
+ xprt: tcp 925 1 6810 0 0 111505412 111480497 109 2672418560317 0 248 53869103 22481820
+ per-op statistics
+ NULL: 0 0 0 0 0 0 0 0
+ GETATTR: 61063106 61063108 0 9621383060 6839064400 453650 77291321 78926132
+ SETATTR: 463469 463470 0 92005440 66739536 63787 603235 687943
+ LOOKUP: 17021657 17021657 0 3354097764 4013442928 57216 35125459 35566511
+ ACCESS: 14281703 14290009 5 2318400592 1713803640 1709282 4865144 7130140
+ READLINK: 125 125 0 20472 18620 0 1112 1118
+ READ: 4214236 4214237 0 715608524 41328653212 89884 22622768 22806693
+ WRITE: 8479010 8494376 22 187695798568 1356087148 178264904 51506907 231671771
+ CREATE: 171708 171708 0 38084748 46702272 873 1041833 1050398
+ MKDIR: 3680 3680 0 773980 993920 26 23990 24245
+ SYMLINK: 903 903 0 233428 245488 6 5865 5917
+ MKNOD: 80 80 0 20148 21760 0 299 304
+ REMOVE: 429921 429921 0 79796004 61908192 3313 2710416 2741636
+ RMDIR: 3367 3367 0 645112 484848 22 5782 6002
+ RENAME: 466201 466201 0 130026184 121212260 7075 5935207 5961288
+ LINK: 289155 289155 0 72775556 67083960 2199 2565060 2585579
+ READDIR: 2933237 2933237 0 516506204 13973833412 10385 3190199 3297917
+ READDIRPLUS: 1652839 1652839 0 298640972 6895997744 84735 14307895 14448937
+ FSSTAT: 6144 6144 0 1010516 1032192 51 9654 10022
+ FSINFO: 2 2 0 232 328 0 1 1
+ PATHCONF: 1 1 0 116 140 0 0 0
+ COMMIT: 0 0 0 0 0 0 0 0
+
+device binfmt_misc mounted on /proc/sys/fs/binfmt_misc with fstype binfmt_misc
+[...]
</pre></blockquote></p>
-<p>If you want to moderate a subset of the lists you take care of, you
-can provide an argument to the listadmin script like I do in the
-initial screen dump (the xiph argument). Using an argument, only
-lists matching the argument string will be processed. This make it
-quick to accept messages if you notice the moderation request in your
-email.</p>
-
-<p>Without the listadmin program, I would never be the moderator of 68
-mailing lists, as I simply do not have time to spend on that if the
-process was any slower. The listadmin program have saved me hours of
-time I could spend elsewhere over the years. It truly is nice free
-software.</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>
+<p>The key number to look at is the third number in the per-op list.
+It is the number of NFS timeouts experiences per file system
+operation. Here 22 write timeouts and 5 access timeouts. If these
+numbers are increasing, I believe the machine is experiencing NFS
+hang. Unfortunately the timeout value do not start to increase right
+away. The NFS operations need to time out first, and this can take a
+while. The exact timeout value depend on the setup. For example the
+defaults for TCP and UDP mount points are quite different, and the
+timeout value is affected by the soft, hard, timeo and retrans NFS
+mount options.</p>
+
+<p>The only way I have been able to get working on Debian and RedHat
+Enterprise Linux for getting the timeout count is to peek in /proc/.
+But according to
+<ahref="http://docs.oracle.com/cd/E19253-01/816-4555/netmonitor-12/index.html">Solaris
+10 System Administration Guide: Network Services</a>, the 'nfsstat -c'
+command can be used to get these timeout values. But this do not work
+on Linux, as far as I can tell. I
+<ahref="http://bugs.debian.org/857043">asked Debian about this</a>,
+but have not seen any replies yet.</p>
+
+<p>Is there a better way to figure out if a Linux NFS client is
+experiencing NFS hangs? Is there a way to detect which processes are
+affected? Is there a way to get the NFS mount going quickly once the
+network problem causing the NFS hang has been cleared? I would very
+much welcome some clues, as we regularly run into NFS hangs.</p>
- Debian Jessie, PXE and automatic firmware installation
- http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html
- http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html
- Fri, 17 Oct 2014 14:10:00 +0200
- <p>When PXE installing laptops with Debian, I often run into the
-problem that the WiFi card require some firmware to work properly.
-And it has been a pain to fix this using preseeding in Debian.
-Normally something more is needed. But thanks to
-<a href="https://packages.qa.debian.org/i/isenkram.html">my isenkram
-package</a> and its recent tasksel extension, it has now become easy
-to do this using simple preseeding.</p>
-
-<p>The isenkram-cli package provide tasksel tasks which will install
-firmware for the hardware found in the machine (actually, requested by
-the kernel modules for the hardware). (It can also install user space
-programs supporting the hardware detected, but that is not the focus
-of this story.)</p>
-
-<p>To get this working in the default installation, two preeseding
-values are needed. First, the isenkram-cli package must be installed
-into the target chroot (aka the hard drive) before tasksel is executed
-in the pkgsel step of the debian-installer system. This is done by
-preseeding the base-installer/includes debconf value to include the
-isenkram-cli package. The package name is next passed to debootstrap
-for installation. With the isenkram-cli package in place, tasksel
-will automatically use the isenkram tasks to detect hardware specific
-packages for the machine being installed and install them, because
-isenkram-cli contain tasksel tasks.</p>
-
-<p>Second, one need to enable the non-free APT repository, because
-most firmware unfortunately is non-free. This is done by preseeding
-the apt-mirror-setup step. This is unfortunate, but for a lot of
-hardware it is the only option in Debian.</p>
-
-<p>The end result is two lines needed in your preseeding file to get
-firmware installed automatically by the installer:</p>
-
-<p><blockquote><pre>
-base-installer base-installer/includes string isenkram-cli
-apt-mirror-setup apt-setup/non-free boolean true
-</pre></blockquote></p>
-
-<p>The current version of isenkram-cli in testing/jessie will install
-both firmware and user space packages when using this method. It also
-do not work well, so use version 0.15 or later. Installing both
-firmware and user space packages might give you a bit more than you
-want, so I decided to split the tasksel task in two, one for firmware
-and one for user space programs. The firmware task is enabled by
-default, while the one for user space programs is not. This split is
-implemented in the package currently in unstable.</p>
-
-<p>If you decide to give this a go, please let me know (via email) how
-this recipe work for you. :)</p>
-
-<p>So, I bet you are wondering, how can this work. First and
-foremost, it work because tasksel is modular, and driven by whatever
-files it find in /usr/lib/tasksel/ and /usr/share/tasksel/. So the
-isenkram-cli package place two files for tasksel to find. First there
-is the task description file (/usr/share/tasksel/descs/isenkram.desc):</p>
-
-<p><blockquote><pre>
-Task: isenkram-packages
-Section: hardware
-Description: Hardware specific packages (autodetected by isenkram)
- Based on the detected hardware various hardware specific packages are
- proposed.
-Test-new-install: show show
-Relevance: 8
-Packages: for-current-hardware
-
-Task: isenkram-firmware
-Section: hardware
-Description: Hardware specific firmware packages (autodetected by isenkram)
- Based on the detected hardware various hardware specific firmware
- packages are proposed.
-Test-new-install: mark show
-Relevance: 8
-Packages: for-current-hardware-firmware
-</pre></blockquote></p>
-
-<p>The key parts are Test-new-install which indicate how the task
-should be handled and the Packages line referencing to a script in
-/usr/lib/tasksel/packages/. The scripts use other scripts to get a
-list of packages to install. The for-current-hardware-firmware script
-look like this to list relevant firmware for the machine:
-
-<p><blockquote><pre>
-#!/bin/sh
-#
-PATH=/usr/sbin:$PATH
-export PATH
-isenkram-autoinstall-firmware -l
-</pre></blockquote></p>
-
-<p>With those two pieces in place, the firmware is installed by
-tasksel during the normal d-i run. :)</p>
-
-<p>If you want to test what tasksel will install when isenkram-cli is
-installed, run <tt>DEBIAN_PRIORITY=critical tasksel --test
---new-install</tt> to get the list of packages that tasksel would
-install.</p>
-
-<p><a href="https://wiki.debian.org/DebianEdu/">Debian Edu</a> will be
-pilots in testing this feature, as isenkram is used there now to
-install firmware, replacing the earlier scripts.</p>
+ How does it feel to be wiretapped, when you should be doing the wiretapping...
+ http://people.skolelinux.org/pere/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html
+ http://people.skolelinux.org/pere/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html
+ Wed, 8 Mar 2017 11:50:00 +0100
+ <p>So the new president in the United States of America claim to be
+surprised to discover that he was wiretapped during the election
+before he was elected president. He even claim this must be illegal.
+Well, doh, if it is one thing the confirmations from Snowden
+documented, it is that the entire population in USA is wiretapped, one
+way or another. Of course the president candidates were wiretapped,
+alongside the senators, judges and the rest of the people in USA.</p>
+
+<p>Next, the Federal Bureau of Investigation ask the Department of
+Justice to go public rejecting the claims that Donald Trump was
+wiretapped illegally. I fail to see the relevance, given that I am
+sure the surveillance industry in USA believe they have all the legal
+backing they need to conduct mass surveillance on the entire
+world.</p>
+
+<p>There is even the director of the FBI stating that he never saw an
+order requesting wiretapping of Donald Trump. That is not very
+surprising, given how the FISA court work, with all its activity being
+secret. Perhaps he only heard about it?</p>
+
+<p>What I find most sad in this story is how Norwegian journalists
+present it. In a news reports the other day in the radio from the
+Norwegian National broadcasting Company (NRK), I heard the journalist
+claim that 'the FBI denies any wiretapping', while the reality is that
+'the FBI denies any illegal wiretapping'. There is a fundamental and
+important difference, and it make me sad that the journalists are
+unable to grasp it.</p>
+
+<p><strong>Update 2017-03-13:</strong> Look like
+<a href="https://theintercept.com/2017/03/13/rand-paul-is-right-nsa-routinely-monitors-americans-communications-without-warrants/">The
+Intercept report that US Senator Rand Paul confirm what I state above</a>.</p>
- Ubuntu used to show the bread prizes at ICA Storo
- http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html
- http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html
- Sat, 4 Oct 2014 15:20:00 +0200
- <p>Today I came across an unexpected Ubuntu boot screen. Above the
-bread shelf on the ICA shop at Storo in Oslo, the grub menu of Ubuntu
-with Linux kernel 3.2.0-23 (ie probably version 12.04 LTS) was stuck
-on a screen normally showing the bread types and prizes:</p>
-
-<p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2014-10-04-ubuntu-ica-storo-crop.jpeg"></p>
-
-<p>If it had booted as it was supposed to, I would never had known
-about this hidden Linux installation. It is interesting what
-<a href="http://revealingerrors.com/">errors can reveal</a>.</p>
+ Norwegian Bokmål translation of The Debian Administrator's Handbook complete, proofreading in progress
+ http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_translation_of_The_Debian_Administrator_s_Handbook_complete__proofreading_in_progress.html
+ http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_translation_of_The_Debian_Administrator_s_Handbook_complete__proofreading_in_progress.html
+ Fri, 3 Mar 2017 14:50:00 +0100
+ <p>For almost a year now, we have been working on making a Norwegian
+Bokmål edition of <a href="https://debian-handbook.info/">The Debian
+Administrator's Handbook</a>. Now, thanks to the tireless effort of
+Ole-Erik, Ingrid and Andreas, the initial translation is complete, and
+we are working on the proof reading to ensure consistent language and
+use of correct computer science terms. The plan is to make the book
+available on paper, as well as in electronic form. For that to
+happen, the proof reading must be completed and all the figures need
+to be translated. If you want to help out, get in touch.</p>
+
+<p><a href="http://people.skolelinux.org/pere/debian-handbook/debian-handbook-nb-NO.pdf">A
+
+fresh PDF edition</a> in A4 format (the final book will have smaller
+pages) of the book created every morning is available for
+proofreading. If you find any errors, please
+<a href="https://hosted.weblate.org/projects/debian-handbook/">visit
+Weblate and correct the error</a>. The
+<a href="http://l.github.io/debian-handbook/stat/nb-NO/index.html">state
+of the translation including figures</a> is a useful source for those
+provide Norwegian bokmål screen shots and figures.</p>
- New lsdvd release version 0.17 is ready
- http://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html
- http://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html
- Sat, 4 Oct 2014 08:40:00 +0200
- <p>The <a href="https://sourceforge.net/p/lsdvd/">lsdvd project</a>
-got a new set of developers a few weeks ago, after the original
-developer decided to step down and pass the project to fresh blood.
-This project is now maintained by Petter Reinholdtsen and Steve
-Dibb.</p>
-
-<p>I just wrapped up
-<a href="https://sourceforge.net/p/lsdvd/mailman/message/32896061/">a
-new lsdvd release</a>, available in git or from
-<a href="https://sourceforge.net/projects/lsdvd/files/lsdvd/">the
-download page</a>. This is the changelog dated 2014-10-03 for version
-0.17.</p>
-
-<ul>
+ Unlimited randomness with the ChaosKey?
+ http://people.skolelinux.org/pere/blog/Unlimited_randomness_with_the_ChaosKey_.html
+ http://people.skolelinux.org/pere/blog/Unlimited_randomness_with_the_ChaosKey_.html
+ Wed, 1 Mar 2017 20:50:00 +0100
+ <p>A few days ago I ordered a small batch of
+<a href="http://altusmetrum.org/ChaosKey/">the ChaosKey</a>, a small
+USB dongle for generating entropy created by Bdale Garbee and Keith
+Packard. Yesterday it arrived, and I am very happy to report that it
+work great! According to its designers, to get it to work out of the
+box, you need the Linux kernel version 4.1 or later. I tested on a
+Debian Stretch machine (kernel version 4.9), and there it worked just
+fine, increasing the available entropy very quickly. I wrote a small
+test oneliner to test. It first print the current entropy level,
+drain /dev/random, and then print the entropy level for five seconds.
+Here is the situation without the ChaosKey inserted:</p>
- <li>Ignore 'phantom' audio, subtitle tracks</li>
- <li>Check for garbage in the program chains, which indicate that a track is
- non-existant, to work around additional copy protection</li>
- <li>Fix displaying content type for audio tracks, subtitles</li>
- <li>Fix pallete display of first entry</li>
- <li>Fix include orders</li>
- <li>Ignore read errors in titles that would not be displayed anyway</li>
- <li>Fix the chapter count</li>
- <li>Make sure the array size and the array limit used when initialising
- the palette size is the same.</li>
- <li>Fix array printing.</li>
- <li>Correct subsecond calculations.</li>
- <li>Add sector information to the output format.</li>
- <li>Clean up code to be closer to ANSI C and compile without warnings
- with more GCC compiler warnings.</li>
+<blockquote><pre>
+% cat /proc/sys/kernel/random/entropy_avail; \
+ dd bs=1M if=/dev/random of=/dev/null count=1; \
+ for n in $(seq 1 5); do \
+ cat /proc/sys/kernel/random/entropy_avail; \
+ sleep 1; \
+ done
+300
+0+1 oppføringer inn
+0+1 oppføringer ut
+28 byte kopiert, 0,000264565 s, 106 kB/s
+4
+8
+12
+17
+21
+%
+</pre></blockquote>
-</ul>
+<p>The entropy level increases by 3-4 every second. In such case any
+application requiring random bits (like a HTTPS enabled web server)
+will halt and wait for more entrpy. And here is the situation with
+the ChaosKey inserted:</p>
-<p>This change bring together patches for lsdvd in use in various
-Linux and Unix distributions, as well as patches submitted to the
-project the last nine years. Please check it out. :)</p>
-
-
-
-
- How to test Debian Edu Jessie despite some fatal problems with the installer
- http://people.skolelinux.org/pere/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html
- http://people.skolelinux.org/pere/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html
- Fri, 26 Sep 2014 12:20:00 +0200
- <p>The <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
-project</a> provide a Linux solution for schools, including a
-powerful desktop with education software, a central server providing
-web pages, user database, user home directories, central login and PXE
-boot of both clients without disk and the installation to install Debian
-Edu on machines with disk (and a few other services perhaps to small
-to mention here). We in the Debian Edu team are currently working on
-the Jessie based version, trying to get everything in shape before the
-freeze, to avoid having to maintain our own package repository in the
-future. The
-<a href="https://wiki.debian.org/DebianEdu/Status/Jessie">current
-status</a> can be seen on the Debian wiki, and there is still heaps of
-work left. Some fatal problems block testing, breaking the installer,
-but it is possible to work around these to get anyway. Here is a
-recipe on how to get the installation limping along.</p>
-
-<p>First, download the test ISO via
-<a href="ftp://ftp.skolelinux.no/cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso">ftp</a>,
-<a href="http://ftp.skolelinux.no/cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso">http</a>
-or rsync (use
-ftp.skolelinux.org::cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso).
-The ISO build was broken on Tuesday, so we do not get a new ISO every
-12 hours or so, but thankfully the ISO we already got we are able to
-install with some tweaking.</p>
-
-<p>When you get to the Debian Edu profile question, go to tty2
-(use Alt-Ctrl-F2), run</p>
+<blockquote><pre>
+% cat /proc/sys/kernel/random/entropy_avail; \
+ dd bs=1M if=/dev/random of=/dev/null count=1; \
+ for n in $(seq 1 5); do \
+ cat /proc/sys/kernel/random/entropy_avail; \
+ sleep 1; \
+ done
+1079
+0+1 oppføringer inn
+0+1 oppføringer ut
+104 byte kopiert, 0,000487647 s, 213 kB/s
+433
+1028
+1031
+1035
+1038
+%
+</pre></blockquote>
-<p><blockquote><pre>
-nano /usr/bin/edu-eatmydata-install
-</pre></blockquote></p>
+<p>Quite the difference. :) I bought a few more than I need, in case
+someone want to buy one here in Norway. :)</p>
-<p>and add 'exit 0' as the second line, disabling the eatmydata
-optimization. Return to the installation, select the profile you want
-and continue. Without this change, exim4-config will fail to install
-due to a known bug in eatmydata.</p>
-
-<p>When you get the grub question at the end, answer /dev/sda (or if
-this do not work, figure out what your correct value would be. All my
-test machines need /dev/sda, so I have no advice if it do not fit
-your need.</p>
-
-<p>If you installed a profile including a graphical desktop, log in as
-root after the initial boot from hard drive, and install the
-education-desktop-XXX metapackage. XXX can be kde, gnome, lxde, xfce
-or mate. If you want several desktop options, install more than one
-metapackage. Once this is done, reboot and you should have a working
-graphical login screen. This workaround should no longer be needed
-once the education-tasks package version 1.801 enter testing in two
-days.</p>
-
-<p>I believe the ISO build will start working on two days when the new
-tasksel package enter testing and Steve McIntyre get a chance to
-update the debian-cd git repository. The eatmydata, grub and desktop
-issues are already fixed in unstable and testing, and should show up
-on the ISO as soon as the ISO build start working again. Well the
-eatmydata optimization is really just disabled. The proper fix
-require an upload by the eatmydata maintainer applying the patch
-provided in bug <a href="https://bugs.debian.org/702711">#702711</a>.
-The rest have proper fixes in unstable.</p>
-
-<p>I hope this get you going with the installation testing, as we are
-quickly running out of time trying to get our Jessie based
-installation ready before the distribution freeze in a month.</p>
+<p>Update: The dongle was presented at Debconf last year. You might
+find <a href="https://debconf16.debconf.org/talks/94/">the talk
+recording illuminating</a>. It explains exactly what the source of
+randomness is, if you are unable to spot it from the schema drawing
+available from the ChaosKey web site linked at the start of this blog
+post.</p>
- Suddenly I am the new upstream of the lsdvd command line tool
- http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html
- http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html
- Thu, 25 Sep 2014 11:20:00 +0200
- <p>I use the <a href="https://sourceforge.net/p/lsdvd/">lsdvd tool</a>
-to handle my fairly large DVD collection. It is a nice command line
-tool to get details about a DVD, like title, tracks, track length,
-etc, in XML, Perl or human readable format. But lsdvd have not seen
-any new development since 2006 and had a few irritating bugs affecting
-its use with some DVDs. Upstream seemed to be dead, and in January I
-sent a small probe asking for a version control repository for the
-project, without any reply. But I use it regularly and would like to
-get <a href="https://packages.qa.debian.org/lsdvd">an updated version
-into Debian</a>. So two weeks ago I tried harder to get in touch with
-the project admin, and after getting a reply from him explaining that
-he was no longer interested in the project, I asked if I could take
-over. And yesterday, I became project admin.</p>
-
-<p>I've been in touch with a Gentoo developer and the Debian
-maintainer interested in joining forces to maintain the upstream
-project, and I hope we can get a new release out fairly quickly,
-collecting the patches spread around on the internet into on place.
-I've added the relevant Debian patches to the freshly created git
-repository, and expect the Gentoo patches to make it too. If you got
-a DVD collection and care about command line tools, check out
-<a href="https://sourceforge.net/p/lsdvd/git/ci/master/tree/">the git source</a> and join
-<a href="https://sourceforge.net/p/lsdvd/mailman/">the project mailing
-list</a>. :)</p>
+ Detect OOXML files with undefined behaviour?
+ http://people.skolelinux.org/pere/blog/Detect_OOXML_files_with_undefined_behaviour_.html
+ http://people.skolelinux.org/pere/blog/Detect_OOXML_files_with_undefined_behaviour_.html
+ Tue, 21 Feb 2017 00:20:00 +0100
+ <p>I just noticed
+<a href="http://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing">the
+new Norwegian proposal for archiving rules in the goverment</a> list
+<a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm">ECMA-376</a>
+/ ISO/IEC 29500 (aka OOXML) as valid formats to put in long term
+storage. Luckily such files will only be accepted based on
+pre-approval from the National Archive. Allowing OOXML files to be
+used for long term storage might seem like a good idea as long as we
+forget that there are plenty of ways for a "valid" OOXML document to
+have content with no defined interpretation in the standard, which
+lead to a question and an idea.</p>
+
+<p>Is there any tool to detect if a OOXML document depend on such
+undefined behaviour? It would be useful for the National Archive (and
+anyone else interested in verifying that a document is well defined)
+to have such tool available when considering to approve the use of
+OOXML. I'm aware of the
+<a href="https://github.com/arlm/officeotron/">officeotron OOXML
+validator</a>, but do not know how complete it is nor if it will
+report use of undefined behaviour. Are there other similar tools
+available? Please send me an email if you know of any such tool.</p>
- Hva henger under skibrua over E16 på Sollihøgda?
- http://people.skolelinux.org/pere/blog/Hva_henger_under_skibrua_over_E16_p__Sollih_gda_.html
- http://people.skolelinux.org/pere/blog/Hva_henger_under_skibrua_over_E16_p__Sollih_gda_.html
- Sun, 21 Sep 2014 09:50:00 +0200
- <p>Rundt omkring i Oslo og ÃstlandsomrÃ¥det henger det bokser over
-veiene som jeg har lurt på hva gjør. De har ut fra plassering og
-vinkling sett ut som bokser som sniffer ut et eller annet fra
-forbipasserende trafikk, men det har vært uklart for meg hva det er de
-leser av. Her om dagen tok jeg bilde av en slik boks som henger under
-<a href="http://www.openstreetmap.no/?zoom=19&mlat=59.96396&mlon=10.34443&layers=B00000">ei
-skibru på Sollihøgda</a>:</p>
-
-<p align="center"><img width="60%" src="http://people.skolelinux.org/pere/blog/images/2014-09-13-kapsch-sollihogda-crop.jpeg"></p>
-
-<p>Boksen er tydelig merket «Kapsch >>>», logoen til
-<a href="http://www.kapsch.net/">det sveitsiske selskapet Kapsch</a> som
-blant annet lager sensorsystemer for veitrafikk. Men de lager mye
-forskjellig, og jeg kjente ikke igjen boksen på utseendet etter en
-kjapp titt på produktlista til selskapet.</p>
-
-<p>I og med at boksen henger over veien E16, en riksvei vedlikeholdt
-av Statens Vegvesen, så antok jeg at det burde være mulig å bruke
-REST-API-et som gir tilgang til vegvesenets database over veier,
-skilter og annet veirelatert til å finne ut hva i alle dager dette
-kunne være. De har både
-<a href="https://www.vegvesen.no/nvdb/api/dokumentasjon/datakatalog">en
-datakatalog</a> og
-<a href="https://www.vegvesen.no/nvdb/api/dokumentasjon/sok">et
-søk</a>, der en kan søke etter ulike typer oppføringer innen for et
-gitt geografisk område. Jeg laget et enkelt shell-script for å hente
-ut antall av en gitt type innenfor området skibrua dekker, og listet
-opp navnet på typene som ble funnet. Orket ikke slå opp hvordan
-URL-koding av aktuelle strenger kunne gjøres mer generisk, og brukte
-en stygg sed-linje i stedet.</p>
-
-<blockquote><pre>
-#!/bin/sh
-urlmap() {
- sed \
- -e 's/ / /g' -e 's/{/%7B/g' \
- -e 's/}/%7D/g' -e 's/\[/%5B/g' \
- -e 's/\]/%5D/g' -e 's/ /%20/g' \
- -e 's/,/%2C/g' -e 's/\"/%22/g' \
- -e 's/:/%3A/g'
-}
-
-lookup() {
- url="$1"
- curl -s -H 'Accept: application/vnd.vegvesen.nvdb-v1+xml' \
- "https://www.vegvesen.no/nvdb/api$url" | xmllint --format -
-}
-
-for id in $(seq 1 874) ; do
- search="{
- lokasjon: {
- bbox: \"10.34425,59.96386,10.34458,59.96409\",
- srid: \"WGS84\"
- },
- objektTyper: [{
- id: $id, antall: 10
- }]
-}"
-
- query=/sok?kriterie=$(echo $search | urlmap)
- if lookup "$query" |
- grep -q '<totaltAntallReturnert>0<'
- then
- :
- else
- echo $id
- lookup "/datakatalog/objekttyper/$id" |grep '^ <navn>'
- fi
-done
-
-exit 0
-</pre></blockquote>
-
-Aktuelt ID-område 1-874 var riktig i datakatalogen da jeg laget
-scriptet. Det vil endre seg over tid. Skriptet listet så opp
-aktuelle typer i og rundt skibrua:
-
-<blockquote><pre>
-5
- <navn>Rekkverk</navn>
-14
- <navn>Rekkverksende</navn>
-47
- <navn>Trafikklomme</navn>
-49
- <navn>Trafikkøy</navn>
-60
- <navn>Bru</navn>
-79
- <navn>Stikkrenne/Kulvert</navn>
-80
- <navn>Grøft, åpen</navn>
-86
- <navn>Belysningsstrekning</navn>
-95
- <navn>Skiltpunkt</navn>
-96
- <navn>Skiltplate</navn>
-98
- <navn>Referansestolpe</navn>
-99
- <navn>Vegoppmerking, langsgående</navn>
-105
- <navn>Fartsgrense</navn>
-106
- <navn>Vinterdriftsstrategi</navn>
-172
- <navn>Trafikkdeler</navn>
-241
- <navn>Vegdekke</navn>
-293
- <navn>Breddemåling</navn>
-301
- <navn>Kantklippareal</navn>
-318
- <navn>Snø-/isrydding</navn>
-445
- <navn>Skred</navn>
-446
- <navn>Dokumentasjon</navn>
-452
- <navn>Undergang</navn>
-528
- <navn>Tverrprofil</navn>
-532
- <navn>Vegreferanse</navn>
-534
- <navn>Region</navn>
-535
- <navn>Fylke</navn>
-536
- <navn>Kommune</navn>
-538
- <navn>Gate</navn>
-539
- <navn>Transportlenke</navn>
-540
- <navn>Trafikkmengde</navn>
-570
- <navn>Trafikkulykke</navn>
-571
- <navn>Ulykkesinvolvert enhet</navn>
-572
- <navn>Ulykkesinvolvert person</navn>
-579
- <navn>Politidistrikt</navn>
-583
- <navn>Vegbredde</navn>
-591
- <navn>Høydebegrensning</navn>
-592
- <navn>Nedbøyningsmåling</navn>
-597
- <navn>Støy-luft, Strekningsdata</navn>
-601
- <navn>Oppgravingsdata</navn>
-602
- <navn>Oppgravingslag</navn>
-603
- <navn>PMS-parsell</navn>
-604
- <navn>Vegnormalstrekning</navn>
-605
- <navn>Værrelatert strekning</navn>
-616
- <navn>Feltstrekning</navn>
-617
- <navn>Adressepunkt</navn>
-626
- <navn>Friksjonsmåleserie</navn>
-629
- <navn>Vegdekke, flatelapping</navn>
-639
- <navn>Kurvatur, horisontalelement</navn>
-640
- <navn>Kurvatur, vertikalelement</navn>
-642
- <navn>Kurvatur, vertikalpunkt</navn>
-643
- <navn>Statistikk, trafikkmengde</navn>
-647
- <navn>Statistikk, vegbredde</navn>
-774
- <navn>Nedbøyningsmåleserie</navn>
-775
- <navn>ATK, influensstrekning</navn>
-794
- <navn>Systemobjekt</navn>
-810
- <navn>Vinterdriftsklasse</navn>
-821
- <navn>Funksjonell vegklasse</navn>
-825
- <navn>Kurvatur, stigning</navn>
-838
- <navn>Vegbredde, beregnet</navn>
-862
- <navn>Reisetidsregistreringspunkt</navn>
-871
- <navn>Bruksklasse</navn>
-</pre></blockquote>
-
-<p>Av disse ser ID 775 og 862 mest relevant ut. ID 775 antar jeg
-refererer til fotoboksen som står like ved brua, mens
-«Reisetidsregistreringspunkt» kanskje kan være boksen som henger der.
-Hvordan finner jeg så ut hva dette kan være for noe. En titt på
-<a href="http://labs.vegdata.no/nvdb-datakatalog/862-Reisetidsregistreringspunkt/">datakatalogsiden
-for ID 862/Reisetidsregistreringspunkt</a> viser at det er finnes 53
-slike målere i Norge, og hvor de er plassert, men gir ellers få
-detaljer. Det er plassert 40 på østlandet og 13 i Trondheimsregionen.
-Men siden nevner «AutoPASS», og hvis en slår opp oppføringen på
-Sollihøgda nevner den «Ciber AS» som ID for eksternt system. (Kan det
-være snakk om
-<a href="http://www.proff.no/selskap/ciber-norge-as/oslo/internettdesign-og-programmering/Z0I3KMF4/">Ciber
-Norge AS</a>, et selskap eid av Ciber Europe Bv?) Et nettsøk på
- «Ciber AS autopass» fører meg til en artikkel fra NRK Trøndelag i
- 2013 med tittel
-«<a href="http://www.nrk.no/trondelag/sjekk-dette-hvis-du-vil-unnga-ko-1.11327947">Sjekk
-dette hvis du vil unngå kø</a>». Artikkelen henviser til vegvesenets
-nettside
-<a href="http://www.reisetider.no/reisetid/forside.html">reisetider.no</a>
-som har en
-<a href="http://www.reisetider.no/reisetid/omrade.html?omrade=5">kartside
-for Ãstlandet</a> som viser at det mÃ¥les mellom Sandvika og Sollihøgda.
-Det kan dermed se ut til at jeg har funnet ut hva boksene gjør.</p>
-
-<p>Hvis det stemmer, så er dette bokser som leser av AutoPASS-ID-en
-til alle passerende biler med AutoPASS-brikke, og dermed gjør det mulig
-for de som kontrollerer boksene å holde rede på hvor en gitt bil er
-når den passerte et slikt målepunkt. NRK-artikkelen forteller at
-denne informasjonen i dag kun brukes til å koble to
-AutoPASS-brikkepasseringer passeringer sammen for å beregne
-reisetiden, og at bruken er godkjent av Datatilsynet. Det er desverre
-ikke mulig for en sjåfør som passerer under en slik boks å kontrollere
-at AutoPASS-ID-en kun brukes til dette i dag og i fremtiden.</p>
-
-<p>I tillegg til denne type AutoPASS-sniffere vet jeg at det også
-finnes mange automatiske stasjoner som tar betalt pr. passering (aka
-bomstasjoner), og der lagres informasjon om tid, sted og bilnummer i
-10 år. Finnes det andre slike sniffere plassert ut på veiene?</p>
-
-<p>Personlig har jeg valgt å ikke bruke AutoPASS-brikke, for å gjøre
-det vanskeligere og mer kostbart for de som vil invadere privatsfæren
-og holde rede på hvor bilen min beveger seg til enhver tid. Jeg håper
-flere vil gjøre det samme, selv om det gir litt høyere private
-utgifter (dyrere bompassering). Vern om privatsfæren koster i disse
-dager.</p>
-
-<p>Takk til Jan Kristian Jensen i Statens Vegvesen for tips om
-dokumentasjon på vegvesenets REST-API.</p>
+ Ruling ignored our objections to the seizure of popcorn-time.no (#domstolkontroll)
+ http://people.skolelinux.org/pere/blog/Ruling_ignored_our_objections_to_the_seizure_of_popcorn_time_no___domstolkontroll_.html
+ http://people.skolelinux.org/pere/blog/Ruling_ignored_our_objections_to_the_seizure_of_popcorn_time_no___domstolkontroll_.html
+ Mon, 13 Feb 2017 21:30:00 +0100
+ <p>A few days ago, we received the ruling from
+<a href="http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html">my
+day in court</a>. The case in question is a challenge of the seizure
+of the DNS domain popcorn-time.no. The ruling simply did not mention
+most of our arguments, and seemed to take everything ÃKOKRIM said at
+face value, ignoring our demonstration and explanations. But it is
+hard to tell for sure, as we still have not seen most of the documents
+in the case and thus were unprepared and unable to contradict several
+of the claims made in court by the opposition. We are considering an
+appeal, but it is partly a question of funding, as it is costing us
+quite a bit to pay for our lawyer. If you want to help, please
+<a href="http://www.nuug.no/dns-beslag-donasjon.shtml">donate to the
+NUUG defense fund</a>.</p>
+
+<p>The details of the case, as far as we know it, is available in
+Norwegian from
+<a href="https://www.nuug.no/news/tags/dns-domenebeslag/">the NUUG
+blog</a>. This also include
+<a href="https://www.nuug.no/news/Avslag_etter_rettslig_h_ring_om_DNS_beslaget___vurderer_veien_videre.shtml">the
+ruling itself</a>.</p>
- Speeding up the Debian installer using eatmydata and dpkg-divert
- http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html
- http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html
- Tue, 16 Sep 2014 14:00:00 +0200
- <p>The <a href="https://www.debian.org/">Debian</a> installer could be
-a lot quicker. When we install more than 2000 packages in
-<a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a> using
-tasksel in the installer, unpacking the binary packages take forever.
-A part of the slow I/O issue was discussed in
-<a href="https://bugs.debian.org/613428">bug #613428</a> about too
-much file system sync-ing done by dpkg, which is the package
-responsible for unpacking the binary packages. Other parts (like code
-executed by postinst scripts) might also sync to disk during
-installation. All this sync-ing to disk do not really make sense to
-me. If the machine crash half-way through, I start over, I do not try
-to salvage the half installed system. So the failure sync-ing is
-supposed to protect against, hardware or system crash, is not really
-relevant while the installer is running.</p>
-
-<p>A few days ago, I thought of a way to get rid of all the file
-system sync()-ing in a fairly non-intrusive way, without the need to
-change the code in several packages. The idea is not new, but I have
-not heard anyone propose the approach using dpkg-divert before. It
-depend on the small and clever package
-<a href="https://packages.qa.debian.org/eatmydata">eatmydata</a>, which
-uses LD_PRELOAD to replace the system functions for syncing data to
-disk with functions doing nothing, thus allowing programs to live
-dangerous while speeding up disk I/O significantly. Instead of
-modifying the implementation of dpkg, apt and tasksel (which are the
-packages responsible for selecting, fetching and installing packages),
-it occurred to me that we could just divert the programs away, replace
-them with a simple shell wrapper calling
-"eatmydata $program $@", to get the same effect.
-Two days ago I decided to test the idea, and wrapped up a simple
-implementation for the Debian Edu udeb.</p>
-
-<p>The effect was stunning. In my first test it reduced the running
-time of the pkgsel step (installing tasks) from 64 to less than 44
-minutes (20 minutes shaved off the installation) on an old Dell
-Latitude D505 machine. I am not quite sure what the optimised time
-would have been, as I messed up the testing a bit, causing the debconf
-priority to get low enough for two questions to pop up during
-installation. As soon as I saw the questions I moved the installation
-along, but do not know how long the question were holding up the
-installation. I did some more measurements using Debian Edu Jessie,
-and got these results. The time measured is the time stamp in
-/var/log/syslog between the "pkgsel: starting tasksel" and the
-"pkgsel: finishing up" lines, if you want to do the same measurement
-yourself. In Debian Edu, the tasksel dialog do not show up, and the
-timing thus do not depend on how quickly the user handle the tasksel
-dialog.</p>
-
-<p><table>
-
-<tr>
-<th>Machine/setup</th>
-<th>Original tasksel</th>
-<th>Optimised tasksel</th>
-<th>Reduction</th>
-</tr>
-
-<tr>
-<td>Latitude D505 Main+LTSP LXDE</td>
-<td>64 min (07:46-08:50)</td>
-<td><44 min (11:27-12:11)</td>
-<td>>20 min 18%</td>
-</tr>
-
-<tr>
-<td>Latitude D505 Roaming LXDE</td>
-<td>57 min (08:48-09:45)</td>
-<td>34 min (07:43-08:17)</td>
-<td>23 min 40%</td>
-</tr>
-
-<tr>
-<td>Latitude D505 Minimal</td>
-<td>22 min (10:37-10:59)</td>
-<td>11 min (11:16-11:27)</td>
-<td>11 min 50%</td>
-</tr>
-
-<tr>
-<td>Thinkpad X200 Minimal</td>
-<td>6 min (08:19-08:25)</td>
-<td>4 min (08:04-08:08)</td>
-<td>2 min 33%</td>
-</tr>
-
-<tr>
-<td>Thinkpad X200 Roaming KDE</td>
-<td>19 min (09:21-09:40)</td>
-<td>15 min (10:25-10:40)</td>
-<td>4 min 21%</td>
-</tr>
-
-</table></p>
-
-<p>The test is done using a netinst ISO on a USB stick, so some of the
-time is spent downloading packages. The connection to the Internet
-was 100Mbit/s during testing, so downloading should not be a
-significant factor in the measurement. Download typically took a few
-seconds to a few minutes, depending on the amount of packages being
-installed.</p>
-
-<p>The speedup is implemented by using two hooks in
-<a href="https://www.debian.org/devel/debian-installer/">Debian
-Installer</a>, the pre-pkgsel.d hook to set up the diverts, and the
-finish-install.d hook to remove the divert at the end of the
-installation. I picked the pre-pkgsel.d hook instead of the
-post-base-installer.d hook because I test using an ISO without the
-eatmydata package included, and the post-base-installer.d hook in
-Debian Edu can only operate on packages included in the ISO. The
-negative effect of this is that I am unable to activate this
-optimization for the kernel installation step in d-i. If the code is
-moved to the post-base-installer.d hook, the speedup would be larger
-for the entire installation.</p>
-
-<p>I've implemented this in the
-<a href="https://packages.qa.debian.org/debian-edu-install">debian-edu-install</a>
-git repository, and plan to provide the optimization as part of the
-Debian Edu installation. If you want to test this yourself, you can
-create two files in the installer (or in an udeb). One shell script
-need do go into /usr/lib/pre-pkgsel.d/, with content like this:</p>
-
-<p><blockquote><pre>
-#!/bin/sh
-set -e
-. /usr/share/debconf/confmodule
-info() {
- logger -t my-pkgsel "info: $*"
-}
-error() {
- logger -t my-pkgsel "error: $*"
-}
-override_install() {
- apt-install eatmydata || true
- if [ -x /target/usr/bin/eatmydata ] ; then
- for bin in dpkg apt-get aptitude tasksel ; do
- file=/usr/bin/$bin
- # Test that the file exist and have not been diverted already.
- if [ -f /target$file ] ; then
- info "diverting $file using eatmydata"
- printf "#!/bin/sh\neatmydata $bin.distrib \"\$@\"\n" \
- > /target$file.edu
- chmod 755 /target$file.edu
- in-target dpkg-divert --package debian-edu-config \
- --rename --quiet --add $file
- ln -sf ./$bin.edu /target$file
- else
- error "unable to divert $file, as it is missing."
- fi
- done
- else
- error "unable to find /usr/bin/eatmydata after installing the eatmydata pacage"
- fi
-}
-
-override_install
-</pre></blockquote></p>
-
-<p>To clean up, another shell script should go into
-/usr/lib/finish-install.d/ with code like this:
-
-<p><blockquote><pre>
-#! /bin/sh -e
-. /usr/share/debconf/confmodule
-error() {
- logger -t my-finish-install "error: $@"
-}
-remove_install_override() {
- for bin in dpkg apt-get aptitude tasksel ; do
- file=/usr/bin/$bin
- if [ -x /target$file.edu ] ; then
- rm /target$file
- in-target dpkg-divert --package debian-edu-config \
- --rename --quiet --remove $file
- rm /target$file.edu
- else
- error "Missing divert for $file."
- fi
- done
- sync # Flush file buffers before continuing
-}
-
-remove_install_override
-</pre></blockquote></p>
-
-<p>In Debian Edu, I placed both code fragments in a separate script
-edu-eatmydata-install and call it from the pre-pkgsel.d and
-finish-install.d scripts.</p>
-
-<p>By now you might ask if this change should get into the normal
-Debian installer too? I suspect it should, but am not sure the
-current debian-installer coordinators find it useful enough. It also
-depend on the side effects of the change. I'm not aware of any, but I
-guess we will see if the change is safe after some more testing.
-Perhaps there is some package in Debian depending on sync() and
-fsync() having effect? Perhaps it should go into its own udeb, to
-allow those of us wanting to enable it to do so without affecting
-everyone.</p>
-
-<p>Update 2014-09-24: Since a few days ago, enabling this optimization
-will break installation of all programs using gnutls because of
-<a href="https://bugs.debian.org/702711">bug #702711</a>. An updated
-eatmydata package in Debian will solve it.</p>
-
-<p>Update 2014-10-17: The bug mentioned above is fixed in testing and
-the optimization work again. And I have discovered that the
-dpkg-divert trick is not really needed and implemented a slightly
-simpler approach as part of the debian-edu-install package. See
-tools/edu-eatmydata-install in the source package.</p>
+ A day in court challenging seizure of popcorn-time.no for #domstolkontroll
+ http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html
+ http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html
+ Fri, 3 Feb 2017 11:10:00 +0100
+ <p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2017-02-01-popcorn-time-in-court.jpeg"></p>
+
+<p>On Wednesday, I spent the entire day in court in Follo Tingrett
+representing <a href="https://www.nuug.no/">the member association
+NUUG</a>, alongside <a href="https://www.efn.no/">the member
+association EFN</a> and <a href="http://www.imc.no">the DNS registrar
+IMC</a>, challenging the seizure of the DNS name popcorn-time.no. It
+was interesting to sit in a court of law for the first time in my
+life. Our team can be seen in the picture above: attorney Ola
+Tellesbø, EFN board member Tom Fredrik Blenning, IMC CEO Morten Emil
+Eriksen and NUUG board member Petter Reinholdtsen.</p>
+
+<p><a href="http://www.domstol.no/no/Enkelt-domstol/follo-tingrett/Nar-gar-rettssaken/Beramming/?cid=AAAA1701301512081262234UJFBVEZZZZZEJBAvtale">The
+case at hand</a> is that the Norwegian National Authority for
+Investigation and Prosecution of Economic and Environmental Crime (aka
+Ãkokrim) decided on their own, to seize a DNS domain early last
+year, without following
+<a href="https://www.norid.no/no/regelverk/navnepolitikk/#link12">the
+official policy of the Norwegian DNS authority</a> which require a
+court decision. The web site in question was a site covering Popcorn
+Time. And Popcorn Time is the name of a technology with both legal
+and illegal applications. Popcorn Time is a client combining
+searching a Bittorrent directory available on the Internet with
+downloading/distribute content via Bittorrent and playing the
+downloaded content on screen. It can be used illegally if it is used
+to distribute content against the will of the right holder, but it can
+also be used legally to play a lot of content, for example the
+millions of movies
+<a href="https://archive.org/details/movies">available from the
+Internet Archive</a> or the collection
+<a href="http://vodo.net/films/">available from Vodo</a>. We created
+<a href="magnet:?xt=urn:btih:86c1802af5a667ca56d3918aecb7d3c0f7173084&dn=PresentasjonFolloTingrett.mov&tr=udp%3A%2F%2Fpublic.popcorn-tracker.org%3A6969%2Fannounce">a
+video demonstrating legally use of Popcorn Time</a> and played it in
+Court. It can of course be downloaded using Bittorrent.</p>
+
+<p>I did not quite know what to expect from a day in court. The
+government held on to their version of the story and we held on to
+ours, and I hope the judge is able to make sense of it all. We will
+know in two weeks time. Unfortunately I do not have high hopes, as
+the Government have the upper hand here with more knowledge about the
+case, better training in handling criminal law and in general higher
+standing in the courts than fairly unknown DNS registrar and member
+associations. It is expensive to be right also in Norway. So far the
+case have cost more than NOK 70 000,-. To help fund the case, NUUG
+and EFN have asked for donations, and managed to collect around NOK 25
+000,- so far. Given the presentation from the Government, I expect
+the government to appeal if the case go our way. And if the case do
+not go our way, I hope we have enough funding to appeal.</p>
+
+<p>From the other side came two people from Ãkokrim. On the benches,
+appearing to be part of the group from the government were two people
+from the Simonsen Vogt Wiik lawyer office, and three others I am not
+quite sure who was. Ãkokrim had proposed to present two witnesses
+from The Motion Picture Association, but this was rejected because
+they did not speak Norwegian and it was a bit late to bring in a
+translator, but perhaps the two from MPA were present anyway. All
+seven appeared to know each other. Good to see the case is take
+seriously.</p>
+
+<p>If you, like me, believe the courts should be involved before a DNS
+domain is hijacked by the government, or you believe the Popcorn Time
+technology have a lot of useful and legal applications, I suggest you
+too <a href="http://www.nuug.no/dns-beslag-donasjon.shtml">donate to
+the NUUG defense fund</a>. Both Bitcoin and bank transfer are
+available. If NUUG get more than we need for the legal action (very
+unlikely), the rest will be spend promoting free software, open
+standards and unix-like operating systems in Norway, so no matter what
+happens the money will be put to good use.</p>
+
+<p>If you want to lean more about the case, I recommend you check out
+<a href="https://www.nuug.no/news/tags/dns-domenebeslag/">the blog
+posts from NUUG covering the case</a>. They cover the legal arguments
+on both sides.</p>
- Good bye subkeys.pgp.net, welcome pool.sks-keyservers.net
- http://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html
- http://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html
- Wed, 10 Sep 2014 13:10:00 +0200
- <p>Yesterday, I had the pleasure of attending a talk with the
-<a href="http://www.nuug.no/">Norwegian Unix User Group</a> about
-<a href="http://www.nuug.no/aktiviteter/20140909-sks-keyservers/">the
-OpenPGP keyserver pool sks-keyservers.net</a>, and was very happy to
-learn that there is a large set of publicly available key servers to
-use when looking for peoples public key. So far I have used
-subkeys.pgp.net, and some times wwwkeys.nl.pgp.net when the former
-were misbehaving, but those days are ended. The servers I have used
-up until yesterday have been slow and some times unavailable. I hope
-those problems are gone now.</p>
-
-<p>Behind the round robin DNS entry of the
-<a href="https://sks-keyservers.net/">sks-keyservers.net</a> service
-there is a pool of more than 100 keyservers which are checked every
-day to ensure they are well connected and up to date. It must be
-better than what I have used so far. :)</p>
-
-<p>Yesterdays speaker told me that the service is the default
-keyserver provided by the default configuration in GnuPG, but this do
-not seem to be used in Debian. Perhaps it should?</p>
-
-<p>Anyway, I've updated my ~/.gnupg/options file to now include this
-line:</p>
-
-<p><blockquote><pre>
-keyserver pool.sks-keyservers.net
-</pre></blockquote></p>
-
-<p>With GnuPG version 2 one can also locate the keyserver using SRV
-entries in DNS. Just for fun, I did just that at work, so now every
-user of GnuPG at the University of Oslo should find a OpenGPG
-keyserver automatically should their need it:</p>
-
-<p><blockquote><pre>
-% host -t srv _pgpkey-http._tcp.uio.no
-_pgpkey-http._tcp.uio.no has SRV record 0 100 11371 pool.sks-keyservers.net.
-%
-</pre></blockquote></p>
-
-<p>Now if only
-<a href="http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/">the
-HKP lookup protocol</a> supported finding signature paths, I would be
-very happy. It can look up a given key or search for a user ID, but I
-normally do not want that, but to find a trust path from my key to
-another key. Given a user ID or key ID, I would like to find (and
-download) the keys representing a signature path from my key to the
-key in question, to be able to get a trust path between the two keys.
-This is as far as I can tell not possible today. Perhaps something
-for a future version of the protocol?</p>
+ Nasjonalbiblioteket avslutter sin ulovlige bruk av Google Skjemaer
+ http://people.skolelinux.org/pere/blog/Nasjonalbiblioteket_avslutter_sin_ulovlige_bruk_av_Google_Skjemaer.html
+ http://people.skolelinux.org/pere/blog/Nasjonalbiblioteket_avslutter_sin_ulovlige_bruk_av_Google_Skjemaer.html
+ Thu, 12 Jan 2017 09:40:00 +0100
+ <p>I dag fikk jeg en skikkelig gladmelding. Bakgrunnen er at før jul
+arrangerte Nasjonalbiblioteket
+<a href="http://www.nb.no/Bibliotekutvikling/Kunnskapsorganisering/Nasjonalt-verksregister/Seminar-om-verksregister">et
+seminar om sitt knakende gode tiltak «verksregister»</a>. Eneste
+måten å melde seg på dette seminaret var å sende personopplysninger
+til Google via Google Skjemaer. Dette syntes jeg var tvilsom praksis,
+da det bør være mulig å delta på seminarer arrangert av det offentlige
+uten å måtte dele sine interesser, posisjon og andre
+personopplysninger med Google. Jeg ba derfor om innsyn via
+<a href="https://www.mimesbronn.no/">Mimes brønn</a> i
+<a href="https://www.mimesbronn.no/request/personopplysninger_til_google_sk">avtaler
+og vurderinger Nasjonalbiblioteket hadde rundt dette</a>.
+Personopplysningsloven legger klare rammer for hva som må være på
+plass før en kan be tredjeparter, spesielt i utlandet, behandle
+personopplysninger på sine vegne, så det burde eksistere grundig
+dokumentasjon før noe slikt kan bli lovlig. To jurister hos
+Nasjonalbiblioteket mente først dette var helt i orden, og at Googles
+standardavtale kunne brukes som databehandlingsavtale. Det syntes jeg
+var merkelig, men har ikke hatt kapasitet til å følge opp saken før
+for to dager siden.</p>
+
+<p>Gladnyheten i dag, som kom etter at jeg tipset Nasjonalbiblioteket
+om at Datatilsynet underkjente Googles standardavtaler som
+databehandleravtaler i 2011, er at Nasjonalbiblioteket har bestemt seg
+for å avslutte bruken av Googles Skjemaer/Apps og gå i dialog med DIFI
+for å finne bedre måter å håndtere påmeldinger i tråd med
+personopplysningsloven. Det er fantastisk å se at av og til hjelper
+det å spørre hva i alle dager det offentlige holder på med.</p>
- Do you need an agreement with MPEG-LA to publish and broadcast H.264 video in Norway?
- http://people.skolelinux.org/pere/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html
- http://people.skolelinux.org/pere/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html
- Mon, 25 Aug 2014 22:10:00 +0200
- <p>Two years later, I am still not sure if it is legal here in Norway
-to use or publish a video in H.264 or MPEG4 format edited by the
-commercially licensed video editors, without limiting the use to
-create "personal" or "non-commercial" videos or get a license
-agreement with <a href="http://www.mpegla.com">MPEG LA</a>. If one
-want to publish and broadcast video in a non-personal or commercial
-setting, it might be that those tools can not be used, or that video
-format can not be used, without breaking their copyright license. I
-am not sure.
-<a href="http://people.skolelinux.org/pere/blog/Trenger_en_avtale_med_MPEG_LA_for___publisere_og_kringkaste_H_264_video_.html">Back
-then</a>, I found that the copyright license terms for Adobe Premiere
-and Apple Final Cut Pro both specified that one could not use the
-program to produce anything else without a patent license from MPEG
-LA. The issue is not limited to those two products, though. Other
-much used products like those from Avid and Sorenson Media have terms
-of use are similar to those from Adobe and Apple. The complicating
-factor making me unsure if those terms have effect in Norway or not is
-that the patents in question are not valid in Norway, but copyright
-licenses are.</p>
-
-<p>These are the terms for Avid Artist Suite, according to their
-<a href="http://www.avid.com/US/about-avid/legal-notices/legal-enduserlicense2">published
-end user</a>
-<a href="http://www.avid.com/static/resources/common/documents/corporate/LICENSE.pdf">license
-text</a> (converted to lower case text for easier reading):</p>
+ Bryter NAV sin egen personvernerklæring?
+ http://people.skolelinux.org/pere/blog/Bryter_NAV_sin_egen_personvernerkl_ring_.html
+ http://people.skolelinux.org/pere/blog/Bryter_NAV_sin_egen_personvernerkl_ring_.html
+ Wed, 11 Jan 2017 06:50:00 +0100
+ <p>Jeg leste med interesse en nyhetssak hos
+<a href="http://www.digi.no/artikler/nav-avslorer-trygdemisbruk-ved-a-spore-ip-adresser/367394">digi.no</a>
+og
+<a href="https://www.nrk.no/buskerud/trygdesvindlere-avslores-av-utenlandske-ip-adresser-1.13313461">NRK</a>
+om at det ikke bare er meg, men at også NAV bedriver geolokalisering
+av IP-adresser, og at det gjøres analyse av IP-adressene til de som
+sendes inn meldekort for å se om meldekortet sendes inn fra
+utenlandske IP-adresser. Politiadvokat i Drammen, Hans Lyder Haare,
+er sitert i NRK på at «De to er jo blant annet avslørt av
+IP-adresser. At man ser at meldekortet kommer fra utlandet.»</p>
+
+<p>Jeg synes det er fint at det blir bedre kjent at IP-adresser
+knyttes til enkeltpersoner og at innsamlet informasjon brukes til å
+stedsbestemme personer også av aktører her i Norge. Jeg ser det som
+nok et argument for å bruke
+<a href="https://www.torproject.org/">Tor</a> så mye som mulig for å
+gjøre gjøre IP-lokalisering vanskeligere, slik at en kan beskytte sin
+privatsfære og unngå å dele sin fysiske plassering med
+uvedkommede.</p>
+
+<P>Men det er en ting som bekymrer meg rundt denne nyheten. Jeg ble
+tipset (takk #nuug) om
+<a href="https://www.nav.no/no/NAV+og+samfunn/Kontakt+NAV/Teknisk+brukerstotte/Snarveier/personvernerkl%C3%A6ring-for-arbeids-og-velferdsetaten">NAVs
+personvernerklæring</a>, som under punktet «Personvern og statistikk»
+lyder:</p>
<p><blockquote>
-<p>18.2. MPEG-4. MPEG-4 technology may be included with the
-software. MPEG LA, L.L.C. requires this notice: </p>
-
-<p>This product is licensed under the MPEG-4 visual patent portfolio
-license for the personal and non-commercial use of a consumer for (i)
-encoding video in compliance with the MPEG-4 visual standard (âMPEG-4
-videoâ) and/or (ii) decoding MPEG-4 video that was encoded by a
-consumer engaged in a personal and non-commercial activity and/or was
-obtained from a video provider licensed by MPEG LA to provide MPEG-4
-video. No license is granted or shall be implied for any other
-use. Additional information including that relating to promotional,
-internal and commercial uses and licensing may be obtained from MPEG
-LA, LLC. See http://www.mpegla.com. This product is licensed under
-the MPEG-4 systems patent portfolio license for encoding in compliance
-with the MPEG-4 systems standard, except that an additional license
-and payment of royalties are necessary for encoding in connection with
-(i) data stored or replicated in physical media which is paid for on a
-title by title basis and/or (ii) data which is paid for on a title by
-title basis and is transmitted to an end user for permanent storage
-and/or use, such additional license may be obtained from MPEG LA,
-LLC. See http://www.mpegla.com for additional details.</p>
-
-<p>18.3. H.264/AVC. H.264/AVC technology may be included with the
-software. MPEG LA, L.L.C. requires this notice:</p>
-
-<p>This product is licensed under the AVC patent portfolio license for
-the personal use of a consumer or other uses in which it does not
-receive remuneration to (i) encode video in compliance with the AVC
-standard (âAVC videoâ) and/or (ii) decode AVC video that was encoded
-by a consumer engaged in a personal activity and/or was obtained from
-a video provider licensed to provide AVC video. No license is granted
-or shall be implied for any other use. Additional information may be
-obtained from MPEG LA, L.L.C. See http://www.mpegla.com.</p>
-</blockquote></p>
-
-<p>Note the requirement that the videos created can only be used for
-personal or non-commercial purposes.</p>
-<p>The Sorenson Media software have
-<a href="http://www.sorensonmedia.com/terms/">similar terms</a>:</p>
+<p>«Når du besøker nav.no, etterlater du deg elektroniske spor. Sporene
+dannes fordi din nettleser automatisk sender en rekke opplysninger til
+NAVs tjener (server-maskin) hver gang du ber om å få vist en side. Det
+er eksempelvis opplysninger om hvilken nettleser og -versjon du
+bruker, og din internettadresse (ip-adresse). For hver side som vises,
+lagres følgende opplysninger:</p>
-<p><blockquote>
+<ul>
+<li>hvilken side du ser på</li>
+<li>dato og tid</li>
+<li>hvilken nettleser du bruker</li>
+<li>din ip-adresse</li>
+</ul>
-<p>With respect to a license from Sorenson pertaining to MPEG-4 Video
-Decoders and/or Encoders: Any such product is licensed under the
-MPEG-4 visual patent portfolio license for the personal and
-non-commercial use of a consumer for (i) encoding video in compliance
-with the MPEG-4 visual standard (âMPEG-4 videoâ) and/or (ii) decoding
-MPEG-4 video that was encoded by a consumer engaged in a personal and
-non-commercial activity and/or was obtained from a video provider
-licensed by MPEG LA to provide MPEG-4 video. No license is granted or
-shall be implied for any other use. Additional information including
-that relating to promotional, internal and commercial uses and
-licensing may be obtained from MPEG LA, LLC. See
-http://www.mpegla.com.</p>
-
-<p>With respect to a license from Sorenson pertaining to MPEG-4
-Consumer Recorded Data Encoder, MPEG-4 Systems Internet Data Encoder,
-MPEG-4 Mobile Data Encoder, and/or MPEG-4 Unique Use Encoder: Any such
-product is licensed under the MPEG-4 systems patent portfolio license
-for encoding in compliance with the MPEG-4 systems standard, except
-that an additional license and payment of royalties are necessary for
-encoding in connection with (i) data stored or replicated in physical
-media which is paid for on a title by title basis and/or (ii) data
-which is paid for on a title by title basis and is transmitted to an
-end user for permanent storage and/or use. Such additional license may
-be obtained from MPEG LA, LLC. See http://www.mpegla.com for
-additional details.</p>
+<p>Ingen av opplysningene vil bli brukt til å identifisere
+enkeltpersoner. NAV bruker disse opplysningene til å generere en
+samlet statistikk som blant annet viser hvilke sider som er mest
+populære. Statistikken er et redskap til å forbedre våre
+tjenester.»</p>
</blockquote></p>
-<p>Some free software like
-<a href="https://handbrake.fr/">Handbrake</A> and
-<a href="http://ffmpeg.org/">FFMPEG</a> uses GPL/LGPL licenses and do
-not have any such terms included, so for those, there is no
-requirement to limit the use to personal and non-commercial.</p>
+<p>Jeg klarer ikke helt å se hvordan analyse av de besøkendes
+IP-adresser for å se hvem som sender inn meldekort via web fra en
+IP-adresse i utlandet kan gjøres uten å komme i strid med påstanden om
+at «ingen av opplysningene vil bli brukt til å identifisere
+enkeltpersoner». Det virker dermed for meg som at NAV bryter sine
+egen personvernerklæring, hvilket
+<a href="http://people.skolelinux.org/pere/blog/Er_lover_brutt_n_r_personvernpolicy_ikke_stemmer_med_praksis_.html">Datatilsynet
+fortalte meg i starten av desember antagelig er brudd på
+personopplysningsloven</a>.
+
+<p>I tillegg er personvernerklæringen ganske misvisende i og med at
+NAVs nettsider ikke bare forsyner NAV med personopplysninger, men i
+tillegg ber brukernes nettleser kontakte fem andre nettjenere
+(script.hotjar.com, static.hotjar.com, vars.hotjar.com,
+www.google-analytics.com og www.googletagmanager.com), slik at
+personopplysninger blir gjort tilgjengelig for selskapene Hotjar og
+Google , og alle som kan lytte på trafikken på veien (som FRA, GCHQ og
+NSA). Jeg klarer heller ikke se hvordan slikt spredning av
+personopplysninger kan være i tråd med kravene i
+personopplysningloven, eller i tråd med NAVs personvernerklæring.</p>
+
+<p>Kanskje NAV bør ta en nøye titt på sin personvernerklæring? Eller
+kanskje Datatilsynet bør gjøre det?</p>
+
+
+
+
+ Where did that package go? — geolocated IP traceroute
+ http://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html
+ http://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html
+ Mon, 9 Jan 2017 12:20:00 +0100
+ <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>