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">
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" />
14 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <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>
24 <div class=
"date"> 8th March
2017</div>
25 <div class=
"body"><p>So the new president in the United States of America claim to be
26 surprised to discover that he was wiretapped during the election
27 before he was elected president. He even claim this must be illegal.
28 Well, doh, if it is one thing the confirmations from Snowden
29 documented, it is that the entire population in USA is wiretapped, one
30 way or another. Of course the president candidates were wiretapped,
31 alongside the senators, judges and the rest of the people in USA.
</p>
33 <p>Next, the Federal Bureau of Investigation ask the Department of
34 Justice to go public rejecting the claims that Donald Trump was
35 wiretapped illegally. I fail to see the relevance, given that I am
36 sure the surveillance industry in USA according to themselves believe
37 they have all the legal backing they need to conduct mass surveillance
38 on the entire world.
</p>
40 <p>There is even the director of the FBI stating that he never saw an
41 order requesting wiretapping of Donald Trump. That is not very
42 surprising, given how the FISA court work, with all its activity being
43 secret. Perhaps he only heard about it?
</p>
45 <p>What I find most sad in this story is how Norwegian journalists
46 present it. In a news reports the other day in the radio from the
47 Norwegian National broadcasting Company (NRK), I heard the journalist
48 claim that 'the FBI denies any wiretapping', while the reality is that
49 'the FBI denies any illegal wiretapping'. There is a fundamental and
50 important difference, and it make me sad that the journalists are
51 unable to grasp it.
</p>
56 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
61 <div class=
"padding"></div>
64 <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>
65 <div class=
"date"> 3rd March
2017</div>
66 <div class=
"body"><p>For almost a year now, we have been working on making a Norwegian
67 Bokmål edition of
<a href=
"https://debian-handbook.info/">The Debian
68 Administrator's Handbook
</a>. Now, thanks to the tireless effort of
69 Ole-Erik, Ingrid and Andreas, the initial translation is complete, and
70 we are working on the proof reading to ensure consistent language and
71 use of correct computer science terms. The plan is to make the book
72 available on paper, as well as in electronic form. For that to
73 happen, the proof reading must be completed and all the figures need
74 to be translated. If you want to help out, get in touch.
</p>
76 <p><a href=
"http://people.skolelinux.org/pere/debian-handbook/debian-handbook-nb-NO.pdf">A
78 fresh PDF edition
</a> in A4 format (the final book will have smaller
79 pages) of the book created every morning is available for
80 proofreading. If you find any errors, please
81 <a href=
"https://hosted.weblate.org/projects/debian-handbook/">visit
82 Weblate and correct the error
</a>. The
83 <a href=
"http://l.github.io/debian-handbook/stat/nb-NO/index.html">state
84 of the translation including figures
</a> is a useful source for those
85 provide Norwegian bokmål screen shots and figures.
</p>
90 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>.
95 <div class=
"padding"></div>
98 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Unlimited_randomness_with_the_ChaosKey_.html">Unlimited randomness with the ChaosKey?
</a></div>
99 <div class=
"date"> 1st March
2017</div>
100 <div class=
"body"><p>A few days ago I ordered a small batch of
101 <a href=
"http://altusmetrum.org/ChaosKey/">the ChaosKey
</a>, a small
102 USB dongle for generating entropy created by Bdale Garbee and Keith
103 Packard. Yesterday it arrived, and I am very happy to report that it
104 work great! According to its designers, to get it to work out of the
105 box, you need the Linux kernel version
4.1 or later. I tested on a
106 Debian Stretch machine (kernel version
4.9), and there it worked just
107 fine, increasing the available entropy very quickly. I wrote a small
108 test oneliner to test. It first print the current entropy level,
109 drain /dev/random, and then print the entropy level for five seconds.
110 Here is the situation without the ChaosKey inserted:
</p>
113 % cat /proc/sys/kernel/random/entropy_avail; \
114 dd bs=
1M if=/dev/random of=/dev/null count=
1; \
115 for n in $(seq
1 5); do \
116 cat /proc/sys/kernel/random/entropy_avail; \
122 28 byte kopiert,
0,
000264565 s,
106 kB/s
131 <p>The entropy level increases by
3-
4 every second. In such case any
132 application requiring random bits (like a HTTPS enabled web server)
133 will halt and wait for more entrpy. And here is the situation with
134 the ChaosKey inserted:
</p>
137 % cat /proc/sys/kernel/random/entropy_avail; \
138 dd bs=
1M if=/dev/random of=/dev/null count=
1; \
139 for n in $(seq
1 5); do \
140 cat /proc/sys/kernel/random/entropy_avail; \
146 104 byte kopiert,
0,
000487647 s,
213 kB/s
155 <p>Quite the difference. :) I bought a few more than I need, in case
156 someone want to buy one here in Norway. :)
</p>
158 <p>Update: The dongle was presented at Debconf last year. You might
159 find
<a href=
"https://debconf16.debconf.org/talks/94/">the talk
160 recording illuminating
</a>. It explains exactly what the source of
161 randomness is, if you are unable to spot it from the schema drawing
162 available from the ChaosKey web site linked at the start of this blog
168 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>.
173 <div class=
"padding"></div>
176 <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>
177 <div class=
"date">21st February
2017</div>
178 <div class=
"body"><p>I just noticed
179 <a href=
"http://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing">the
180 new Norwegian proposal for archiving rules in the goverment
</a> list
181 <a href=
"http://www.ecma-international.org/publications/standards/Ecma-376.htm">ECMA-
376</a>
182 / ISO/IEC
29500 (aka OOXML) as valid formats to put in long term
183 storage. Luckily such files will only be accepted based on
184 pre-approval from the National Archive. Allowing OOXML files to be
185 used for long term storage might seem like a good idea as long as we
186 forget that there are plenty of ways for a "valid" OOXML document to
187 have content with no defined interpretation in the standard, which
188 lead to a question and an idea.
</p>
190 <p>Is there any tool to detect if a OOXML document depend on such
191 undefined behaviour? It would be useful for the National Archive (and
192 anyone else interested in verifying that a document is well defined)
193 to have such tool available when considering to approve the use of
194 OOXML. I'm aware of the
195 <a href=
"https://github.com/arlm/officeotron/">officeotron OOXML
196 validator
</a>, but do not know how complete it is nor if it will
197 report use of undefined behaviour. Are there other similar tools
198 available? Please send me an email if you know of any such tool.
</p>
203 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>.
208 <div class=
"padding"></div>
211 <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>
212 <div class=
"date">13th February
2017</div>
213 <div class=
"body"><p>A few days ago, we received the ruling from
214 <a href=
"http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html">my
215 day in court
</a>. The case in question is a challenge of the seizure
216 of the DNS domain popcorn-time.no. The ruling simply did not mention
217 most of our arguments, and seemed to take everything ØKOKRIM said at
218 face value, ignoring our demonstration and explanations. But it is
219 hard to tell for sure, as we still have not seen most of the documents
220 in the case and thus were unprepared and unable to contradict several
221 of the claims made in court by the opposition. We are considering an
222 appeal, but it is partly a question of funding, as it is costing us
223 quite a bit to pay for our lawyer. If you want to help, please
224 <a href=
"http://www.nuug.no/dns-beslag-donasjon.shtml">donate to the
225 NUUG defense fund
</a>.
</p>
227 <p>The details of the case, as far as we know it, is available in
229 <a href=
"https://www.nuug.no/news/tags/dns-domenebeslag/">the NUUG
230 blog
</a>. This also include
231 <a href=
"https://www.nuug.no/news/Avslag_etter_rettslig_h_ring_om_DNS_beslaget___vurderer_veien_videre.shtml">the
232 ruling itself
</a>.
</p>
237 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>.
242 <div class=
"padding"></div>
245 <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>
246 <div class=
"date"> 3rd February
2017</div>
247 <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>
249 <p>On Wednesday, I spent the entire day in court in Follo Tingrett
250 representing
<a href=
"https://www.nuug.no/">the member association
251 NUUG
</a>, alongside
<a href=
"https://www.efn.no/">the member
252 association EFN
</a> and
<a href=
"http://www.imc.no">the DNS registrar
253 IMC
</a>, challenging the seizure of the DNS name popcorn-time.no. It
254 was interesting to sit in a court of law for the first time in my
255 life. Our team can be seen in the picture above: attorney Ola
256 Tellesbø, EFN board member Tom Fredrik Blenning, IMC CEO Morten Emil
257 Eriksen and NUUG board member Petter Reinholdtsen.
</p>
259 <p><a href=
"http://www.domstol.no/no/Enkelt-domstol/follo-tingrett/Nar-gar-rettssaken/Beramming/?cid=AAAA1701301512081262234UJFBVEZZZZZEJBAvtale">The
260 case at hand
</a> is that the Norwegian National Authority for
261 Investigation and Prosecution of Economic and Environmental Crime (aka
262 Økokrim) decided on their own, to seize a DNS domain early last
263 year, without following
264 <a href=
"https://www.norid.no/no/regelverk/navnepolitikk/#link12">the
265 official policy of the Norwegian DNS authority
</a> which require a
266 court decision. The web site in question was a site covering Popcorn
267 Time. And Popcorn Time is the name of a technology with both legal
268 and illegal applications. Popcorn Time is a client combining
269 searching a Bittorrent directory available on the Internet with
270 downloading/distribute content via Bittorrent and playing the
271 downloaded content on screen. It can be used illegally if it is used
272 to distribute content against the will of the right holder, but it can
273 also be used legally to play a lot of content, for example the
275 <a href=
"https://archive.org/details/movies">available from the
276 Internet Archive
</a> or the collection
277 <a href=
"http://vodo.net/films/">available from Vodo
</a>. We created
278 <a href=
"magnet:?xt=urn:btih:86c1802af5a667ca56d3918aecb7d3c0f7173084&dn=PresentasjonFolloTingrett.mov&tr=udp%3A%2F%2Fpublic.popcorn-tracker.org%3A6969%2Fannounce">a
279 video demonstrating legally use of Popcorn Time
</a> and played it in
280 Court. It can of course be downloaded using Bittorrent.
</p>
282 <p>I did not quite know what to expect from a day in court. The
283 government held on to their version of the story and we held on to
284 ours, and I hope the judge is able to make sense of it all. We will
285 know in two weeks time. Unfortunately I do not have high hopes, as
286 the Government have the upper hand here with more knowledge about the
287 case, better training in handling criminal law and in general higher
288 standing in the courts than fairly unknown DNS registrar and member
289 associations. It is expensive to be right also in Norway. So far the
290 case have cost more than NOK
70 000,-. To help fund the case, NUUG
291 and EFN have asked for donations, and managed to collect around NOK
25
292 000,- so far. Given the presentation from the Government, I expect
293 the government to appeal if the case go our way. And if the case do
294 not go our way, I hope we have enough funding to appeal.
</p>
296 <p>From the other side came two people from Økokrim. On the benches,
297 appearing to be part of the group from the government were two people
298 from the Simonsen Vogt Wiik lawyer office, and three others I am not
299 quite sure who was. Økokrim had proposed to present two witnesses
300 from The Motion Picture Association, but this was rejected because
301 they did not speak Norwegian and it was a bit late to bring in a
302 translator, but perhaps the two from MPA were present anyway. All
303 seven appeared to know each other. Good to see the case is take
306 <p>If you, like me, believe the courts should be involved before a DNS
307 domain is hijacked by the government, or you believe the Popcorn Time
308 technology have a lot of useful and legal applications, I suggest you
309 too
<a href=
"http://www.nuug.no/dns-beslag-donasjon.shtml">donate to
310 the NUUG defense fund
</a>. Both Bitcoin and bank transfer are
311 available. If NUUG get more than we need for the legal action (very
312 unlikely), the rest will be spend promoting free software, open
313 standards and unix-like operating systems in Norway, so no matter what
314 happens the money will be put to good use.
</p>
316 <p>If you want to lean more about the case, I recommend you check out
317 <a href=
"https://www.nuug.no/news/tags/dns-domenebeslag/">the blog
318 posts from NUUG covering the case
</a>. They cover the legal arguments
324 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>.
329 <div class=
"padding"></div>
332 <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>
333 <div class=
"date">12th January
2017</div>
334 <div class=
"body"><p>I dag fikk jeg en skikkelig gladmelding. Bakgrunnen er at før jul
335 arrangerte Nasjonalbiblioteket
336 <a href=
"http://www.nb.no/Bibliotekutvikling/Kunnskapsorganisering/Nasjonalt-verksregister/Seminar-om-verksregister">et
337 seminar om sitt knakende gode tiltak «verksregister»
</a>. Eneste
338 måten å melde seg på dette seminaret var å sende personopplysninger
339 til Google via Google Skjemaer. Dette syntes jeg var tvilsom praksis,
340 da det bør være mulig å delta på seminarer arrangert av det offentlige
341 uten å måtte dele sine interesser, posisjon og andre
342 personopplysninger med Google. Jeg ba derfor om innsyn via
343 <a href=
"https://www.mimesbronn.no/">Mimes brønn
</a> i
344 <a href=
"https://www.mimesbronn.no/request/personopplysninger_til_google_sk">avtaler
345 og vurderinger Nasjonalbiblioteket hadde rundt dette
</a>.
346 Personopplysningsloven legger klare rammer for hva som må være på
347 plass før en kan be tredjeparter, spesielt i utlandet, behandle
348 personopplysninger på sine vegne, så det burde eksistere grundig
349 dokumentasjon før noe slikt kan bli lovlig. To jurister hos
350 Nasjonalbiblioteket mente først dette var helt i orden, og at Googles
351 standardavtale kunne brukes som databehandlingsavtale. Det syntes jeg
352 var merkelig, men har ikke hatt kapasitet til å følge opp saken før
353 for to dager siden.
</p>
355 <p>Gladnyheten i dag, som kom etter at jeg tipset Nasjonalbiblioteket
356 om at Datatilsynet underkjente Googles standardavtaler som
357 databehandleravtaler i
2011, er at Nasjonalbiblioteket har bestemt seg
358 for å avslutte bruken av Googles Skjemaer/Apps og gå i dialog med DIFI
359 for å finne bedre måter å håndtere påmeldinger i tråd med
360 personopplysningsloven. Det er fantastisk å se at av og til hjelper
361 det å spørre hva i alle dager det offentlige holder på med.
</p>
366 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>.
371 <div class=
"padding"></div>
374 <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>
375 <div class=
"date">11th January
2017</div>
376 <div class=
"body"><p>Jeg leste med interesse en nyhetssak hos
377 <a href=
"http://www.digi.no/artikler/nav-avslorer-trygdemisbruk-ved-a-spore-ip-adresser/367394">digi.no
</a>
379 <a href=
"https://www.nrk.no/buskerud/trygdesvindlere-avslores-av-utenlandske-ip-adresser-1.13313461">NRK
</a>
380 om at det ikke bare er meg, men at også NAV bedriver geolokalisering
381 av IP-adresser, og at det gjøres analyse av IP-adressene til de som
382 sendes inn meldekort for å se om meldekortet sendes inn fra
383 utenlandske IP-adresser. Politiadvokat i Drammen, Hans Lyder Haare,
384 er sitert i NRK på at «De to er jo blant annet avslørt av
385 IP-adresser. At man ser at meldekortet kommer fra utlandet.»
</p>
387 <p>Jeg synes det er fint at det blir bedre kjent at IP-adresser
388 knyttes til enkeltpersoner og at innsamlet informasjon brukes til å
389 stedsbestemme personer også av aktører her i Norge. Jeg ser det som
390 nok et argument for å bruke
391 <a href=
"https://www.torproject.org/">Tor
</a> så mye som mulig for å
392 gjøre gjøre IP-lokalisering vanskeligere, slik at en kan beskytte sin
393 privatsfære og unngå å dele sin fysiske plassering med
396 <P>Men det er en ting som bekymrer meg rundt denne nyheten. Jeg ble
397 tipset (takk #nuug) om
398 <a href=
"https://www.nav.no/no/NAV+og+samfunn/Kontakt+NAV/Teknisk+brukerstotte/Snarveier/personvernerkl%C3%A6ring-for-arbeids-og-velferdsetaten">NAVs
399 personvernerklæring
</a>, som under punktet «Personvern og statistikk»
404 <p>«Når du besøker nav.no, etterlater du deg elektroniske spor. Sporene
405 dannes fordi din nettleser automatisk sender en rekke opplysninger til
406 NAVs tjener (server-maskin) hver gang du ber om å få vist en side. Det
407 er eksempelvis opplysninger om hvilken nettleser og -versjon du
408 bruker, og din internettadresse (ip-adresse). For hver side som vises,
409 lagres følgende opplysninger:
</p>
412 <li>hvilken side du ser på
</li>
414 <li>hvilken nettleser du bruker
</li>
415 <li>din ip-adresse
</li>
418 <p>Ingen av opplysningene vil bli brukt til å identifisere
419 enkeltpersoner. NAV bruker disse opplysningene til å generere en
420 samlet statistikk som blant annet viser hvilke sider som er mest
421 populære. Statistikken er et redskap til å forbedre våre
426 <p>Jeg klarer ikke helt å se hvordan analyse av de besøkendes
427 IP-adresser for å se hvem som sender inn meldekort via web fra en
428 IP-adresse i utlandet kan gjøres uten å komme i strid med påstanden om
429 at «ingen av opplysningene vil bli brukt til å identifisere
430 enkeltpersoner». Det virker dermed for meg som at NAV bryter sine
431 egen personvernerklæring, hvilket
432 <a href=
"http://people.skolelinux.org/pere/blog/Er_lover_brutt_n_r_personvernpolicy_ikke_stemmer_med_praksis_.html">Datatilsynet
433 fortalte meg i starten av desember antagelig er brudd på
434 personopplysningsloven
</a>.
436 <p>I tillegg er personvernerklæringen ganske misvisende i og med at
437 NAVs nettsider ikke bare forsyner NAV med personopplysninger, men i
438 tillegg ber brukernes nettleser kontakte fem andre nettjenere
439 (script.hotjar.com, static.hotjar.com, vars.hotjar.com,
440 www.google-analytics.com og www.googletagmanager.com), slik at
441 personopplysninger blir gjort tilgjengelig for selskapene Hotjar og
442 Google , og alle som kan lytte på trafikken på veien (som FRA, GCHQ og
443 NSA). Jeg klarer heller ikke se hvordan slikt spredning av
444 personopplysninger kan være i tråd med kravene i
445 personopplysningloven, eller i tråd med NAVs personvernerklæring.
</p>
447 <p>Kanskje NAV bør ta en nøye titt på sin personvernerklæring? Eller
448 kanskje Datatilsynet bør gjøre det?
</p>
453 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>.
458 <div class=
"padding"></div>
461 <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?
— geolocated IP traceroute
</a></div>
462 <div class=
"date"> 9th January
2017</div>
463 <div class=
"body"><p>Did you ever wonder where the web trafic really flow to reach the
464 web servers, and who own the network equipment it is flowing through?
465 It is possible to get a glimpse of this from using traceroute, but it
466 is hard to find all the details. Many years ago, I wrote a system to
467 map the Norwegian Internet (trying to figure out if our plans for a
468 network game service would get low enough latency, and who we needed
469 to talk to about setting up game servers close to the users. Back
470 then I used traceroute output from many locations (I asked my friends
471 to run a script and send me their traceroute output) to create the
472 graph and the map. The output from traceroute typically look like
476 traceroute to www.stortinget.no (
85.88.67.10),
30 hops max,
60 byte packets
477 1 uio-gw10.uio.no (
129.240.202.1)
0.447 ms
0.486 ms
0.621 ms
478 2 uio-gw8.uio.no (
129.240.24.229)
0.467 ms
0.578 ms
0.675 ms
479 3 oslo-gw1.uninett.no (
128.39.65.17)
0.385 ms
0.373 ms
0.358 ms
480 4 te3-
1-
2.br1.fn3.as2116.net (
193.156.90.3)
1.174 ms
1.172 ms
1.153 ms
481 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
482 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
483 7 89.191.10.146 (
89.191.10.146)
0.931 ms
0.917 ms
0.955 ms
489 <p>This show the DNS names and IP addresses of (at least some of the)
490 network equipment involved in getting the data traffic from me to the
491 www.stortinget.no server, and how long it took in milliseconds for a
492 package to reach the equipment and return to me. Three packages are
493 sent, and some times the packages do not follow the same path. This
494 is shown for hop
5, where three different IP addresses replied to the
495 traceroute request.
</p>
497 <p>There are many ways to measure trace routes. Other good traceroute
498 implementations I use are traceroute (using ICMP packages) mtr (can do
499 both ICMP, UDP and TCP) and scapy (python library with ICMP, UDP, TCP
500 traceroute and a lot of other capabilities). All of them are easily
501 available in
<a href=
"https://www.debian.org/">Debian
</a>.
</p>
503 <p>This time around, I wanted to know the geographic location of
504 different route points, to visualize how visiting a web page spread
505 information about the visit to a lot of servers around the globe. The
506 background is that a web site today often will ask the browser to get
507 from many servers the parts (for example HTML, JSON, fonts,
508 JavaScript, CSS, video) required to display the content. This will
509 leak information about the visit to those controlling these servers
510 and anyone able to peek at the data traffic passing by (like your ISP,
511 the ISPs backbone provider, FRA, GCHQ, NSA and others).
</p>
513 <p>Lets pick an example, the Norwegian parliament web site
514 www.stortinget.no. It is read daily by all members of parliament and
515 their staff, as well as political journalists, activits and many other
516 citizens of Norway. A visit to the www.stortinget.no web site will
517 ask your browser to contact
8 other servers: ajax.googleapis.com,
518 insights.hotjar.com, script.hotjar.com, static.hotjar.com,
519 stats.g.doubleclick.net, www.google-analytics.com,
520 www.googletagmanager.com and www.netigate.se. I extracted this by
521 asking
<a href=
"http://phantomjs.org/">PhantomJS
</a> to visit the
522 Stortinget web page and tell me all the URLs PhantomJS downloaded to
523 render the page (in HAR format using
524 <a href=
"https://github.com/ariya/phantomjs/blob/master/examples/netsniff.js">their
525 netsniff example
</a>. I am very grateful to Gorm for showing me how
526 to do this). My goal is to visualize network traces to all IP
527 addresses behind these DNS names, do show where visitors personal
528 information is spread when visiting the page.
</p>
530 <p align=
"center"><a href=
"www.stortinget.no-geoip.kml"><img
531 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>
533 <p>When I had a look around for options, I could not find any good
534 free software tools to do this, and decided I needed my own traceroute
535 wrapper outputting KML based on locations looked up using GeoIP. KML
536 is easy to work with and easy to generate, and understood by several
537 of the GIS tools I have available. I got good help from by NUUG
538 colleague Anders Einar with this, and the result can be seen in
539 <a href=
"https://github.com/petterreinholdtsen/kmltraceroute">my
540 kmltraceroute git repository
</a>. Unfortunately, the quality of the
541 free GeoIP databases I could find (and the for-pay databases my
542 friends had access to) is not up to the task. The IP addresses of
543 central Internet infrastructure would typically be placed near the
544 controlling companies main office, and not where the router is really
545 located, as you can see from
<a href=
"www.stortinget.no-geoip.kml">the
546 KML file I created
</a> using the GeoLite City dataset from MaxMind.
548 <p align=
"center"><a href=
"http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy.svg"><img
549 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>
551 <p>I also had a look at the visual traceroute graph created by
552 <a href=
"http://www.secdev.org/projects/scapy/">the scrapy project
</a>,
553 showing IP network ownership (aka AS owner) for the IP address in
555 <a href=
"http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy.svg">The
556 graph display a lot of useful information about the traceroute in SVG
557 format
</a>, and give a good indication on who control the network
558 equipment involved, but it do not include geolocation. This graph
559 make it possible to see the information is made available at least for
560 UNINETT, Catchcom, Stortinget, Nordunet, Google, Amazon, Telia, Level
561 3 Communications and NetDNA.
</p>
563 <p align=
"center"><a href=
"https://geotraceroute.com/index.php?node=4&host=www.stortinget.no"><img
564 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>
566 <p>In the process, I came across the
567 <a href=
"https://geotraceroute.com/">web service GeoTraceroute
</a> by
568 Salim Gasmi. Its methology of combining guesses based on DNS names,
569 various location databases and finally use latecy times to rule out
570 candidate locations seemed to do a very good job of guessing correct
571 geolocation. But it could only do one trace at the time, did not have
572 a sensor in Norway and did not make the geolocations easily available
573 for postprocessing. So I contacted the developer and asked if he
574 would be willing to share the code (he refused until he had time to
575 clean it up), but he was interested in providing the geolocations in a
576 machine readable format, and willing to set up a sensor in Norway. So
577 since yesterday, it is possible to run traces from Norway in this
578 service thanks to a sensor node set up by
579 <a href=
"https://www.nuug.no/">the NUUG assosiation
</a>, and get the
580 trace in KML format for further processing.
</p>
582 <p align=
"center"><a href=
"http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-geotraceroute-kml-join.kml"><img
583 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>
585 <p>Here we can see a lot of trafic passes Sweden on its way to
586 Denmark, Germany, Holland and Ireland. Plenty of places where the
587 Snowden confirmations verified the traffic is read by various actors
588 without your best interest as their top priority.
</p>
590 <p>Combining KML files is trivial using a text editor, so I could loop
591 over all the hosts behind the urls imported by www.stortinget.no and
592 ask for the KML file from GeoTraceroute, and create a combined KML
593 file with all the traces (unfortunately only one of the IP addresses
594 behind the DNS name is traced this time. To get them all, one would
595 have to request traces using IP number instead of DNS names from
596 GeoTraceroute). That might be the next step in this project.
</p>
598 <p>Armed with these tools, I find it a lot easier to figure out where
599 the IP traffic moves and who control the boxes involved in moving it.
600 And every time the link crosses for example the Swedish border, we can
601 be sure Swedish Signal Intelligence (FRA) is listening, as GCHQ do in
602 Britain and NSA in USA and cables around the globe. (Hm, what should
603 we tell them? :) Keep that in mind if you ever send anything
604 unencrypted over the Internet.
</p>
606 <p>PS: KML files are drawn using
607 <a href=
"http://ivanrublev.me/kml/">the KML viewer from Ivan
608 Rublev
<a/>, as it was less cluttered than the local Linux application
609 Marble. There are heaps of other options too.
</p>
611 <p>As usual, if you use Bitcoin and want to show your support of my
612 activities, please send Bitcoin donations to my address
613 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
618 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>.
623 <div class=
"padding"></div>
626 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Introducing_ical_archiver_to_split_out_old_iCalendar_entries.html">Introducing ical-archiver to split out old iCalendar entries
</a></div>
627 <div class=
"date"> 4th January
2017</div>
628 <div class=
"body"><p>Do you have a large
<a href=
"https://icalendar.org/">iCalendar
</a>
629 file with lots of old entries, and would like to archive them to save
630 space and resources? At least those of us using KOrganizer know that
631 turning on and off an event set become slower and slower the more
632 entries are in the set. While working on migrating our calendars to a
633 <a href=
"http://radicale.org/">Radicale CalDAV server
</a> on our
634 <a href=
"https://freedomboxfoundation.org/">Freedombox server
</a/>, my
635 loved one wondered if I could find a way to split up the calendar file
636 she had in KOrganizer, and I set out to write a tool. I spent a few
637 days writing and polishing the system, and it is now ready for general
639 <a href=
"https://github.com/petterreinholdtsen/ical-archiver">code for
640 ical-archiver
</a> is publicly available from a git repository on
641 github. The system is written in Python and depend on
642 <a href=
"http://eventable.github.io/vobject/">the vobject Python
645 <p>To use it, locate the iCalendar file you want to operate on and
646 give it as an argument to the ical-archiver script. This will
647 generate a set of new files, one file per component type per year for
648 all components expiring more than two years in the past. The vevent,
649 vtodo and vjournal entries are handled by the script. The remaining
650 entries are stored in a 'remaining' file.
</p>
652 <p>This is what a test run can look like:
655 % ical-archiver t/
2004-
2016.ics
659 Writing t/
2004-
2016.ics-subset-vevent-
2004.ics
660 Writing t/
2004-
2016.ics-subset-vevent-
2005.ics
661 Writing t/
2004-
2016.ics-subset-vevent-
2006.ics
662 Writing t/
2004-
2016.ics-subset-vevent-
2007.ics
663 Writing t/
2004-
2016.ics-subset-vevent-
2008.ics
664 Writing t/
2004-
2016.ics-subset-vevent-
2009.ics
665 Writing t/
2004-
2016.ics-subset-vevent-
2010.ics
666 Writing t/
2004-
2016.ics-subset-vevent-
2011.ics
667 Writing t/
2004-
2016.ics-subset-vevent-
2012.ics
668 Writing t/
2004-
2016.ics-subset-vevent-
2013.ics
669 Writing t/
2004-
2016.ics-subset-vevent-
2014.ics
670 Writing t/
2004-
2016.ics-subset-vjournal-
2007.ics
671 Writing t/
2004-
2016.ics-subset-vjournal-
2011.ics
672 Writing t/
2004-
2016.ics-subset-vtodo-
2012.ics
673 Writing t/
2004-
2016.ics-remaining.ics
677 <p>As you can see, the original file is untouched and new files are
678 written with names derived from the original file. If you are happy
679 with their content, the *-remaining.ics file can replace the original
680 the the others can be archived or imported as historical calendar
683 <p>The script should probably be improved a bit. The error handling
684 when discovering broken entries is not good, and I am not sure yet if
685 it make sense to split different entry types into separate files or
686 not. The program is thus likely to change. If you find it
687 interesting, please get in touch. :)
</p>
689 <p>As usual, if you use Bitcoin and want to show your support of my
690 activities, please send Bitcoin donations to my address
691 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
696 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
701 <div class=
"padding"></div>
703 <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>
714 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
716 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
718 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
3)
</a></li>
725 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
727 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
729 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
731 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
733 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
735 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
737 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
739 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
741 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
743 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
745 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
747 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
754 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
756 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
758 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
760 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
762 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
764 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
766 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
768 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
770 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
772 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
774 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
776 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
783 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
785 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
787 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
789 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
791 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
793 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
795 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
797 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
799 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
801 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
803 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
805 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
812 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
814 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
816 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
818 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
820 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
822 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
824 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
826 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
828 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
830 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
832 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
834 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
841 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
843 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
845 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
847 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
849 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
851 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
853 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
855 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
857 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
859 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
861 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
863 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
870 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
872 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
874 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
876 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
878 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
880 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
882 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
884 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
886 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
888 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
890 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
892 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
899 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
901 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
903 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
905 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
907 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
909 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
911 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
913 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
915 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
917 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
919 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
921 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
928 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
930 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
932 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
934 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
936 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
938 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
940 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
942 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
944 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
946 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
948 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
950 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
957 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
959 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
970 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li>
972 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
974 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
976 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
978 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
9)
</a></li>
980 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
16)
</a></li>
982 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
984 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
986 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
147)
</a></li>
988 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
990 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
3)
</a></li>
992 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
10)
</a></li>
994 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
16)
</a></li>
996 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
23)
</a></li>
998 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
1000 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
344)
</a></li>
1002 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
1004 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li>
1006 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
29)
</a></li>
1008 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
1010 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
18)
</a></li>
1012 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
1014 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
1016 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
15)
</a></li>
1018 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
20)
</a></li>
1020 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
1022 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
1024 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
1026 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
1028 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
1030 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
39)
</a></li>
1032 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
9)
</a></li>
1034 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
287)
</a></li>
1036 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
187)
</a></li>
1038 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
28)
</a></li>
1040 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
1042 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
64)
</a></li>
1044 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
99)
</a></li>
1046 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li>
1048 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
1050 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
1052 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
1054 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
10)
</a></li>
1056 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
1058 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
5)
</a></li>
1060 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
1062 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
52)
</a></li>
1064 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
1066 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
1068 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
51)
</a></li>
1070 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
5)
</a></li>
1072 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
11)
</a></li>
1074 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
47)
</a></li>
1076 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
2)
</a></li>
1078 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
1080 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
8)
</a></li>
1082 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
59)
</a></li>
1084 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
1086 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
40)
</a></li>
1092 <p style=
"text-align: right">
1093 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>