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