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