1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/' xmlns:
atom=
"http://www.w3.org/2005/Atom">
4 <title>Petter Reinholdtsen
</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
7 <atom:link href=
"http://people.skolelinux.org/pere/blog/index.rss" rel=
"self" type=
"application/rss+xml" />
10 <title>Detect OOXML files with undefined behaviour?
</title>
11 <link>http://people.skolelinux.org/pere/blog/Detect_OOXML_files_with_undefined_behaviour_.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Detect_OOXML_files_with_undefined_behaviour_.html
</guid>
13 <pubDate>Tue,
21 Feb
2017 00:
20:
00 +
0100</pubDate>
14 <description><p
>I just noticed
15 <a href=
"http://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing
">the
16 new Norwegian proposal for archiving rules in the goverment
</a
> list
17 <a href=
"http://www.ecma-international.org/publications/standards/Ecma-
376.htm
">ECMA-
376</a
>
18 / ISO/IEC
29500 (aka OOXML) as valid formats to put in long term
19 storage. Luckily such files will only be accepted based on
20 pre-approval from the National Archive. Allowing OOXML files to be
21 used for long term storage might seem like a good idea as long as we
22 forget that there are plenty of ways for a
"valid
" OOXML document to
23 have content with no defined interpretation in the standard, which
24 lead to a question and an idea.
</p
>
26 <p
>Is there any tool to detect if a OOXML document depend on such
27 undefined behaviour? It would be useful for the National Archive (and
28 anyone else interested in verifying that a document is well defined)
29 to have such tool available when considering to approve the use of
30 OOXML. I
'm aware of the
31 <a href=
"https://github.com/arlm/officeotron/
">officeotron OOXML
32 validator
</a
>, but do not know how complete it is nor if it will
33 report use of undefined behaviour. Are there other similar tools
34 available? Please send me an email if you know of any such tool.
</p
>
39 <title>Ruling ignored our objections to the seizure of popcorn-time.no (#domstolkontroll)
</title>
40 <link>http://people.skolelinux.org/pere/blog/Ruling_ignored_our_objections_to_the_seizure_of_popcorn_time_no___domstolkontroll_.html
</link>
41 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Ruling_ignored_our_objections_to_the_seizure_of_popcorn_time_no___domstolkontroll_.html
</guid>
42 <pubDate>Mon,
13 Feb
2017 21:
30:
00 +
0100</pubDate>
43 <description><p
>A few days ago, we received the ruling from
44 <a href=
"http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html
">my
45 day in court
</a
>. The case in question is a challenge of the seizure
46 of the DNS domain popcorn-time.no. The ruling simply did not mention
47 most of our arguments, and seemed to take everything ØKOKRIM said at
48 face value, ignoring our demonstration and explanations. But it is
49 hard to tell for sure, as we still have not seen most of the documents
50 in the case and thus were unprepared and unable to contradict several
51 of the claims made in court by the opposition. We are considering an
52 appeal, but it is partly a question of funding, as it is costing us
53 quite a bit to pay for our lawyer. If you want to help, please
54 <a href=
"http://www.nuug.no/dns-beslag-donasjon.shtml
">donate to the
55 NUUG defense fund
</a
>.
</p
>
57 <p
>The details of the case, as far as we know it, is available in
59 <a href=
"https://www.nuug.no/news/tags/dns-domenebeslag/
">the NUUG
60 blog
</a
>. This also include
61 <a href=
"https://www.nuug.no/news/Avslag_etter_rettslig_h_ring_om_DNS_beslaget___vurderer_veien_videre.shtml
">the
62 ruling itself
</a
>.
</p
>
67 <title>A day in court challenging seizure of popcorn-time.no for #domstolkontroll
</title>
68 <link>http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html
</link>
69 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html
</guid>
70 <pubDate>Fri,
3 Feb
2017 11:
10:
00 +
0100</pubDate>
71 <description><p align=
"center
"><img width=
"70%
" src=
"http://people.skolelinux.org/pere/blog/images/
2017-
02-
01-popcorn-time-in-court.jpeg
"></p
>
73 <p
>On Wednesday, I spent the entire day in court in Follo Tingrett
74 representing
<a href=
"https://www.nuug.no/
">the member association
75 NUUG
</a
>, alongside
<a href=
"https://www.efn.no/
">the member
76 association EFN
</a
> and
<a href=
"http://www.imc.no
">the DNS registrar
77 IMC
</a
>, challenging the seizure of the DNS name popcorn-time.no. It
78 was interesting to sit in a court of law for the first time in my
79 life. Our team can be seen in the picture above: attorney Ola
80 Tellesbø, EFN board member Tom Fredrik Blenning, IMC CEO Morten Emil
81 Eriksen and NUUG board member Petter Reinholdtsen.
</p
>
83 <p
><a href=
"http://www.domstol.no/no/Enkelt-domstol/follo-tingrett/Nar-gar-rettssaken/Beramming/?cid=AAAA1701301512081262234UJFBVEZZZZZEJBAvtale
">The
84 case at hand
</a
> is that the Norwegian National Authority for
85 Investigation and Prosecution of Economic and Environmental Crime (aka
86 Økokrim) decided on their own, to seize a DNS domain early last
87 year, without following
88 <a href=
"https://www.norid.no/no/regelverk/navnepolitikk/#link12
">the
89 official policy of the Norwegian DNS authority
</a
> which require a
90 court decision. The web site in question was a site covering Popcorn
91 Time. And Popcorn Time is the name of a technology with both legal
92 and illegal applications. Popcorn Time is a client combining
93 searching a Bittorrent directory available on the Internet with
94 downloading/distribute content via Bittorrent and playing the
95 downloaded content on screen. It can be used illegally if it is used
96 to distribute content against the will of the right holder, but it can
97 also be used legally to play a lot of content, for example the
99 <a href=
"https://archive.org/details/movies
">available from the
100 Internet Archive
</a
> or the collection
101 <a href=
"http://vodo.net/films/
">available from Vodo
</a
>. We created
102 <a href=
"magnet:?xt=urn:btih:
86c1802af5a667ca56d3918aecb7d3c0f7173084
&dn=PresentasjonFolloTingrett.mov
&tr=udp%
3A%
2F%
2Fpublic.popcorn-tracker.org%
3A6969%
2Fannounce
">a
103 video demonstrating legally use of Popcorn Time
</a
> and played it in
104 Court. It can of course be downloaded using Bittorrent.
</p
>
106 <p
>I did not quite know what to expect from a day in court. The
107 government held on to their version of the story and we held on to
108 ours, and I hope the judge is able to make sense of it all. We will
109 know in two weeks time. Unfortunately I do not have high hopes, as
110 the Government have the upper hand here with more knowledge about the
111 case, better training in handling criminal law and in general higher
112 standing in the courts than fairly unknown DNS registrar and member
113 associations. It is expensive to be right also in Norway. So far the
114 case have cost more than NOK
70 000,-. To help fund the case, NUUG
115 and EFN have asked for donations, and managed to collect around NOK
25
116 000,- so far. Given the presentation from the Government, I expect
117 the government to appeal if the case go our way. And if the case do
118 not go our way, I hope we have enough funding to appeal.
</p
>
120 <p
>From the other side came two people from Økokrim. On the benches,
121 appearing to be part of the group from the government were two people
122 from the Simonsen Vogt Wiik lawyer office, and three others I am not
123 quite sure who was. Økokrim had proposed to present two witnesses
124 from The Motion Picture Association, but this was rejected because
125 they did not speak Norwegian and it was a bit late to bring in a
126 translator, but perhaps the two from MPA were present anyway. All
127 seven appeared to know each other. Good to see the case is take
130 <p
>If you, like me, believe the courts should be involved before a DNS
131 domain is hijacked by the government, or you believe the Popcorn Time
132 technology have a lot of useful and legal applications, I suggest you
133 too
<a href=
"http://www.nuug.no/dns-beslag-donasjon.shtml
">donate to
134 the NUUG defense fund
</a
>. Both Bitcoin and bank transfer are
135 available. If NUUG get more than we need for the legal action (very
136 unlikely), the rest will be spend promoting free software, open
137 standards and unix-like operating systems in Norway, so no matter what
138 happens the money will be put to good use.
</p
>
140 <p
>If you want to lean more about the case, I recommend you check out
141 <a href=
"https://www.nuug.no/news/tags/dns-domenebeslag/
">the blog
142 posts from NUUG covering the case
</a
>. They cover the legal arguments
143 on both sides.
</p
>
148 <title>Nasjonalbiblioteket avslutter sin ulovlige bruk av Google Skjemaer
</title>
149 <link>http://people.skolelinux.org/pere/blog/Nasjonalbiblioteket_avslutter_sin_ulovlige_bruk_av_Google_Skjemaer.html
</link>
150 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Nasjonalbiblioteket_avslutter_sin_ulovlige_bruk_av_Google_Skjemaer.html
</guid>
151 <pubDate>Thu,
12 Jan
2017 09:
40:
00 +
0100</pubDate>
152 <description><p
>I dag fikk jeg en skikkelig gladmelding. Bakgrunnen er at før jul
153 arrangerte Nasjonalbiblioteket
154 <a href=
"http://www.nb.no/Bibliotekutvikling/Kunnskapsorganisering/Nasjonalt-verksregister/Seminar-om-verksregister
">et
155 seminar om sitt knakende gode tiltak «verksregister»
</a
>. Eneste
156 måten å melde seg på dette seminaret var å sende personopplysninger
157 til Google via Google Skjemaer. Dette syntes jeg var tvilsom praksis,
158 da det bør være mulig å delta på seminarer arrangert av det offentlige
159 uten å måtte dele sine interesser, posisjon og andre
160 personopplysninger med Google. Jeg ba derfor om innsyn via
161 <a href=
"https://www.mimesbronn.no/
">Mimes brønn
</a
> i
162 <a href=
"https://www.mimesbronn.no/request/personopplysninger_til_google_sk
">avtaler
163 og vurderinger Nasjonalbiblioteket hadde rundt dette
</a
>.
164 Personopplysningsloven legger klare rammer for hva som må være på
165 plass før en kan be tredjeparter, spesielt i utlandet, behandle
166 personopplysninger på sine vegne, så det burde eksistere grundig
167 dokumentasjon før noe slikt kan bli lovlig. To jurister hos
168 Nasjonalbiblioteket mente først dette var helt i orden, og at Googles
169 standardavtale kunne brukes som databehandlingsavtale. Det syntes jeg
170 var merkelig, men har ikke hatt kapasitet til å følge opp saken før
171 for to dager siden.
</p
>
173 <p
>Gladnyheten i dag, som kom etter at jeg tipset Nasjonalbiblioteket
174 om at Datatilsynet underkjente Googles standardavtaler som
175 databehandleravtaler i
2011, er at Nasjonalbiblioteket har bestemt seg
176 for å avslutte bruken av Googles Skjemaer/Apps og gå i dialog med DIFI
177 for å finne bedre måter å håndtere påmeldinger i tråd med
178 personopplysningsloven. Det er fantastisk å se at av og til hjelper
179 det å spørre hva i alle dager det offentlige holder på med.
</p
>
184 <title>Bryter NAV sin egen personvernerklæring?
</title>
185 <link>http://people.skolelinux.org/pere/blog/Bryter_NAV_sin_egen_personvernerkl_ring_.html
</link>
186 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Bryter_NAV_sin_egen_personvernerkl_ring_.html
</guid>
187 <pubDate>Wed,
11 Jan
2017 06:
50:
00 +
0100</pubDate>
188 <description><p
>Jeg leste med interesse en nyhetssak hos
189 <a href=
"http://www.digi.no/artikler/nav-avslorer-trygdemisbruk-ved-a-spore-ip-adresser/
367394">digi.no
</a
>
191 <a href=
"https://www.nrk.no/buskerud/trygdesvindlere-avslores-av-utenlandske-ip-adresser-
1.13313461">NRK
</a
>
192 om at det ikke bare er meg, men at også NAV bedriver geolokalisering
193 av IP-adresser, og at det gjøres analyse av IP-adressene til de som
194 sendes inn meldekort for å se om meldekortet sendes inn fra
195 utenlandske IP-adresser. Politiadvokat i Drammen, Hans Lyder Haare,
196 er sitert i NRK på at «De to er jo blant annet avslørt av
197 IP-adresser. At man ser at meldekortet kommer fra utlandet.»
</p
>
199 <p
>Jeg synes det er fint at det blir bedre kjent at IP-adresser
200 knyttes til enkeltpersoner og at innsamlet informasjon brukes til å
201 stedsbestemme personer også av aktører her i Norge. Jeg ser det som
202 nok et argument for å bruke
203 <a href=
"https://www.torproject.org/
">Tor
</a
> så mye som mulig for å
204 gjøre gjøre IP-lokalisering vanskeligere, slik at en kan beskytte sin
205 privatsfære og unngå å dele sin fysiske plassering med
206 uvedkommede.
</p
>
208 <P
>Men det er en ting som bekymrer meg rundt denne nyheten. Jeg ble
209 tipset (takk #nuug) om
210 <a href=
"https://www.nav.no/no/NAV+og+samfunn/Kontakt+NAV/Teknisk+brukerstotte/Snarveier/personvernerkl%C3%A6ring-for-arbeids-og-velferdsetaten
">NAVs
211 personvernerklæring
</a
>, som under punktet «Personvern og statistikk»
214 <p
><blockquote
>
216 <p
>«Når du besøker nav.no, etterlater du deg elektroniske spor. Sporene
217 dannes fordi din nettleser automatisk sender en rekke opplysninger til
218 NAVs tjener (server-maskin) hver gang du ber om å få vist en side. Det
219 er eksempelvis opplysninger om hvilken nettleser og -versjon du
220 bruker, og din internettadresse (ip-adresse). For hver side som vises,
221 lagres følgende opplysninger:
</p
>
224 <li
>hvilken side du ser på
</li
>
225 <li
>dato og tid
</li
>
226 <li
>hvilken nettleser du bruker
</li
>
227 <li
>din ip-adresse
</li
>
230 <p
>Ingen av opplysningene vil bli brukt til å identifisere
231 enkeltpersoner. NAV bruker disse opplysningene til å generere en
232 samlet statistikk som blant annet viser hvilke sider som er mest
233 populære. Statistikken er et redskap til å forbedre våre
234 tjenester.»
</p
>
236 </blockquote
></p
>
238 <p
>Jeg klarer ikke helt å se hvordan analyse av de besøkendes
239 IP-adresser for å se hvem som sender inn meldekort via web fra en
240 IP-adresse i utlandet kan gjøres uten å komme i strid med påstanden om
241 at «ingen av opplysningene vil bli brukt til å identifisere
242 enkeltpersoner». Det virker dermed for meg som at NAV bryter sine
243 egen personvernerklæring, hvilket
244 <a href=
"http://people.skolelinux.org/pere/blog/Er_lover_brutt_n_r_personvernpolicy_ikke_stemmer_med_praksis_.html
">Datatilsynet
245 fortalte meg i starten av desember antagelig er brudd på
246 personopplysningsloven
</a
>.
248 <p
>I tillegg er personvernerklæringen ganske misvisende i og med at
249 NAVs nettsider ikke bare forsyner NAV med personopplysninger, men i
250 tillegg ber brukernes nettleser kontakte fem andre nettjenere
251 (script.hotjar.com, static.hotjar.com, vars.hotjar.com,
252 www.google-analytics.com og www.googletagmanager.com), slik at
253 personopplysninger blir gjort tilgjengelig for selskapene Hotjar og
254 Google , og alle som kan lytte på trafikken på veien (som FRA, GCHQ og
255 NSA). Jeg klarer heller ikke se hvordan slikt spredning av
256 personopplysninger kan være i tråd med kravene i
257 personopplysningloven, eller i tråd med NAVs personvernerklæring.
</p
>
259 <p
>Kanskje NAV bør ta en nøye titt på sin personvernerklæring? Eller
260 kanskje Datatilsynet bør gjøre det?
</p
>
265 <title>Where did that package go?
&mdash; geolocated IP traceroute
</title>
266 <link>http://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html
</link>
267 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html
</guid>
268 <pubDate>Mon,
9 Jan
2017 12:
20:
00 +
0100</pubDate>
269 <description><p
>Did you ever wonder where the web trafic really flow to reach the
270 web servers, and who own the network equipment it is flowing through?
271 It is possible to get a glimpse of this from using traceroute, but it
272 is hard to find all the details. Many years ago, I wrote a system to
273 map the Norwegian Internet (trying to figure out if our plans for a
274 network game service would get low enough latency, and who we needed
275 to talk to about setting up game servers close to the users. Back
276 then I used traceroute output from many locations (I asked my friends
277 to run a script and send me their traceroute output) to create the
278 graph and the map. The output from traceroute typically look like
282 traceroute to www.stortinget.no (
85.88.67.10),
30 hops max,
60 byte packets
283 1 uio-gw10.uio.no (
129.240.202.1)
0.447 ms
0.486 ms
0.621 ms
284 2 uio-gw8.uio.no (
129.240.24.229)
0.467 ms
0.578 ms
0.675 ms
285 3 oslo-gw1.uninett.no (
128.39.65.17)
0.385 ms
0.373 ms
0.358 ms
286 4 te3-
1-
2.br1.fn3.as2116.net (
193.156.90.3)
1.174 ms
1.172 ms
1.153 ms
287 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
288 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
289 7 89.191.10.146 (
89.191.10.146)
0.931 ms
0.917 ms
0.955 ms
293 </pre
></p
>
295 <p
>This show the DNS names and IP addresses of (at least some of the)
296 network equipment involved in getting the data traffic from me to the
297 www.stortinget.no server, and how long it took in milliseconds for a
298 package to reach the equipment and return to me. Three packages are
299 sent, and some times the packages do not follow the same path. This
300 is shown for hop
5, where three different IP addresses replied to the
301 traceroute request.
</p
>
303 <p
>There are many ways to measure trace routes. Other good traceroute
304 implementations I use are traceroute (using ICMP packages) mtr (can do
305 both ICMP, UDP and TCP) and scapy (python library with ICMP, UDP, TCP
306 traceroute and a lot of other capabilities). All of them are easily
307 available in
<a href=
"https://www.debian.org/
">Debian
</a
>.
</p
>
309 <p
>This time around, I wanted to know the geographic location of
310 different route points, to visualize how visiting a web page spread
311 information about the visit to a lot of servers around the globe. The
312 background is that a web site today often will ask the browser to get
313 from many servers the parts (for example HTML, JSON, fonts,
314 JavaScript, CSS, video) required to display the content. This will
315 leak information about the visit to those controlling these servers
316 and anyone able to peek at the data traffic passing by (like your ISP,
317 the ISPs backbone provider, FRA, GCHQ, NSA and others).
</p
>
319 <p
>Lets pick an example, the Norwegian parliament web site
320 www.stortinget.no. It is read daily by all members of parliament and
321 their staff, as well as political journalists, activits and many other
322 citizens of Norway. A visit to the www.stortinget.no web site will
323 ask your browser to contact
8 other servers: ajax.googleapis.com,
324 insights.hotjar.com, script.hotjar.com, static.hotjar.com,
325 stats.g.doubleclick.net, www.google-analytics.com,
326 www.googletagmanager.com and www.netigate.se. I extracted this by
327 asking
<a href=
"http://phantomjs.org/
">PhantomJS
</a
> to visit the
328 Stortinget web page and tell me all the URLs PhantomJS downloaded to
329 render the page (in HAR format using
330 <a href=
"https://github.com/ariya/phantomjs/blob/master/examples/netsniff.js
">their
331 netsniff example
</a
>. I am very grateful to Gorm for showing me how
332 to do this). My goal is to visualize network traces to all IP
333 addresses behind these DNS names, do show where visitors personal
334 information is spread when visiting the page.
</p
>
336 <p align=
"center
"><a href=
"www.stortinget.no-geoip.kml
"><img
337 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
>
339 <p
>When I had a look around for options, I could not find any good
340 free software tools to do this, and decided I needed my own traceroute
341 wrapper outputting KML based on locations looked up using GeoIP. KML
342 is easy to work with and easy to generate, and understood by several
343 of the GIS tools I have available. I got good help from by NUUG
344 colleague Anders Einar with this, and the result can be seen in
345 <a href=
"https://github.com/petterreinholdtsen/kmltraceroute
">my
346 kmltraceroute git repository
</a
>. Unfortunately, the quality of the
347 free GeoIP databases I could find (and the for-pay databases my
348 friends had access to) is not up to the task. The IP addresses of
349 central Internet infrastructure would typically be placed near the
350 controlling companies main office, and not where the router is really
351 located, as you can see from
<a href=
"www.stortinget.no-geoip.kml
">the
352 KML file I created
</a
> using the GeoLite City dataset from MaxMind.
354 <p align=
"center
"><a href=
"http://people.skolelinux.org/pere/blog/images/
2017-
01-
09-www.stortinget.no-scapy.svg
"><img
355 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
>
357 <p
>I also had a look at the visual traceroute graph created by
358 <a href=
"http://www.secdev.org/projects/scapy/
">the scrapy project
</a
>,
359 showing IP network ownership (aka AS owner) for the IP address in
361 <a href=
"http://people.skolelinux.org/pere/blog/images/
2017-
01-
09-www.stortinget.no-scapy.svg
">The
362 graph display a lot of useful information about the traceroute in SVG
363 format
</a
>, and give a good indication on who control the network
364 equipment involved, but it do not include geolocation. This graph
365 make it possible to see the information is made available at least for
366 UNINETT, Catchcom, Stortinget, Nordunet, Google, Amazon, Telia, Level
367 3 Communications and NetDNA.
</p
>
369 <p align=
"center
"><a href=
"https://geotraceroute.com/index.php?node=
4&host=www.stortinget.no
"><img
370 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
>
372 <p
>In the process, I came across the
373 <a href=
"https://geotraceroute.com/
">web service GeoTraceroute
</a
> by
374 Salim Gasmi. Its methology of combining guesses based on DNS names,
375 various location databases and finally use latecy times to rule out
376 candidate locations seemed to do a very good job of guessing correct
377 geolocation. But it could only do one trace at the time, did not have
378 a sensor in Norway and did not make the geolocations easily available
379 for postprocessing. So I contacted the developer and asked if he
380 would be willing to share the code (he refused until he had time to
381 clean it up), but he was interested in providing the geolocations in a
382 machine readable format, and willing to set up a sensor in Norway. So
383 since yesterday, it is possible to run traces from Norway in this
384 service thanks to a sensor node set up by
385 <a href=
"https://www.nuug.no/
">the NUUG assosiation
</a
>, and get the
386 trace in KML format for further processing.
</p
>
388 <p align=
"center
"><a href=
"http://people.skolelinux.org/pere/blog/images/
2017-
01-
09-www.stortinget.no-geotraceroute-kml-join.kml
"><img
389 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
>
391 <p
>Here we can see a lot of trafic passes Sweden on its way to
392 Denmark, Germany, Holland and Ireland. Plenty of places where the
393 Snowden confirmations verified the traffic is read by various actors
394 without your best interest as their top priority.
</p
>
396 <p
>Combining KML files is trivial using a text editor, so I could loop
397 over all the hosts behind the urls imported by www.stortinget.no and
398 ask for the KML file from GeoTraceroute, and create a combined KML
399 file with all the traces (unfortunately only one of the IP addresses
400 behind the DNS name is traced this time. To get them all, one would
401 have to request traces using IP number instead of DNS names from
402 GeoTraceroute). That might be the next step in this project.
</p
>
404 <p
>Armed with these tools, I find it a lot easier to figure out where
405 the IP traffic moves and who control the boxes involved in moving it.
406 And every time the link crosses for example the Swedish border, we can
407 be sure Swedish Signal Intelligence (FRA) is listening, as GCHQ do in
408 Britain and NSA in USA and cables around the globe. (Hm, what should
409 we tell them? :) Keep that in mind if you ever send anything
410 unencrypted over the Internet.
</p
>
412 <p
>PS: KML files are drawn using
413 <a href=
"http://ivanrublev.me/kml/
">the KML viewer from Ivan
414 Rublev
<a/
>, as it was less cluttered than the local Linux application
415 Marble. There are heaps of other options too.
</p
>
417 <p
>As usual, if you use Bitcoin and want to show your support of my
418 activities, please send Bitcoin donations to my address
419 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
424 <title>Introducing ical-archiver to split out old iCalendar entries
</title>
425 <link>http://people.skolelinux.org/pere/blog/Introducing_ical_archiver_to_split_out_old_iCalendar_entries.html
</link>
426 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Introducing_ical_archiver_to_split_out_old_iCalendar_entries.html
</guid>
427 <pubDate>Wed,
4 Jan
2017 12:
20:
00 +
0100</pubDate>
428 <description><p
>Do you have a large
<a href=
"https://icalendar.org/
">iCalendar
</a
>
429 file with lots of old entries, and would like to archive them to save
430 space and resources? At least those of us using KOrganizer know that
431 turning on and off an event set become slower and slower the more
432 entries are in the set. While working on migrating our calendars to a
433 <a href=
"http://radicale.org/
">Radicale CalDAV server
</a
> on our
434 <a href=
"https://freedomboxfoundation.org/
">Freedombox server
</a/
>, my
435 loved one wondered if I could find a way to split up the calendar file
436 she had in KOrganizer, and I set out to write a tool. I spent a few
437 days writing and polishing the system, and it is now ready for general
439 <a href=
"https://github.com/petterreinholdtsen/ical-archiver
">code for
440 ical-archiver
</a
> is publicly available from a git repository on
441 github. The system is written in Python and depend on
442 <a href=
"http://eventable.github.io/vobject/
">the vobject Python
443 module
</a
>.
</p
>
445 <p
>To use it, locate the iCalendar file you want to operate on and
446 give it as an argument to the ical-archiver script. This will
447 generate a set of new files, one file per component type per year for
448 all components expiring more than two years in the past. The vevent,
449 vtodo and vjournal entries are handled by the script. The remaining
450 entries are stored in a
'remaining
' file.
</p
>
452 <p
>This is what a test run can look like:
455 % ical-archiver t/
2004-
2016.ics
459 Writing t/
2004-
2016.ics-subset-vevent-
2004.ics
460 Writing t/
2004-
2016.ics-subset-vevent-
2005.ics
461 Writing t/
2004-
2016.ics-subset-vevent-
2006.ics
462 Writing t/
2004-
2016.ics-subset-vevent-
2007.ics
463 Writing t/
2004-
2016.ics-subset-vevent-
2008.ics
464 Writing t/
2004-
2016.ics-subset-vevent-
2009.ics
465 Writing t/
2004-
2016.ics-subset-vevent-
2010.ics
466 Writing t/
2004-
2016.ics-subset-vevent-
2011.ics
467 Writing t/
2004-
2016.ics-subset-vevent-
2012.ics
468 Writing t/
2004-
2016.ics-subset-vevent-
2013.ics
469 Writing t/
2004-
2016.ics-subset-vevent-
2014.ics
470 Writing t/
2004-
2016.ics-subset-vjournal-
2007.ics
471 Writing t/
2004-
2016.ics-subset-vjournal-
2011.ics
472 Writing t/
2004-
2016.ics-subset-vtodo-
2012.ics
473 Writing t/
2004-
2016.ics-remaining.ics
475 </pre
></p
>
477 <p
>As you can see, the original file is untouched and new files are
478 written with names derived from the original file. If you are happy
479 with their content, the *-remaining.ics file can replace the original
480 the the others can be archived or imported as historical calendar
481 collections.
</p
>
483 <p
>The script should probably be improved a bit. The error handling
484 when discovering broken entries is not good, and I am not sure yet if
485 it make sense to split different entry types into separate files or
486 not. The program is thus likely to change. If you find it
487 interesting, please get in touch. :)
</p
>
489 <p
>As usual, if you use Bitcoin and want to show your support of my
490 activities, please send Bitcoin donations to my address
491 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
496 <title>Appstream just learned how to map hardware to packages too!
</title>
497 <link>http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html
</link>
498 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html
</guid>
499 <pubDate>Fri,
23 Dec
2016 10:
30:
00 +
0100</pubDate>
500 <description><p
>I received a very nice Christmas present today. As my regular
501 readers probably know, I have been working on the
502 <a href=
"http://packages.qa.debian.org/isenkram
">the Isenkram
503 system
</a
> for many years. The goal of the Isenkram system is to make
504 it easier for users to figure out what to install to get a given piece
505 of hardware to work in Debian, and a key part of this system is a way
506 to map hardware to packages. Isenkram have its own mapping database,
507 and also uses data provided by each package using the AppStream
508 metadata format. And today,
509 <a href=
"https://tracker.debian.org/pkg/appstream
">AppStream
</a
> in
510 Debian learned to look up hardware the same way Isenkram is doing it,
511 ie using fnmatch():
</p
>
514 % appstreamcli what-provides modalias \
515 usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
516 Identifier: pymissile [generic]
518 Summary: Control original Striker USB Missile Launcher
520 % appstreamcli what-provides modalias usb:v0694p0002d0000
521 Identifier: libnxt [generic]
523 Summary: utility library for talking to the LEGO Mindstorms NXT brick
526 Identifier: t2n [generic]
528 Summary: Simple command-line tool for Lego NXT
531 Identifier: python-nxt [generic]
533 Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot
536 Identifier: nbc [generic]
538 Summary: C compiler for LEGO Mindstorms NXT bricks
541 </pre
></p
>
543 <p
>A similar query can be done using the combined AppStream and
544 Isenkram databases using the isenkram-lookup tool:
</p
>
547 % isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
549 % isenkram-lookup usb:v0694p0002d0000
555 </pre
></p
>
557 <p
>You can find modalias values relevant for your machine using
558 <tt
>cat $(find /sys/devices/ -name modalias)
</tt
>.
560 <p
>If you want to make this system a success and help Debian users
561 make the most of the hardware they have, please
562 help
<a href=
"https://wiki.debian.org/AppStream/Guidelines
">add
563 AppStream metadata for your package following the guidelines
</a
>
564 documented in the wiki. So far only
11 packages provide such
565 information, among the several hundred hardware specific packages in
566 Debian. The Isenkram database on the other hand contain
101 packages,
567 mostly related to USB dongles. Most of the packages with hardware
568 mapping in AppStream are LEGO Mindstorms related, because I have, as
569 part of my involvement in
570 <a href=
"https://wiki.debian.org/LegoDesigners
">the Debian LEGO
571 team
</a
> given priority to making sure LEGO users get proposed the
572 complete set of packages in Debian for that particular hardware. The
573 team also got a nice Christmas present today. The
574 <a href=
"https://tracker.debian.org/pkg/nxt-firmware
">nxt-firmware
575 package
</a
> made it into Debian. With this package in place, it is
576 now possible to use the LEGO Mindstorms NXT unit with only free
577 software, as the nxt-firmware package contain the source and firmware
578 binaries for the NXT brick.
</p
>
580 <p
>As usual, if you use Bitcoin and want to show your support of my
581 activities, please send Bitcoin donations to my address
582 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
587 <title>Isenkram updated with a lot more hardware-package mappings
</title>
588 <link>http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html
</link>
589 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html
</guid>
590 <pubDate>Tue,
20 Dec
2016 11:
55:
00 +
0100</pubDate>
591 <description><p
><a href=
"http://packages.qa.debian.org/isenkram
">The Isenkram
592 system
</a
> I wrote two years ago to make it easier in Debian to find
593 and install packages to get your hardware dongles to work, is still
594 going strong. It is a system to look up the hardware present on or
595 connected to the current system, and map the hardware to Debian
596 packages. It can either be done using the tools in isenkram-cli or
597 using the user space daemon in the isenkram package. The latter will
598 notify you, when inserting new hardware, about what packages to
599 install to get the dongle working. It will even provide a button to
600 click on to ask packagekit to install the packages.
</p
>
602 <p
>Here is an command line example from my Thinkpad laptop:
</p
>
621 </pre
></p
>
623 <p
>It can also list the firware package providing firmware requested
624 by the load kernel modules, which in my case is an empty list because
625 I have all the firmware my machine need:
628 % /usr/sbin/isenkram-autoinstall-firmware -l
629 info: did not find any firmware files requested by loaded kernel modules. exiting
631 </pre
></p
>
633 <p
>The last few days I had a look at several of the around
250
634 packages in Debian with udev rules. These seem like good candidates
635 to install when a given hardware dongle is inserted, and I found
636 several that should be proposed by isenkram. I have not had time to
637 check all of them, but am happy to report that now there are
97
638 packages packages mapped to hardware by Isenkram.
11 of these
639 packages provide hardware mapping using AppStream, while the rest are
640 listed in the modaliases file provided in isenkram.
</p
>
642 <p
>These are the packages with hardware mappings at the moment. The
643 <strong
>marked packages
</strong
> are also announcing their hardware
644 support using AppStream, for everyone to use:
</p
>
646 <p
>air-quality-sensor, alsa-firmware-loaders, argyll,
647 <strong
>array-info
</strong
>, avarice, avrdude, b43-fwcutter,
648 bit-babbler, bluez, bluez-firmware,
<strong
>brltty
</strong
>,
649 <strong
>broadcom-sta-dkms
</strong
>, calibre, cgminer, cheese, colord,
650 <strong
>colorhug-client
</strong
>, dahdi-firmware-nonfree, dahdi-linux,
651 dfu-util, dolphin-emu, ekeyd, ethtool, firmware-ipw2x00, fprintd,
652 fprintd-demo,
<strong
>galileo
</strong
>, gkrellm-thinkbat, gphoto2,
653 gpsbabel, gpsbabel-gui, gpsman, gpstrans, gqrx-sdr, gr-fcdproplus,
654 gr-osmosdr, gtkpod, hackrf, hdapsd, hdmi2usb-udev, hpijs-ppds, hplip,
655 ipw3945-source, ipw3945d, kde-config-tablet, kinect-audio-setup,
656 <strong
>libnxt
</strong
>, libpam-fprintd,
<strong
>lomoco
</strong
>,
657 madwimax, minidisc-utils, mkgmap, msi-keyboard, mtkbabel,
658 <strong
>nbc
</strong
>,
<strong
>nqc
</strong
>, nut-hal-drivers, ola,
659 open-vm-toolbox, open-vm-tools, openambit, pcgminer, pcmciautils,
660 pcscd, pidgin-blinklight, printer-driver-splix,
661 <strong
>pymissile
</strong
>, python-nxt, qlandkartegt,
662 qlandkartegt-garmin, rosegarden, rt2x00-source, sispmctl,
663 soapysdr-module-hackrf, solaar, squeak-plugins-scratch, sunxi-tools,
664 <strong
>t2n
</strong
>, thinkfan, thinkfinger-tools, tlp, tp-smapi-dkms,
665 tp-smapi-source, tpb, tucnak, uhd-host, usbmuxd, viking,
666 virtualbox-ose-guest-x11, w1retap, xawtv, xserver-xorg-input-vmmouse,
667 xserver-xorg-input-wacom, xserver-xorg-video-qxl,
668 xserver-xorg-video-vmware, yubikey-personalization and
669 zd1211-firmware
</p
>
671 <p
>If you know of other packages, please let me know with a wishlist
672 bug report against the isenkram-cli package, and ask the package
674 <a href=
"https://wiki.debian.org/AppStream/Guidelines
">add AppStream
675 metadata according to the guidelines
</a
> to provide the information
676 for everyone. In time, I hope to get rid of the isenkram specific
677 hardware mapping and depend exclusively on AppStream.
</p
>
679 <p
>Note, the AppStream metadata for broadcom-sta-dkms is matching too
680 much hardware, and suggest that the package with with any ethernet
681 card. See
<a href=
"http://bugs.debian.org/
838735">bug #
838735</a
> for
682 the details. I hope the maintainer find time to address it soon. In
683 the mean time I provide an override in isenkram.
</p
>
688 <title>Oolite, a life in space as vagabond and mercenary - nice free software
</title>
689 <link>http://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html
</link>
690 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html
</guid>
691 <pubDate>Sun,
11 Dec
2016 11:
40:
00 +
0100</pubDate>
692 <description><p align=
"center
"><img width=
"70%
" src=
"http://people.skolelinux.org/pere/blog/images/
2016-
12-
11-nice-oolite.png
"/
></p
>
694 <p
>In my early years, I played
695 <a href=
"http://wiki.alioth.net/index.php/Classic_Elite
">the epic game
696 Elite
</a
> on my PC. I spent many months trading and fighting in
697 space, and reached the
'elite
' fighting status before I moved on. The
698 original Elite game was available on Commodore
64 and the IBM PC
699 edition I played had a
64 KB executable. I am still impressed today
700 that the authors managed to squeeze both a
3D engine and details about
701 more than
2000 planet systems across
7 galaxies into a binary so
704 <p
>I have known about
<a href=
"http://www.oolite.org/
">the free
705 software game Oolite inspired by Elite
</a
> for a while, but did not
706 really have time to test it properly until a few days ago. It was
707 great to discover that my old knowledge about trading routes were
708 still valid. But my fighting and flying abilities were gone, so I had
709 to retrain to be able to dock on a space station. And I am still not
710 able to make much resistance when I am attacked by pirates, so I
711 bougth and mounted the most powerful laser in the rear to be able to
712 put up at least some resistance while fleeing for my life. :)
</p
>
714 <p
>When playing Elite in the late eighties, I had to discover
715 everything on my own, and I had long lists of prices seen on different
716 planets to be able to decide where to trade what. This time I had the
718 <a href=
"http://wiki.alioth.net/index.php/Main_Page
">Elite wiki
</a
>,
719 where information about each planet is easily available with common
720 price ranges and suggested trading routes. This improved my ability
721 to earn money and I have been able to earn enough to buy a lot of
722 useful equipent in a few days. I believe I originally played for
723 months before I could get a docking computer, while now I could get it
724 after less then a week.
</p
>
726 <p
>If you like science fiction and dreamed of a life as a vagabond in
727 space, you should try out Oolite. It is available for Linux, MacOSX
728 and Windows, and is included in Debian and derivatives since
2011.
</p
>
730 <p
>As usual, if you use Bitcoin and want to show your support of my
731 activities, please send Bitcoin donations to my address
732 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>