]> pere.pagekite.me Git - homepage.git/blob - blog/index.html
1a839e55abd5eef5e5426764bd853c57a43523c7
[homepage.git] / blog / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="http://people.skolelinux.org/pere/blog/index.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21
22 <div class="entry">
23 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html">Detecting NFS hangs on Linux without hanging yourself...</a></div>
24 <div class="date"> 9th March 2017</div>
25 <div class="body"><p>Over the years, administrating thousand of NFS mounting linux
26 computers at the time, I often needed a way to detect if the machine
27 was experiencing NFS hang. If you try to use <tt>df</tt> or look at a
28 file or directory affected by the hang, the process (and possibly the
29 shell) will hang too. So you want to be able to detect this without
30 risking the detection process getting stuck too. It has not been
31 obvious how to do this. When the hang has lasted a while, it is
32 possible to find messages like these in dmesg:</p>
33
34 <p><blockquote>
35 nfs: server nfsserver not responding, still trying
36 <br>nfs: server nfsserver OK
37 </blockquote></p>
38
39 <p>It is hard to know if the hang is still going on, and it is hard to
40 be sure looking in dmesg is going to work. If there are lots of other
41 messages in dmesg the lines might have rotated out of site before they
42 are noticed.</p>
43
44 <p>While reading through the nfs client implementation in linux kernel
45 code, I came across some statistics that seem to give a way to detect
46 it. The om_timeouts sunrpc value in the kernel will increase every
47 time the above log entry is inserted into dmesg. And after digging a
48 bit further, I discovered that this value show up in
49 /proc/self/mountstats on Linux.</p>
50
51 <p>The mountstats content seem to be shared between files using the
52 same file system context, so it is enough to check one of the
53 mountstats files to get the state of the mount point for the machine.
54 I assume this will not show lazy umounted NFS points, nor NFS mount
55 points in a different process context (ie with a different filesystem
56 view), but that does not worry me.</p>
57
58 <p>The content for a NFS mount point look similar to this:</p>
59
60 <p><blockquote><pre>
61 [...]
62 device /dev/mapper/Debian-var mounted on /var with fstype ext3
63 device nfsserver:/mnt/nfsserver/home0 mounted on /mnt/nfsserver/home0 with fstype nfs statvers=1.1
64 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
65 age: 7863311
66 caps: caps=0x3fe7,wtmult=4096,dtsize=8192,bsize=0,namlen=255
67 sec: flavor=1,pseudoflavor=1
68 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
69 bytes: 166253035039 219519120027 0 0 40783504807 185466229638 11677877 45561809
70 RPC iostats version: 1.0 p/v: 100003/3 (nfs)
71 xprt: tcp 925 1 6810 0 0 111505412 111480497 109 2672418560317 0 248 53869103 22481820
72 per-op statistics
73 NULL: 0 0 0 0 0 0 0 0
74 GETATTR: 61063106 61063108 0 9621383060 6839064400 453650 77291321 78926132
75 SETATTR: 463469 463470 0 92005440 66739536 63787 603235 687943
76 LOOKUP: 17021657 17021657 0 3354097764 4013442928 57216 35125459 35566511
77 ACCESS: 14281703 14290009 5 2318400592 1713803640 1709282 4865144 7130140
78 READLINK: 125 125 0 20472 18620 0 1112 1118
79 READ: 4214236 4214237 0 715608524 41328653212 89884 22622768 22806693
80 WRITE: 8479010 8494376 22 187695798568 1356087148 178264904 51506907 231671771
81 CREATE: 171708 171708 0 38084748 46702272 873 1041833 1050398
82 MKDIR: 3680 3680 0 773980 993920 26 23990 24245
83 SYMLINK: 903 903 0 233428 245488 6 5865 5917
84 MKNOD: 80 80 0 20148 21760 0 299 304
85 REMOVE: 429921 429921 0 79796004 61908192 3313 2710416 2741636
86 RMDIR: 3367 3367 0 645112 484848 22 5782 6002
87 RENAME: 466201 466201 0 130026184 121212260 7075 5935207 5961288
88 LINK: 289155 289155 0 72775556 67083960 2199 2565060 2585579
89 READDIR: 2933237 2933237 0 516506204 13973833412 10385 3190199 3297917
90 READDIRPLUS: 1652839 1652839 0 298640972 6895997744 84735 14307895 14448937
91 FSSTAT: 6144 6144 0 1010516 1032192 51 9654 10022
92 FSINFO: 2 2 0 232 328 0 1 1
93 PATHCONF: 1 1 0 116 140 0 0 0
94 COMMIT: 0 0 0 0 0 0 0 0
95
96 device binfmt_misc mounted on /proc/sys/fs/binfmt_misc with fstype binfmt_misc
97 [...]
98 </pre></blockquote></p>
99
100 <p>The key number to look at is the third number in the per-op list.
101 It is the number of NFS timeouts experiences per file system
102 operation. Here 22 write timeouts and 5 access timeouts. If these
103 numbers are increasing, I believe the machine is experiencing NFS
104 hang. Unfortunately the timeout value do not start to increase right
105 away. The NFS operations need to time out first, and this can take a
106 while. The exact timeout value depend on the setup. For example the
107 defaults for TCP and UDP mount points are quite different, and the
108 timeout value is affected by the soft, hard, timeo and retrans NFS
109 mount options.</p>
110
111 <p>The only way I have been able to get working on Debian and RedHat
112 Enterprise Linux for getting the timeout count is to peek in /proc/.
113 But according to
114 <ahref="http://docs.oracle.com/cd/E19253-01/816-4555/netmonitor-12/index.html">Solaris
115 10 System Administration Guide: Network Services</a>, the 'nfsstat -c'
116 command can be used to get these timeout values. But this do not work
117 on Linux, as far as I can tell. I
118 <ahref="http://bugs.debian.org/857043">asked Debian about this</a>,
119 but have not seen any replies yet.</p>
120
121 <p>Is there a better way to figure out if a Linux NFS client is
122 experiencing NFS hangs? Is there a way to detect which processes are
123 affected? Is there a way to get the NFS mount going quickly once the
124 network problem causing the NFS hang has been cleared? I would very
125 much welcome some clues, as we regularly run into NFS hangs.</p>
126 </div>
127 <div class="tags">
128
129
130 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/sysadmin">sysadmin</a>.
131
132
133 </div>
134 </div>
135 <div class="padding"></div>
136
137 <div class="entry">
138 <div class="title"><a href="http://people.skolelinux.org/pere/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html">How does it feel to be wiretapped, when you should be doing the wiretapping...</a></div>
139 <div class="date"> 8th March 2017</div>
140 <div class="body"><p>So the new president in the United States of America claim to be
141 surprised to discover that he was wiretapped during the election
142 before he was elected president. He even claim this must be illegal.
143 Well, doh, if it is one thing the confirmations from Snowden
144 documented, it is that the entire population in USA is wiretapped, one
145 way or another. Of course the president candidates were wiretapped,
146 alongside the senators, judges and the rest of the people in USA.</p>
147
148 <p>Next, the Federal Bureau of Investigation ask the Department of
149 Justice to go public rejecting the claims that Donald Trump was
150 wiretapped illegally. I fail to see the relevance, given that I am
151 sure the surveillance industry in USA believe they have all the legal
152 backing they need to conduct mass surveillance on the entire
153 world.</p>
154
155 <p>There is even the director of the FBI stating that he never saw an
156 order requesting wiretapping of Donald Trump. That is not very
157 surprising, given how the FISA court work, with all its activity being
158 secret. Perhaps he only heard about it?</p>
159
160 <p>What I find most sad in this story is how Norwegian journalists
161 present it. In a news reports the other day in the radio from the
162 Norwegian National broadcasting Company (NRK), I heard the journalist
163 claim that 'the FBI denies any wiretapping', while the reality is that
164 'the FBI denies any illegal wiretapping'. There is a fundamental and
165 important difference, and it make me sad that the journalists are
166 unable to grasp it.</p>
167
168 <p><strong>Update 2017-03-13:</strong> Look like
169 <a href="https://theintercept.com/2017/03/13/rand-paul-is-right-nsa-routinely-monitors-americans-communications-without-warrants/">The
170 Intercept report that US Senator Rand Paul confirm what I state above</a>.</p>
171 </div>
172 <div class="tags">
173
174
175 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
176
177
178 </div>
179 </div>
180 <div class="padding"></div>
181
182 <div class="entry">
183 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_translation_of_The_Debian_Administrator_s_Handbook_complete__proofreading_in_progress.html">Norwegian Bokmål translation of The Debian Administrator's Handbook complete, proofreading in progress</a></div>
184 <div class="date"> 3rd March 2017</div>
185 <div class="body"><p>For almost a year now, we have been working on making a Norwegian
186 Bokmål edition of <a href="https://debian-handbook.info/">The Debian
187 Administrator's Handbook</a>. Now, thanks to the tireless effort of
188 Ole-Erik, Ingrid and Andreas, the initial translation is complete, and
189 we are working on the proof reading to ensure consistent language and
190 use of correct computer science terms. The plan is to make the book
191 available on paper, as well as in electronic form. For that to
192 happen, the proof reading must be completed and all the figures need
193 to be translated. If you want to help out, get in touch.</p>
194
195 <p><a href="http://people.skolelinux.org/pere/debian-handbook/debian-handbook-nb-NO.pdf">A
196
197 fresh PDF edition</a> in A4 format (the final book will have smaller
198 pages) of the book created every morning is available for
199 proofreading. If you find any errors, please
200 <a href="https://hosted.weblate.org/projects/debian-handbook/">visit
201 Weblate and correct the error</a>. The
202 <a href="http://l.github.io/debian-handbook/stat/nb-NO/index.html">state
203 of the translation including figures</a> is a useful source for those
204 provide Norwegian bokmål screen shots and figures.</p>
205 </div>
206 <div class="tags">
207
208
209 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
210
211
212 </div>
213 </div>
214 <div class="padding"></div>
215
216 <div class="entry">
217 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Unlimited_randomness_with_the_ChaosKey_.html">Unlimited randomness with the ChaosKey?</a></div>
218 <div class="date"> 1st March 2017</div>
219 <div class="body"><p>A few days ago I ordered a small batch of
220 <a href="http://altusmetrum.org/ChaosKey/">the ChaosKey</a>, a small
221 USB dongle for generating entropy created by Bdale Garbee and Keith
222 Packard. Yesterday it arrived, and I am very happy to report that it
223 work great! According to its designers, to get it to work out of the
224 box, you need the Linux kernel version 4.1 or later. I tested on a
225 Debian Stretch machine (kernel version 4.9), and there it worked just
226 fine, increasing the available entropy very quickly. I wrote a small
227 test oneliner to test. It first print the current entropy level,
228 drain /dev/random, and then print the entropy level for five seconds.
229 Here is the situation without the ChaosKey inserted:</p>
230
231 <blockquote><pre>
232 % cat /proc/sys/kernel/random/entropy_avail; \
233 dd bs=1M if=/dev/random of=/dev/null count=1; \
234 for n in $(seq 1 5); do \
235 cat /proc/sys/kernel/random/entropy_avail; \
236 sleep 1; \
237 done
238 300
239 0+1 oppføringer inn
240 0+1 oppføringer ut
241 28 byte kopiert, 0,000264565 s, 106 kB/s
242 4
243 8
244 12
245 17
246 21
247 %
248 </pre></blockquote>
249
250 <p>The entropy level increases by 3-4 every second. In such case any
251 application requiring random bits (like a HTTPS enabled web server)
252 will halt and wait for more entrpy. And here is the situation with
253 the ChaosKey inserted:</p>
254
255 <blockquote><pre>
256 % cat /proc/sys/kernel/random/entropy_avail; \
257 dd bs=1M if=/dev/random of=/dev/null count=1; \
258 for n in $(seq 1 5); do \
259 cat /proc/sys/kernel/random/entropy_avail; \
260 sleep 1; \
261 done
262 1079
263 0+1 oppføringer inn
264 0+1 oppføringer ut
265 104 byte kopiert, 0,000487647 s, 213 kB/s
266 433
267 1028
268 1031
269 1035
270 1038
271 %
272 </pre></blockquote>
273
274 <p>Quite the difference. :) I bought a few more than I need, in case
275 someone want to buy one here in Norway. :)</p>
276
277 <p>Update: The dongle was presented at Debconf last year. You might
278 find <a href="https://debconf16.debconf.org/talks/94/">the talk
279 recording illuminating</a>. It explains exactly what the source of
280 randomness is, if you are unable to spot it from the schema drawing
281 available from the ChaosKey web site linked at the start of this blog
282 post.</p>
283 </div>
284 <div class="tags">
285
286
287 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>.
288
289
290 </div>
291 </div>
292 <div class="padding"></div>
293
294 <div class="entry">
295 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Detect_OOXML_files_with_undefined_behaviour_.html">Detect OOXML files with undefined behaviour?</a></div>
296 <div class="date">21st February 2017</div>
297 <div class="body"><p>I just noticed
298 <a href="http://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing">the
299 new Norwegian proposal for archiving rules in the goverment</a> list
300 <a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm">ECMA-376</a>
301 / ISO/IEC 29500 (aka OOXML) as valid formats to put in long term
302 storage. Luckily such files will only be accepted based on
303 pre-approval from the National Archive. Allowing OOXML files to be
304 used for long term storage might seem like a good idea as long as we
305 forget that there are plenty of ways for a "valid" OOXML document to
306 have content with no defined interpretation in the standard, which
307 lead to a question and an idea.</p>
308
309 <p>Is there any tool to detect if a OOXML document depend on such
310 undefined behaviour? It would be useful for the National Archive (and
311 anyone else interested in verifying that a document is well defined)
312 to have such tool available when considering to approve the use of
313 OOXML. I'm aware of the
314 <a href="https://github.com/arlm/officeotron/">officeotron OOXML
315 validator</a>, but do not know how complete it is nor if it will
316 report use of undefined behaviour. Are there other similar tools
317 available? Please send me an email if you know of any such tool.</p>
318 </div>
319 <div class="tags">
320
321
322 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
323
324
325 </div>
326 </div>
327 <div class="padding"></div>
328
329 <div class="entry">
330 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Ruling_ignored_our_objections_to_the_seizure_of_popcorn_time_no___domstolkontroll_.html">Ruling ignored our objections to the seizure of popcorn-time.no (#domstolkontroll)</a></div>
331 <div class="date">13th February 2017</div>
332 <div class="body"><p>A few days ago, we received the ruling from
333 <a href="http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html">my
334 day in court</a>. The case in question is a challenge of the seizure
335 of the DNS domain popcorn-time.no. The ruling simply did not mention
336 most of our arguments, and seemed to take everything ØKOKRIM said at
337 face value, ignoring our demonstration and explanations. But it is
338 hard to tell for sure, as we still have not seen most of the documents
339 in the case and thus were unprepared and unable to contradict several
340 of the claims made in court by the opposition. We are considering an
341 appeal, but it is partly a question of funding, as it is costing us
342 quite a bit to pay for our lawyer. If you want to help, please
343 <a href="http://www.nuug.no/dns-beslag-donasjon.shtml">donate to the
344 NUUG defense fund</a>.</p>
345
346 <p>The details of the case, as far as we know it, is available in
347 Norwegian from
348 <a href="https://www.nuug.no/news/tags/dns-domenebeslag/">the NUUG
349 blog</a>. This also include
350 <a href="https://www.nuug.no/news/Avslag_etter_rettslig_h_ring_om_DNS_beslaget___vurderer_veien_videre.shtml">the
351 ruling itself</a>.</p>
352 </div>
353 <div class="tags">
354
355
356 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
357
358
359 </div>
360 </div>
361 <div class="padding"></div>
362
363 <div class="entry">
364 <div class="title"><a href="http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html">A day in court challenging seizure of popcorn-time.no for #domstolkontroll</a></div>
365 <div class="date"> 3rd February 2017</div>
366 <div class="body"><p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2017-02-01-popcorn-time-in-court.jpeg"></p>
367
368 <p>On Wednesday, I spent the entire day in court in Follo Tingrett
369 representing <a href="https://www.nuug.no/">the member association
370 NUUG</a>, alongside <a href="https://www.efn.no/">the member
371 association EFN</a> and <a href="http://www.imc.no">the DNS registrar
372 IMC</a>, challenging the seizure of the DNS name popcorn-time.no. It
373 was interesting to sit in a court of law for the first time in my
374 life. Our team can be seen in the picture above: attorney Ola
375 Tellesbø, EFN board member Tom Fredrik Blenning, IMC CEO Morten Emil
376 Eriksen and NUUG board member Petter Reinholdtsen.</p>
377
378 <p><a href="http://www.domstol.no/no/Enkelt-domstol/follo-tingrett/Nar-gar-rettssaken/Beramming/?cid=AAAA1701301512081262234UJFBVEZZZZZEJBAvtale">The
379 case at hand</a> is that the Norwegian National Authority for
380 Investigation and Prosecution of Economic and Environmental Crime (aka
381 Økokrim) decided on their own, to seize a DNS domain early last
382 year, without following
383 <a href="https://www.norid.no/no/regelverk/navnepolitikk/#link12">the
384 official policy of the Norwegian DNS authority</a> which require a
385 court decision. The web site in question was a site covering Popcorn
386 Time. And Popcorn Time is the name of a technology with both legal
387 and illegal applications. Popcorn Time is a client combining
388 searching a Bittorrent directory available on the Internet with
389 downloading/distribute content via Bittorrent and playing the
390 downloaded content on screen. It can be used illegally if it is used
391 to distribute content against the will of the right holder, but it can
392 also be used legally to play a lot of content, for example the
393 millions of movies
394 <a href="https://archive.org/details/movies">available from the
395 Internet Archive</a> or the collection
396 <a href="http://vodo.net/films/">available from Vodo</a>. We created
397 <a href="magnet:?xt=urn:btih:86c1802af5a667ca56d3918aecb7d3c0f7173084&dn=PresentasjonFolloTingrett.mov&tr=udp%3A%2F%2Fpublic.popcorn-tracker.org%3A6969%2Fannounce">a
398 video demonstrating legally use of Popcorn Time</a> and played it in
399 Court. It can of course be downloaded using Bittorrent.</p>
400
401 <p>I did not quite know what to expect from a day in court. The
402 government held on to their version of the story and we held on to
403 ours, and I hope the judge is able to make sense of it all. We will
404 know in two weeks time. Unfortunately I do not have high hopes, as
405 the Government have the upper hand here with more knowledge about the
406 case, better training in handling criminal law and in general higher
407 standing in the courts than fairly unknown DNS registrar and member
408 associations. It is expensive to be right also in Norway. So far the
409 case have cost more than NOK 70 000,-. To help fund the case, NUUG
410 and EFN have asked for donations, and managed to collect around NOK 25
411 000,- so far. Given the presentation from the Government, I expect
412 the government to appeal if the case go our way. And if the case do
413 not go our way, I hope we have enough funding to appeal.</p>
414
415 <p>From the other side came two people from Økokrim. On the benches,
416 appearing to be part of the group from the government were two people
417 from the Simonsen Vogt Wiik lawyer office, and three others I am not
418 quite sure who was. Økokrim had proposed to present two witnesses
419 from The Motion Picture Association, but this was rejected because
420 they did not speak Norwegian and it was a bit late to bring in a
421 translator, but perhaps the two from MPA were present anyway. All
422 seven appeared to know each other. Good to see the case is take
423 seriously.</p>
424
425 <p>If you, like me, believe the courts should be involved before a DNS
426 domain is hijacked by the government, or you believe the Popcorn Time
427 technology have a lot of useful and legal applications, I suggest you
428 too <a href="http://www.nuug.no/dns-beslag-donasjon.shtml">donate to
429 the NUUG defense fund</a>. Both Bitcoin and bank transfer are
430 available. If NUUG get more than we need for the legal action (very
431 unlikely), the rest will be spend promoting free software, open
432 standards and unix-like operating systems in Norway, so no matter what
433 happens the money will be put to good use.</p>
434
435 <p>If you want to lean more about the case, I recommend you check out
436 <a href="https://www.nuug.no/news/tags/dns-domenebeslag/">the blog
437 posts from NUUG covering the case</a>. They cover the legal arguments
438 on both sides.</p>
439 </div>
440 <div class="tags">
441
442
443 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
444
445
446 </div>
447 </div>
448 <div class="padding"></div>
449
450 <div class="entry">
451 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Nasjonalbiblioteket_avslutter_sin_ulovlige_bruk_av_Google_Skjemaer.html">Nasjonalbiblioteket avslutter sin ulovlige bruk av Google Skjemaer</a></div>
452 <div class="date">12th January 2017</div>
453 <div class="body"><p>I dag fikk jeg en skikkelig gladmelding. Bakgrunnen er at før jul
454 arrangerte Nasjonalbiblioteket
455 <a href="http://www.nb.no/Bibliotekutvikling/Kunnskapsorganisering/Nasjonalt-verksregister/Seminar-om-verksregister">et
456 seminar om sitt knakende gode tiltak «verksregister»</a>. Eneste
457 måten å melde seg på dette seminaret var å sende personopplysninger
458 til Google via Google Skjemaer. Dette syntes jeg var tvilsom praksis,
459 da det bør være mulig å delta på seminarer arrangert av det offentlige
460 uten å måtte dele sine interesser, posisjon og andre
461 personopplysninger med Google. Jeg ba derfor om innsyn via
462 <a href="https://www.mimesbronn.no/">Mimes brønn</a> i
463 <a href="https://www.mimesbronn.no/request/personopplysninger_til_google_sk">avtaler
464 og vurderinger Nasjonalbiblioteket hadde rundt dette</a>.
465 Personopplysningsloven legger klare rammer for hva som må være på
466 plass før en kan be tredjeparter, spesielt i utlandet, behandle
467 personopplysninger på sine vegne, så det burde eksistere grundig
468 dokumentasjon før noe slikt kan bli lovlig. To jurister hos
469 Nasjonalbiblioteket mente først dette var helt i orden, og at Googles
470 standardavtale kunne brukes som databehandlingsavtale. Det syntes jeg
471 var merkelig, men har ikke hatt kapasitet til å følge opp saken før
472 for to dager siden.</p>
473
474 <p>Gladnyheten i dag, som kom etter at jeg tipset Nasjonalbiblioteket
475 om at Datatilsynet underkjente Googles standardavtaler som
476 databehandleravtaler i 2011, er at Nasjonalbiblioteket har bestemt seg
477 for å avslutte bruken av Googles Skjemaer/Apps og gå i dialog med DIFI
478 for å finne bedre måter å håndtere påmeldinger i tråd med
479 personopplysningsloven. Det er fantastisk å se at av og til hjelper
480 det å spørre hva i alle dager det offentlige holder på med.</p>
481 </div>
482 <div class="tags">
483
484
485 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>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
486
487
488 </div>
489 </div>
490 <div class="padding"></div>
491
492 <div class="entry">
493 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Bryter_NAV_sin_egen_personvernerkl_ring_.html">Bryter NAV sin egen personvernerklæring?</a></div>
494 <div class="date">11th January 2017</div>
495 <div class="body"><p>Jeg leste med interesse en nyhetssak hos
496 <a href="http://www.digi.no/artikler/nav-avslorer-trygdemisbruk-ved-a-spore-ip-adresser/367394">digi.no</a>
497 og
498 <a href="https://www.nrk.no/buskerud/trygdesvindlere-avslores-av-utenlandske-ip-adresser-1.13313461">NRK</a>
499 om at det ikke bare er meg, men at også NAV bedriver geolokalisering
500 av IP-adresser, og at det gjøres analyse av IP-adressene til de som
501 sendes inn meldekort for å se om meldekortet sendes inn fra
502 utenlandske IP-adresser. Politiadvokat i Drammen, Hans Lyder Haare,
503 er sitert i NRK på at «De to er jo blant annet avslørt av
504 IP-adresser. At man ser at meldekortet kommer fra utlandet.»</p>
505
506 <p>Jeg synes det er fint at det blir bedre kjent at IP-adresser
507 knyttes til enkeltpersoner og at innsamlet informasjon brukes til å
508 stedsbestemme personer også av aktører her i Norge. Jeg ser det som
509 nok et argument for å bruke
510 <a href="https://www.torproject.org/">Tor</a> så mye som mulig for å
511 gjøre gjøre IP-lokalisering vanskeligere, slik at en kan beskytte sin
512 privatsfære og unngå å dele sin fysiske plassering med
513 uvedkommede.</p>
514
515 <P>Men det er en ting som bekymrer meg rundt denne nyheten. Jeg ble
516 tipset (takk #nuug) om
517 <a href="https://www.nav.no/no/NAV+og+samfunn/Kontakt+NAV/Teknisk+brukerstotte/Snarveier/personvernerkl%C3%A6ring-for-arbeids-og-velferdsetaten">NAVs
518 personvernerklæring</a>, som under punktet «Personvern og statistikk»
519 lyder:</p>
520
521 <p><blockquote>
522
523 <p>«Når du besøker nav.no, etterlater du deg elektroniske spor. Sporene
524 dannes fordi din nettleser automatisk sender en rekke opplysninger til
525 NAVs tjener (server-maskin) hver gang du ber om å få vist en side. Det
526 er eksempelvis opplysninger om hvilken nettleser og -versjon du
527 bruker, og din internettadresse (ip-adresse). For hver side som vises,
528 lagres følgende opplysninger:</p>
529
530 <ul>
531 <li>hvilken side du ser på</li>
532 <li>dato og tid</li>
533 <li>hvilken nettleser du bruker</li>
534 <li>din ip-adresse</li>
535 </ul>
536
537 <p>Ingen av opplysningene vil bli brukt til å identifisere
538 enkeltpersoner. NAV bruker disse opplysningene til å generere en
539 samlet statistikk som blant annet viser hvilke sider som er mest
540 populære. Statistikken er et redskap til å forbedre våre
541 tjenester.»</p>
542
543 </blockquote></p>
544
545 <p>Jeg klarer ikke helt å se hvordan analyse av de besøkendes
546 IP-adresser for å se hvem som sender inn meldekort via web fra en
547 IP-adresse i utlandet kan gjøres uten å komme i strid med påstanden om
548 at «ingen av opplysningene vil bli brukt til å identifisere
549 enkeltpersoner». Det virker dermed for meg som at NAV bryter sine
550 egen personvernerklæring, hvilket
551 <a href="http://people.skolelinux.org/pere/blog/Er_lover_brutt_n_r_personvernpolicy_ikke_stemmer_med_praksis_.html">Datatilsynet
552 fortalte meg i starten av desember antagelig er brudd på
553 personopplysningsloven</a>.
554
555 <p>I tillegg er personvernerklæringen ganske misvisende i og med at
556 NAVs nettsider ikke bare forsyner NAV med personopplysninger, men i
557 tillegg ber brukernes nettleser kontakte fem andre nettjenere
558 (script.hotjar.com, static.hotjar.com, vars.hotjar.com,
559 www.google-analytics.com og www.googletagmanager.com), slik at
560 personopplysninger blir gjort tilgjengelig for selskapene Hotjar og
561 Google , og alle som kan lytte på trafikken på veien (som FRA, GCHQ og
562 NSA). Jeg klarer heller ikke se hvordan slikt spredning av
563 personopplysninger kan være i tråd med kravene i
564 personopplysningloven, eller i tråd med NAVs personvernerklæring.</p>
565
566 <p>Kanskje NAV bør ta en nøye titt på sin personvernerklæring? Eller
567 kanskje Datatilsynet bør gjøre det?</p>
568 </div>
569 <div class="tags">
570
571
572 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</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/surveillance">surveillance</a>.
573
574
575 </div>
576 </div>
577 <div class="padding"></div>
578
579 <div class="entry">
580 <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>
581 <div class="date"> 9th January 2017</div>
582 <div class="body"><p>Did you ever wonder where the web trafic really flow to reach the
583 web servers, and who own the network equipment it is flowing through?
584 It is possible to get a glimpse of this from using traceroute, but it
585 is hard to find all the details. Many years ago, I wrote a system to
586 map the Norwegian Internet (trying to figure out if our plans for a
587 network game service would get low enough latency, and who we needed
588 to talk to about setting up game servers close to the users. Back
589 then I used traceroute output from many locations (I asked my friends
590 to run a script and send me their traceroute output) to create the
591 graph and the map. The output from traceroute typically look like
592 this:
593
594 <p><pre>
595 traceroute to www.stortinget.no (85.88.67.10), 30 hops max, 60 byte packets
596 1 uio-gw10.uio.no (129.240.202.1) 0.447 ms 0.486 ms 0.621 ms
597 2 uio-gw8.uio.no (129.240.24.229) 0.467 ms 0.578 ms 0.675 ms
598 3 oslo-gw1.uninett.no (128.39.65.17) 0.385 ms 0.373 ms 0.358 ms
599 4 te3-1-2.br1.fn3.as2116.net (193.156.90.3) 1.174 ms 1.172 ms 1.153 ms
600 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
601 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
602 7 89.191.10.146 (89.191.10.146) 0.931 ms 0.917 ms 0.955 ms
603 8 * * *
604 9 * * *
605 [...]
606 </pre></p>
607
608 <p>This show the DNS names and IP addresses of (at least some of the)
609 network equipment involved in getting the data traffic from me to the
610 www.stortinget.no server, and how long it took in milliseconds for a
611 package to reach the equipment and return to me. Three packages are
612 sent, and some times the packages do not follow the same path. This
613 is shown for hop 5, where three different IP addresses replied to the
614 traceroute request.</p>
615
616 <p>There are many ways to measure trace routes. Other good traceroute
617 implementations I use are traceroute (using ICMP packages) mtr (can do
618 both ICMP, UDP and TCP) and scapy (python library with ICMP, UDP, TCP
619 traceroute and a lot of other capabilities). All of them are easily
620 available in <a href="https://www.debian.org/">Debian</a>.</p>
621
622 <p>This time around, I wanted to know the geographic location of
623 different route points, to visualize how visiting a web page spread
624 information about the visit to a lot of servers around the globe. The
625 background is that a web site today often will ask the browser to get
626 from many servers the parts (for example HTML, JSON, fonts,
627 JavaScript, CSS, video) required to display the content. This will
628 leak information about the visit to those controlling these servers
629 and anyone able to peek at the data traffic passing by (like your ISP,
630 the ISPs backbone provider, FRA, GCHQ, NSA and others).</p>
631
632 <p>Lets pick an example, the Norwegian parliament web site
633 www.stortinget.no. It is read daily by all members of parliament and
634 their staff, as well as political journalists, activits and many other
635 citizens of Norway. A visit to the www.stortinget.no web site will
636 ask your browser to contact 8 other servers: ajax.googleapis.com,
637 insights.hotjar.com, script.hotjar.com, static.hotjar.com,
638 stats.g.doubleclick.net, www.google-analytics.com,
639 www.googletagmanager.com and www.netigate.se. I extracted this by
640 asking <a href="http://phantomjs.org/">PhantomJS</a> to visit the
641 Stortinget web page and tell me all the URLs PhantomJS downloaded to
642 render the page (in HAR format using
643 <a href="https://github.com/ariya/phantomjs/blob/master/examples/netsniff.js">their
644 netsniff example</a>. I am very grateful to Gorm for showing me how
645 to do this). My goal is to visualize network traces to all IP
646 addresses behind these DNS names, do show where visitors personal
647 information is spread when visiting the page.</p>
648
649 <p align="center"><a href="www.stortinget.no-geoip.kml"><img
650 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>
651
652 <p>When I had a look around for options, I could not find any good
653 free software tools to do this, and decided I needed my own traceroute
654 wrapper outputting KML based on locations looked up using GeoIP. KML
655 is easy to work with and easy to generate, and understood by several
656 of the GIS tools I have available. I got good help from by NUUG
657 colleague Anders Einar with this, and the result can be seen in
658 <a href="https://github.com/petterreinholdtsen/kmltraceroute">my
659 kmltraceroute git repository</a>. Unfortunately, the quality of the
660 free GeoIP databases I could find (and the for-pay databases my
661 friends had access to) is not up to the task. The IP addresses of
662 central Internet infrastructure would typically be placed near the
663 controlling companies main office, and not where the router is really
664 located, as you can see from <a href="www.stortinget.no-geoip.kml">the
665 KML file I created</a> using the GeoLite City dataset from MaxMind.
666
667 <p align="center"><a href="http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy.svg"><img
668 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>
669
670 <p>I also had a look at the visual traceroute graph created by
671 <a href="http://www.secdev.org/projects/scapy/">the scrapy project</a>,
672 showing IP network ownership (aka AS owner) for the IP address in
673 question.
674 <a href="http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy.svg">The
675 graph display a lot of useful information about the traceroute in SVG
676 format</a>, and give a good indication on who control the network
677 equipment involved, but it do not include geolocation. This graph
678 make it possible to see the information is made available at least for
679 UNINETT, Catchcom, Stortinget, Nordunet, Google, Amazon, Telia, Level
680 3 Communications and NetDNA.</p>
681
682 <p align="center"><a href="https://geotraceroute.com/index.php?node=4&host=www.stortinget.no"><img
683 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>
684
685 <p>In the process, I came across the
686 <a href="https://geotraceroute.com/">web service GeoTraceroute</a> by
687 Salim Gasmi. Its methology of combining guesses based on DNS names,
688 various location databases and finally use latecy times to rule out
689 candidate locations seemed to do a very good job of guessing correct
690 geolocation. But it could only do one trace at the time, did not have
691 a sensor in Norway and did not make the geolocations easily available
692 for postprocessing. So I contacted the developer and asked if he
693 would be willing to share the code (he refused until he had time to
694 clean it up), but he was interested in providing the geolocations in a
695 machine readable format, and willing to set up a sensor in Norway. So
696 since yesterday, it is possible to run traces from Norway in this
697 service thanks to a sensor node set up by
698 <a href="https://www.nuug.no/">the NUUG assosiation</a>, and get the
699 trace in KML format for further processing.</p>
700
701 <p align="center"><a href="http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-geotraceroute-kml-join.kml"><img
702 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>
703
704 <p>Here we can see a lot of trafic passes Sweden on its way to
705 Denmark, Germany, Holland and Ireland. Plenty of places where the
706 Snowden confirmations verified the traffic is read by various actors
707 without your best interest as their top priority.</p>
708
709 <p>Combining KML files is trivial using a text editor, so I could loop
710 over all the hosts behind the urls imported by www.stortinget.no and
711 ask for the KML file from GeoTraceroute, and create a combined KML
712 file with all the traces (unfortunately only one of the IP addresses
713 behind the DNS name is traced this time. To get them all, one would
714 have to request traces using IP number instead of DNS names from
715 GeoTraceroute). That might be the next step in this project.</p>
716
717 <p>Armed with these tools, I find it a lot easier to figure out where
718 the IP traffic moves and who control the boxes involved in moving it.
719 And every time the link crosses for example the Swedish border, we can
720 be sure Swedish Signal Intelligence (FRA) is listening, as GCHQ do in
721 Britain and NSA in USA and cables around the globe. (Hm, what should
722 we tell them? :) Keep that in mind if you ever send anything
723 unencrypted over the Internet.</p>
724
725 <p>PS: KML files are drawn using
726 <a href="http://ivanrublev.me/kml/">the KML viewer from Ivan
727 Rublev<a/>, as it was less cluttered than the local Linux application
728 Marble. There are heaps of other options too.</p>
729
730 <p>As usual, if you use Bitcoin and want to show your support of my
731 activities, please send Bitcoin donations to my address
732 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
733 </div>
734 <div class="tags">
735
736
737 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/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>.
738
739
740 </div>
741 </div>
742 <div class="padding"></div>
743
744 <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>
745 <div id="sidebar">
746
747
748
749 <h2>Archive</h2>
750 <ul>
751
752 <li>2017
753 <ul>
754
755 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
756
757 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
758
759 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (4)</a></li>
760
761 </ul></li>
762
763 <li>2016
764 <ul>
765
766 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
767
768 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
769
770 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
771
772 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
773
774 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
775
776 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
777
778 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
779
780 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
781
782 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
783
784 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
785
786 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
787
788 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
789
790 </ul></li>
791
792 <li>2015
793 <ul>
794
795 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
796
797 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
798
799 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
800
801 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
802
803 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
804
805 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
806
807 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
808
809 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
810
811 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
812
813 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
814
815 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
816
817 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
818
819 </ul></li>
820
821 <li>2014
822 <ul>
823
824 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
825
826 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
827
828 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
829
830 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
831
832 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
833
834 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
835
836 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
837
838 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
839
840 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
841
842 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
843
844 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
845
846 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
847
848 </ul></li>
849
850 <li>2013
851 <ul>
852
853 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
854
855 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
856
857 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
858
859 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
860
861 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
862
863 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
864
865 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
866
867 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
868
869 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
870
871 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
872
873 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
874
875 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
876
877 </ul></li>
878
879 <li>2012
880 <ul>
881
882 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
883
884 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
885
886 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
887
888 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
889
890 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
891
892 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
893
894 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
895
896 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
897
898 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
899
900 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
901
902 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
903
904 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
905
906 </ul></li>
907
908 <li>2011
909 <ul>
910
911 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
912
913 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
914
915 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
916
917 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
918
919 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
920
921 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
922
923 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
924
925 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
926
927 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
928
929 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
930
931 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
932
933 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
934
935 </ul></li>
936
937 <li>2010
938 <ul>
939
940 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
941
942 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
943
944 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
945
946 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
947
948 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
949
950 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
951
952 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
953
954 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
955
956 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
957
958 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
959
960 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
961
962 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
963
964 </ul></li>
965
966 <li>2009
967 <ul>
968
969 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
970
971 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
972
973 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
974
975 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
976
977 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
978
979 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
980
981 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
982
983 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
984
985 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
986
987 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
988
989 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
990
991 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
992
993 </ul></li>
994
995 <li>2008
996 <ul>
997
998 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
999
1000 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
1001
1002 </ul></li>
1003
1004 </ul>
1005
1006
1007
1008 <h2>Tags</h2>
1009 <ul>
1010
1011 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
1012
1013 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
1014
1015 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
1016
1017 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
1018
1019 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (9)</a></li>
1020
1021 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (16)</a></li>
1022
1023 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
1024
1025 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
1026
1027 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (148)</a></li>
1028
1029 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
1030
1031 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (3)</a></li>
1032
1033 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
1034
1035 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (16)</a></li>
1036
1037 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (23)</a></li>
1038
1039 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
1040
1041 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (345)</a></li>
1042
1043 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
1044
1045 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
1046
1047 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (29)</a></li>
1048
1049 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
1050
1051 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (18)</a></li>
1052
1053 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
1054
1055 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
1056
1057 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (15)</a></li>
1058
1059 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (20)</a></li>
1060
1061 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
1062
1063 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
1064
1065 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
1066
1067 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
1068
1069 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
1070
1071 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (39)</a></li>
1072
1073 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (9)</a></li>
1074
1075 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (287)</a></li>
1076
1077 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (187)</a></li>
1078
1079 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (28)</a></li>
1080
1081 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
1082
1083 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (64)</a></li>
1084
1085 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (99)</a></li>
1086
1087 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
1088
1089 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
1090
1091 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
1092
1093 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
1094
1095 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (10)</a></li>
1096
1097 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1098
1099 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (5)</a></li>
1100
1101 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
1102
1103 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (52)</a></li>
1104
1105 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
1106
1107 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
1108
1109 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (51)</a></li>
1110
1111 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (5)</a></li>
1112
1113 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (11)</a></li>
1114
1115 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (48)</a></li>
1116
1117 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (3)</a></li>
1118
1119 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
1120
1121 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
1122
1123 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (59)</a></li>
1124
1125 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1126
1127 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (40)</a></li>
1128
1129 </ul>
1130
1131
1132 </div>
1133 <p style="text-align: right">
1134 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1135 </p>
1136
1137 </body>
1138 </html>