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