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>Where did that package go?
&mdash; geolocated IP traceroute
</title>
11 <link>http://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html
</guid>
13 <pubDate>Mon,
9 Jan
2017 12:
20:
00 +
0100</pubDate>
14 <description><p
>Did you ever wonder where the web trafic really flow to reach the
15 web servers, and who own the network equipment it is flowing through?
16 It is possible to get a glimpse of this from using traceroute, but it
17 is hard to find all the details. Many years ago, I wrote a system to
18 map the Norwegian Internet (trying to figure out if our plans for a
19 network game service would get low enough latency, and who we needed
20 to talk to about setting up game servers close to the users. Back
21 then I used traceroute output from many locations (I asked my friends
22 to run a script and send me their traceroute output) to create the
23 graph and the map. The output from traceroute typically look like
27 traceroute to www.stortinget.no (
85.88.67.10),
30 hops max,
60 byte packets
28 1 uio-gw10.uio.no (
129.240.202.1)
0.447 ms
0.486 ms
0.621 ms
29 2 uio-gw8.uio.no (
129.240.24.229)
0.467 ms
0.578 ms
0.675 ms
30 3 oslo-gw1.uninett.no (
128.39.65.17)
0.385 ms
0.373 ms
0.358 ms
31 4 te3-
1-
2.br1.fn3.as2116.net (
193.156.90.3)
1.174 ms
1.172 ms
1.153 ms
32 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
33 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
34 7 89.191.10.146 (
89.191.10.146)
0.931 ms
0.917 ms
0.955 ms
38 </pre
></p
>
40 <p
>This show the DNS names and IP addresses of (at least some of the)
41 network equipment involved in getting the data traffic from me to the
42 www.stortinget.no server, and how long it took in milliseconds for a
43 package to reach the equipment and return to me. Three packages are
44 sent, and some times the packages do not follow the same path. This
45 is shown for hop
5, where three different IP addresses replied to the
46 traceroute request.
</p
>
48 <p
>There are many ways to measure trace routes. Other good traceroute
49 implementations I use are traceroute (using ICMP packages) mtr (can do
50 both ICMP, UDP and TCP) and scapy (python library with ICMP, UDP, TCP
51 traceroute and a lot of other capabilities). All of them are easily
52 available in
<a href=
"https://www.debian.org/
">Debian
</a
>.
</p
>
54 <p
>This time around, I wanted to know the geographic location of
55 different route points, to visualize how visiting a web page spread
56 information about the visit to a lot of servers around the globe. The
57 background is that a web site today often will ask the browser to get
58 from many servers the parts (for example HTML, JSON, fonts,
59 JavaScript, CSS, video) required to display the content. This will
60 leak information about the visit to those controlling these servers
61 and anyone able to peek at the data traffic passing by (like your ISP,
62 the ISPs backbone provider, FRA, GCHQ, NSA and others).
</p
>
64 <p
>Lets pick an example, the Norwegian parliament web site
65 www.stortinget.no. It is read daily by all members of parliament and
66 their staff, as well as political journalists, activits and many other
67 citizens of Norway. A visit to the www.stortinget.no web site will
68 ask your browser to contact
8 other servers: ajax.googleapis.com,
69 insights.hotjar.com, script.hotjar.com, static.hotjar.com,
70 stats.g.doubleclick.net, www.google-analytics.com,
71 www.googletagmanager.com and www.netigate.se. I extracted this by
72 asking
<a href=
"http://phantomjs.org/
">PhantomJS
</a
> to visit the
73 Stortinget web page and tell me all the URLs PhantomJS downloaded to
74 render the page (in HAR format using
75 <a href=
"https://github.com/ariya/phantomjs/blob/master/examples/netsniff.js
">their
76 netsniff example
</a
>. I am very grateful to Gorm for showing me how
77 to do this). My goal is to visualize network traces to all IP
78 addresses behind these DNS names, do show where visitors personal
79 information is spread when visiting the page.
</p
>
81 <p align=
"center
"><a href=
"www.stortinget.no-geoip.kml
"><img
82 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
>
84 <p
>When I had a look around for options, I could not find any good
85 free software tools to do this, and decided I needed my own traceroute
86 wrapper outputting KML based on locations looked up using GeoIP. KML
87 is easy to work with and easy to generate, and understood by several
88 of the GIS tools I have available. I got good help from by NUUG
89 colleague Anders Einar with this, and the result can be seen in
90 <a href=
"https://github.com/petterreinholdtsen/kmltraceroute
">my
91 kmltraceroute git repository
</a
>. Unfortunately, the quality of the
92 free GeoIP databases I could find (and the for-pay databases my
93 friends had access to) is not up to the task. The IP addresses of
94 central Internet infrastructure would typically be placed near the
95 controlling companies main office, and not where the router is really
96 located, as you can see from
<a href=
"www.stortinget.no-geoip.kml
">the
97 KML file I created
</a
> using the GeoLite City dataset from MaxMind.
99 <p align=
"center
"><a href=
"http://people.skolelinux.org/pere/blog/images/
2017-
01-
09-www.stortinget.no-scapy.svg
"><img
100 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
>
102 <p
>I also had a look at the visual traceroute graph created by
103 <a href=
"http://www.secdev.org/projects/scapy/
">the scrapy project
</a
>,
104 showing IP network ownership (aka AS owner) for the IP address in
106 <a href=
"http://people.skolelinux.org/pere/blog/images/
2017-
01-
09-www.stortinget.no-scapy.svg
">The
107 graph display a lot of useful information about the traceroute in SVG
108 format
</a
>, and give a good indication on who control the network
109 equipment involved, but it do not include geolocation. This graph
110 make it possible to see the information is made available at least for
111 UNINETT, Catchcom, Stortinget, Nordunet, Google, Amazon, Telia, Level
112 3 Communications and NetDNA.
</p
>
114 <p align=
"center
"><a href=
"https://geotraceroute.com/index.php?node=
4&host=www.stortinget.no
"><img
115 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
>
117 <p
>In the process, I came across the
118 <a href=
"https://geotraceroute.com/
">web service GeoTraceroute
</a
> by
119 Salim Gasmi. Its methology of combining guesses based on DNS names,
120 various location databases and finally use latecy times to rule out
121 candidate locations seemed to do a very good job of guessing correct
122 geolocation. But it could only do one trace at the time, did not have
123 a sensor in Norway and did not make the geolocations easily available
124 for postprocessing. So I contacted the developer and asked if he
125 would be willing to share the code (he refused until he had time to
126 clean it up), but he was interested in providing the geolocations in a
127 machine readable format, and willing to set up a sensor in Norway. So
128 since yesterday, it is possible to run traces from Norway in this
129 service thanks to a sensor node set up by
130 <a href=
"https://www.nuug.no/
">the NUUG assosiation
</a
>, and get the
131 trace in KML format for further processing.
</p
>
133 <p align=
"center
"><a href=
"http://people.skolelinux.org/pere/blog/images/
2017-
01-
09-www.stortinget.no-geotraceroute-kml-join.kml
"><img
134 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
>
136 <p
>Here we can see a lot of trafic passes Sweden on its way to
137 Denmark, Germany, Holland and Ireland. Plenty of places where the
138 Snowden confirmations verified the traffic is read by various actors
139 without your best interest as their top priority.
</p
>
141 <p
>Combining KML files is trivial using a text editor, so I could loop
142 over all the hosts behind the urls imported by www.stortinget.no and
143 ask for the KML file from GeoTraceroute, and create a combined KML
144 file with all the traces (unfortunately only one of the IP addresses
145 behind the DNS name is traced this time. To get them all, one would
146 have to request traces using IP number instead of DNS names from
147 GeoTraceroute). That might be the next step in this project.
</p
>
149 <p
>Armed with these tools, I find it a lot easier to figure out where
150 the IP traffic moves and who control the boxes involved in moving it.
151 And every time the link crosses for example the Swedish border, we can
152 be sure Swedish Signal Intelligence (FRA) is listening, as GCHQ do in
153 Britain and NSA in USA and cables around the globe. (Hm, what should
154 we tell them? :) Keep that in mind if you ever send anything
155 unencrypted over the Internet.
</p
>
157 <p
>PS: KML files are drawn using
158 <a href=
"http://ivanrublev.me/kml/
">the KML viewer from Ivan
159 Rublev
<a/
>, as it was less cluttered than the local Linux application
160 Marble. There are heaps of other options too.
</p
>
162 <p
>As usual, if you use Bitcoin and want to show your support of my
163 activities, please send Bitcoin donations to my address
164 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
169 <title>Introducing ical-archiver to split out old iCalendar entries
</title>
170 <link>http://people.skolelinux.org/pere/blog/Introducing_ical_archiver_to_split_out_old_iCalendar_entries.html
</link>
171 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Introducing_ical_archiver_to_split_out_old_iCalendar_entries.html
</guid>
172 <pubDate>Wed,
4 Jan
2017 12:
20:
00 +
0100</pubDate>
173 <description><p
>Do you have a large
<a href=
"https://icalendar.org/
">iCalendar
</a
>
174 file with lots of old entries, and would like to archive them to save
175 space and resources? At least those of us using KOrganizer know that
176 turning on and off an event set become slower and slower the more
177 entries are in the set. While working on migrating our calendars to a
178 <a href=
"http://radicale.org/
">Radicale CalDAV server
</a
> on our
179 <a href=
"https://freedomboxfoundation.org/
">Freedombox server
</a/
>, my
180 loved one wondered if I could find a way to split up the calendar file
181 she had in KOrganizer, and I set out to write a tool. I spent a few
182 days writing and polishing the system, and it is now ready for general
184 <a href=
"https://github.com/petterreinholdtsen/ical-archiver
">code for
185 ical-archiver
</a
> is publicly available from a git repository on
186 github. The system is written in Python and depend on
187 <a href=
"http://eventable.github.io/vobject/
">the vobject Python
188 module
</a
>.
</p
>
190 <p
>To use it, locate the iCalendar file you want to operate on and
191 give it as an argument to the ical-archiver script. This will
192 generate a set of new files, one file per component type per year for
193 all components expiring more than two years in the past. The vevent,
194 vtodo and vjournal entries are handled by the script. The remaining
195 entries are stored in a
'remaining
' file.
</p
>
197 <p
>This is what a test run can look like:
200 % ical-archiver t/
2004-
2016.ics
204 Writing t/
2004-
2016.ics-subset-vevent-
2004.ics
205 Writing t/
2004-
2016.ics-subset-vevent-
2005.ics
206 Writing t/
2004-
2016.ics-subset-vevent-
2006.ics
207 Writing t/
2004-
2016.ics-subset-vevent-
2007.ics
208 Writing t/
2004-
2016.ics-subset-vevent-
2008.ics
209 Writing t/
2004-
2016.ics-subset-vevent-
2009.ics
210 Writing t/
2004-
2016.ics-subset-vevent-
2010.ics
211 Writing t/
2004-
2016.ics-subset-vevent-
2011.ics
212 Writing t/
2004-
2016.ics-subset-vevent-
2012.ics
213 Writing t/
2004-
2016.ics-subset-vevent-
2013.ics
214 Writing t/
2004-
2016.ics-subset-vevent-
2014.ics
215 Writing t/
2004-
2016.ics-subset-vjournal-
2007.ics
216 Writing t/
2004-
2016.ics-subset-vjournal-
2011.ics
217 Writing t/
2004-
2016.ics-subset-vtodo-
2012.ics
218 Writing t/
2004-
2016.ics-remaining.ics
220 </pre
></p
>
222 <p
>As you can see, the original file is untouched and new files are
223 written with names derived from the original file. If you are happy
224 with their content, the *-remaining.ics file can replace the original
225 the the others can be archived or imported as historical calendar
226 collections.
</p
>
228 <p
>The script should probably be improved a bit. The error handling
229 when discovering broken entries is not good, and I am not sure yet if
230 it make sense to split different entry types into separate files or
231 not. The program is thus likely to change. If you find it
232 interesting, please get in touch. :)
</p
>
234 <p
>As usual, if you use Bitcoin and want to show your support of my
235 activities, please send Bitcoin donations to my address
236 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
241 <title>Appstream just learned how to map hardware to packages too!
</title>
242 <link>http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html
</link>
243 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html
</guid>
244 <pubDate>Fri,
23 Dec
2016 10:
30:
00 +
0100</pubDate>
245 <description><p
>I received a very nice Christmas present today. As my regular
246 readers probably know, I have been working on the
247 <a href=
"http://packages.qa.debian.org/isenkram
">the Isenkram
248 system
</a
> for many years. The goal of the Isenkram system is to make
249 it easier for users to figure out what to install to get a given piece
250 of hardware to work in Debian, and a key part of this system is a way
251 to map hardware to packages. Isenkram have its own mapping database,
252 and also uses data provided by each package using the AppStream
253 metadata format. And today,
254 <a href=
"https://tracker.debian.org/pkg/appstream
">AppStream
</a
> in
255 Debian learned to look up hardware the same way Isenkram is doing it,
256 ie using fnmatch():
</p
>
259 % appstreamcli what-provides modalias \
260 usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
261 Identifier: pymissile [generic]
263 Summary: Control original Striker USB Missile Launcher
265 % appstreamcli what-provides modalias usb:v0694p0002d0000
266 Identifier: libnxt [generic]
268 Summary: utility library for talking to the LEGO Mindstorms NXT brick
271 Identifier: t2n [generic]
273 Summary: Simple command-line tool for Lego NXT
276 Identifier: python-nxt [generic]
278 Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot
281 Identifier: nbc [generic]
283 Summary: C compiler for LEGO Mindstorms NXT bricks
286 </pre
></p
>
288 <p
>A similar query can be done using the combined AppStream and
289 Isenkram databases using the isenkram-lookup tool:
</p
>
292 % isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
294 % isenkram-lookup usb:v0694p0002d0000
300 </pre
></p
>
302 <p
>You can find modalias values relevant for your machine using
303 <tt
>cat $(find /sys/devices/ -name modalias)
</tt
>.
305 <p
>If you want to make this system a success and help Debian users
306 make the most of the hardware they have, please
307 help
<a href=
"https://wiki.debian.org/AppStream/Guidelines
">add
308 AppStream metadata for your package following the guidelines
</a
>
309 documented in the wiki. So far only
11 packages provide such
310 information, among the several hundred hardware specific packages in
311 Debian. The Isenkram database on the other hand contain
101 packages,
312 mostly related to USB dongles. Most of the packages with hardware
313 mapping in AppStream are LEGO Mindstorms related, because I have, as
314 part of my involvement in
315 <a href=
"https://wiki.debian.org/LegoDesigners
">the Debian LEGO
316 team
</a
> given priority to making sure LEGO users get proposed the
317 complete set of packages in Debian for that particular hardware. The
318 team also got a nice Christmas present today. The
319 <a href=
"https://tracker.debian.org/pkg/nxt-firmware
">nxt-firmware
320 package
</a
> made it into Debian. With this package in place, it is
321 now possible to use the LEGO Mindstorms NXT unit with only free
322 software, as the nxt-firmware package contain the source and firmware
323 binaries for the NXT brick.
</p
>
325 <p
>As usual, if you use Bitcoin and want to show your support of my
326 activities, please send Bitcoin donations to my address
327 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
332 <title>Isenkram updated with a lot more hardware-package mappings
</title>
333 <link>http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html
</link>
334 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html
</guid>
335 <pubDate>Tue,
20 Dec
2016 11:
55:
00 +
0100</pubDate>
336 <description><p
><a href=
"http://packages.qa.debian.org/isenkram
">The Isenkram
337 system
</a
> I wrote two years ago to make it easier in Debian to find
338 and install packages to get your hardware dongles to work, is still
339 going strong. It is a system to look up the hardware present on or
340 connected to the current system, and map the hardware to Debian
341 packages. It can either be done using the tools in isenkram-cli or
342 using the user space daemon in the isenkram package. The latter will
343 notify you, when inserting new hardware, about what packages to
344 install to get the dongle working. It will even provide a button to
345 click on to ask packagekit to install the packages.
</p
>
347 <p
>Here is an command line example from my Thinkpad laptop:
</p
>
366 </pre
></p
>
368 <p
>It can also list the firware package providing firmware requested
369 by the load kernel modules, which in my case is an empty list because
370 I have all the firmware my machine need:
373 % /usr/sbin/isenkram-autoinstall-firmware -l
374 info: did not find any firmware files requested by loaded kernel modules. exiting
376 </pre
></p
>
378 <p
>The last few days I had a look at several of the around
250
379 packages in Debian with udev rules. These seem like good candidates
380 to install when a given hardware dongle is inserted, and I found
381 several that should be proposed by isenkram. I have not had time to
382 check all of them, but am happy to report that now there are
97
383 packages packages mapped to hardware by Isenkram.
11 of these
384 packages provide hardware mapping using AppStream, while the rest are
385 listed in the modaliases file provided in isenkram.
</p
>
387 <p
>These are the packages with hardware mappings at the moment. The
388 <strong
>marked packages
</strong
> are also announcing their hardware
389 support using AppStream, for everyone to use:
</p
>
391 <p
>air-quality-sensor, alsa-firmware-loaders, argyll,
392 <strong
>array-info
</strong
>, avarice, avrdude, b43-fwcutter,
393 bit-babbler, bluez, bluez-firmware,
<strong
>brltty
</strong
>,
394 <strong
>broadcom-sta-dkms
</strong
>, calibre, cgminer, cheese, colord,
395 <strong
>colorhug-client
</strong
>, dahdi-firmware-nonfree, dahdi-linux,
396 dfu-util, dolphin-emu, ekeyd, ethtool, firmware-ipw2x00, fprintd,
397 fprintd-demo,
<strong
>galileo
</strong
>, gkrellm-thinkbat, gphoto2,
398 gpsbabel, gpsbabel-gui, gpsman, gpstrans, gqrx-sdr, gr-fcdproplus,
399 gr-osmosdr, gtkpod, hackrf, hdapsd, hdmi2usb-udev, hpijs-ppds, hplip,
400 ipw3945-source, ipw3945d, kde-config-tablet, kinect-audio-setup,
401 <strong
>libnxt
</strong
>, libpam-fprintd,
<strong
>lomoco
</strong
>,
402 madwimax, minidisc-utils, mkgmap, msi-keyboard, mtkbabel,
403 <strong
>nbc
</strong
>,
<strong
>nqc
</strong
>, nut-hal-drivers, ola,
404 open-vm-toolbox, open-vm-tools, openambit, pcgminer, pcmciautils,
405 pcscd, pidgin-blinklight, printer-driver-splix,
406 <strong
>pymissile
</strong
>, python-nxt, qlandkartegt,
407 qlandkartegt-garmin, rosegarden, rt2x00-source, sispmctl,
408 soapysdr-module-hackrf, solaar, squeak-plugins-scratch, sunxi-tools,
409 <strong
>t2n
</strong
>, thinkfan, thinkfinger-tools, tlp, tp-smapi-dkms,
410 tp-smapi-source, tpb, tucnak, uhd-host, usbmuxd, viking,
411 virtualbox-ose-guest-x11, w1retap, xawtv, xserver-xorg-input-vmmouse,
412 xserver-xorg-input-wacom, xserver-xorg-video-qxl,
413 xserver-xorg-video-vmware, yubikey-personalization and
414 zd1211-firmware
</p
>
416 <p
>If you know of other packages, please let me know with a wishlist
417 bug report against the isenkram-cli package, and ask the package
419 <a href=
"https://wiki.debian.org/AppStream/Guidelines
">add AppStream
420 metadata according to the guidelines
</a
> to provide the information
421 for everyone. In time, I hope to get rid of the isenkram specific
422 hardware mapping and depend exclusively on AppStream.
</p
>
424 <p
>Note, the AppStream metadata for broadcom-sta-dkms is matching too
425 much hardware, and suggest that the package with with any ethernet
426 card. See
<a href=
"http://bugs.debian.org/
838735">bug #
838735</a
> for
427 the details. I hope the maintainer find time to address it soon. In
428 the mean time I provide an override in isenkram.
</p
>
433 <title>Oolite, a life in space as vagabond and mercenary - nice free software
</title>
434 <link>http://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html
</link>
435 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html
</guid>
436 <pubDate>Sun,
11 Dec
2016 11:
40:
00 +
0100</pubDate>
437 <description><p align=
"center
"><img width=
"70%
" src=
"http://people.skolelinux.org/pere/blog/images/
2016-
12-
11-nice-oolite.png
"/
></p
>
439 <p
>In my early years, I played
440 <a href=
"http://wiki.alioth.net/index.php/Classic_Elite
">the epic game
441 Elite
</a
> on my PC. I spent many months trading and fighting in
442 space, and reached the
'elite
' fighting status before I moved on. The
443 original Elite game was available on Commodore
64 and the IBM PC
444 edition I played had a
64 KB executable. I am still impressed today
445 that the authors managed to squeeze both a
3D engine and details about
446 more than
2000 planet systems across
7 galaxies into a binary so
449 <p
>I have known about
<a href=
"http://www.oolite.org/
">the free
450 software game Oolite inspired by Elite
</a
> for a while, but did not
451 really have time to test it properly until a few days ago. It was
452 great to discover that my old knowledge about trading routes were
453 still valid. But my fighting and flying abilities were gone, so I had
454 to retrain to be able to dock on a space station. And I am still not
455 able to make much resistance when I am attacked by pirates, so I
456 bougth and mounted the most powerful laser in the rear to be able to
457 put up at least some resistance while fleeing for my life. :)
</p
>
459 <p
>When playing Elite in the late eighties, I had to discover
460 everything on my own, and I had long lists of prices seen on different
461 planets to be able to decide where to trade what. This time I had the
463 <a href=
"http://wiki.alioth.net/index.php/Main_Page
">Elite wiki
</a
>,
464 where information about each planet is easily available with common
465 price ranges and suggested trading routes. This improved my ability
466 to earn money and I have been able to earn enough to buy a lot of
467 useful equipent in a few days. I believe I originally played for
468 months before I could get a docking computer, while now I could get it
469 after less then a week.
</p
>
471 <p
>If you like science fiction and dreamed of a life as a vagabond in
472 space, you should try out Oolite. It is available for Linux, MacOSX
473 and Windows, and is included in Debian and derivatives since
2011.
</p
>
475 <p
>As usual, if you use Bitcoin and want to show your support of my
476 activities, please send Bitcoin donations to my address
477 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
482 <title>Er lover brutt når personvernpolicy ikke stemmer med praksis?
</title>
483 <link>http://people.skolelinux.org/pere/blog/Er_lover_brutt_n_r_personvernpolicy_ikke_stemmer_med_praksis_.html
</link>
484 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Er_lover_brutt_n_r_personvernpolicy_ikke_stemmer_med_praksis_.html
</guid>
485 <pubDate>Fri,
9 Dec
2016 14:
20:
00 +
0100</pubDate>
486 <description><p
>Når jeg bruker
<a href=
"https://www.ghostery.com/
">Ghostery
</a
>,
487 <a href=
"https://www.ublock.org/
">uBlock
</a
>,
488 <a href=
"https://github.com/gorhill/uMatrix
">uMatrix
</a
>,
489 <a href=
"https://github.com/andryou/scriptsafe
">ScriptSafe
</a
> og andre
490 nettleserverktøy (de passer på hverandre) for å holde styr på hvordan
491 nettsteder sprer informasjon om hvilke nettsider jeg leser blir det
492 veldig synlig hvilke nettsteder som er satt opp til å utveksle
493 informasjon med utlandet og tredjeparter. For en stund siden la jeg
494 merke til at det virker å være avvik mellom personvernpolicy og
495 praksis endel steder, og tok tak i et par konkrete eksempler og sendte
496 spørsmål til Datatilsynets kontaktpunkt for veiledning:
</p
>
500 <p
>«Jeg har et spørsmål når det gjelder bruken av Google Analytics og
501 personvernpolicy. Er det lovlig for et nettsted å si en ting i
502 personvernpolicy og gjøre noe annet i virkeligheten? Spesifikt lurer
503 jeg på hvilket lov som er brutt hvis nettstedet i HTML-koden til
504 nettsidene ber lesernes nettleser om å kontakte Google Analytics og
505 slik overleverer sitt IP-nummer til Google, samtidig som
506 personvernpolicien hevder at Google Analytics kun får anonymiserte
507 data. Google får jo i slike tilfeller alltid overført fullt
508 IP-nummer, og nettstedet kan i URL-en som brukes be Google om å ikke
509 lagre deler av IP-adressen (omtalt som anonymisering av Google
512 <p
>Et eksempel er Nettavisen digi.no.
513 <a href=
"http://www.digi.no/artikler/personvernpolicy/
208772">Deres
514 personvernpolicy
</a
> sier følgende:
</p
>
517 «Tredjeparter (som Google Analytics, Cxense, TNS Gallup) får kun
521 <p
>Men når en leser artikler der så blir maskiner i Norge, USA,
522 Tyskland, Danmark, Storbritannia, Irland og Nederland varslet om
523 besøket og får dermed overlevert full IP-adresse, som datatilsynet har
524 uttalt er en personopplysning. Nettsidene er satt opp til be
525 nettleseren å kontakte
29 ulike maskiner rundt om i verden. Fire av
526 dem er er under DNS-domenene digi.no og tek.no som tilhører samme
527 eier. I tillegg ber nettsidene ikke
528 <a href=
"https://support.google.com/analytics/answer/
2763052?hl=no
">Google
529 Analytics om å fjerne siste oktett i IP-adressen ved lagring
</a
>,
530 dvs. flagget «aip=
1» er ikke satt i URL-en som brukes for å kontakte
531 Google Analytics.
</p
>
533 <p
>Tilsvarende er også tilfelle for andre nettsteder, så digi.no er
534 ikke spesiell i så måte (dagbladet.no er et annet eksempel, det
535 gjelder flere).»
</p
>
539 <p
>Etter noen dager kunne juridisk rådgiver Elisabeth Krauss Amundsen
540 hos Datatilsynet fortelle det følgende:
</p
>
543 «Hei, og takk for din e-post.
</p
>
545 <p
>Vår svartjeneste gir deg kortfattet rådgivning. Vi vil derfor ikke konkludere
546 i saken din, men gi deg råd og veiledning.
</p
>
548 <p
>Ut ifra det du skriver er det antakelig flere bestemmelser i
549 personopplysingsloven som brytes dersom virksomhetens personvernpolicy
550 sier noe annet om behandlingen av personopplysninger enn det som
551 faktisk skjer. Antakelig vil det være et brudd på informasjonsplikten
552 i personopplysingsloven §§
18 og
553 19&lt;
<a href=
"https://lovdata.no/dokument/NL/lov/
2000-
04-
14-
31/KAPITTEL_2#§
18">https://lovdata.no/dokument/NL/lov/
2000-
04-
14-
31/KAPITTEL_2#§
18</a
>&gt;
554 dersom det gis feilinformasjon om at opplysningene utleveres. Det kan
555 også stilles spørsmål om grunnkravene for behandling av
556 personopplysninger vil være oppfylt ved en utlevering av
557 personopplysninger til en tredjepart, dersom dette ikke er inkludert
558 behandlingsgrunnlaget og formålet med behandlingen, se
559 personopplysingsloven §
11, jf.
560 8.
&lt;
<a href=
"https://lovdata.no/dokument/NL/lov/
2000-
04-
14-
31/KAPITTEL_2#§
11">https://lovdata.no/dokument/NL/lov/
2000-
04-
14-
31/KAPITTEL_2#§
11</a
>&gt;»
563 <!-- Her er full URL som digi ba nettleserne bruke for å melde fra til
565 https://www.google-analytics.com/r/collect?v=
1&_v=j47
&a=
666919305&t=pageview
&_s=
1&dl=http%
3A%
2F%
2Fwww.digi.no%
2F
&ul=nb-no
&de=UTF-
8&dt=Digi.no%
20-%
20IT-bransjens%
20nettavis
&sd=
32-bit
&sr=
1024x768
&vp=
400x300
&je=
0&_u=AEAAAMQAK~
&jid=
592247632&cid=
1641512195.1480086725&tid=UA-
54426-
28&_r=
1&z=
328520576
568 <p
>Oppdatert med kunnskap om lover og regler tok jeg så kontakt med
569 Dagbladet på epostadressen de annonserer på sine
570 personvernpolicysider:
<p
>
574 <p
>«Jeg lurte litt i forbindelse med en bloggpost jeg skriver på, og lurer
575 på om dere hjelpe meg med å finne ut av følgende. Først litt
576 bakgrunnsinformasjon.
577 <a href=
"http://www.dagbladet.no/
2009/
08/
18/nyheter/avtale/brukeravtale/plikter/
7706966/
">Dagbladets
578 personvernpolicy
</a
> forteller følgende:
</p
>
581 <p
>«
3. Automatisk innhentet informasjon
</p
>
583 <p
>For eksempel IP-adressen din (ikke synlig for andre) samt
584 statistisk, automatisk produsert informasjon, som når du sist var
585 innlogget på tjenesten. Dette er informasjon vi samler for å gjøre
586 tjenesten best mulig.»
</p
>
591 <p
>Men når en besøker nettsidene til Dagbladet,
592 f.eks.
<a href=
"http://dagbladet.no/
">forsiden
</a
>, så er nettsidene
593 satt opp til å kontakte mange tredjeparter som slik får tilgang til
594 både fullt IP-nummer og i de fleste tilfeller nøyaktig hvilken
595 artikkel en leser hos Dagbladet ved at Referer-feltet fylles og legges
596 ved. Dette gjelder Google Analytics, Cxense, INS Gallup, Doubleclick
597 med flere. Totalt ber forsiden nettleseren om å koble seg opp til
60
598 nettsteder med
149 separate oppkoblinger. I hver av disse
599 oppkoblingene oversendes IP-adressen til leseren, og i følge
601 «
<a href=
"https://www.datatilsynet.no/Teknologi/Internett/Webanalyse/
">en
602 IP-adresse definert som en personopplysning fordi den kan spores
603 tilbake til en bestemt maskinvare og dermed til en enkeltperson
</a
>».
</p
>
605 <p
>Datatilsynet har fortalt meg at i følge personopplysingsloven §§
18
606 og
19 skal informasjonen som gis om bruk og utlevering av
607 personopplysninger være korrekt. De forteller videre at det er endel
608 grunnkrav som må være oppfylt ved utlevering av personopplysninger til
609 tredjeparter, nærmere forklart i personopplysingsloven §
11 som
610 henviser til §
8.
</p
>
612 <p
>Mitt spørsmål er dermed som følger:
</p
>
616 <p
>Hva mener dere i personpolicyen når dere skriver at IP-adressen ikke
617 er synlig for andre?»
</p
>
623 <p
>Etter en uke har jeg fortsatt ikke fått svar fra Dagbladet på mitt
624 spørsmål, så neste steg er antagelig å høre om Datatilsynet er
625 interessert i å se på saken.
</p
>
627 <p
>Men Dagbladet er ikke det eneste nettstedet som forteller at de
628 ikke deler personopplysninger med andre mens observerbar praksis
629 dokumenterer noe annet. Jeg sendte derfor også et spørsmål til
630 kontaktadressen til nettavisen Digi.no, og der var responsen mye
635 <p
>«Jeg lurte på en ting i forbindelse med en bloggpost jeg skriver på,
636 og lurer på om dere hjelpe meg. Først litt bakgrunnsinformasjon.
637 <a href=
"http://www.digi.no/artikler/personvernpolicy/
208772">Digi.nos
638 personvernpolicy
</a
> forteller følgende:
</p
>
641 «All personlig informasjon blir lagret i våre systemer, disse er ikke
642 tilgjengelig for tredjeparter, og blir ikke lagret i
643 informasjonskapsler. Tredjeparter (som Google Analytics, Cxense,
644 TNS Gallup) får kun anonymiserte data.»
647 <p
>Men når en besøker nettsidene til nettavisen, f.eks.
648 <a href=
"http://www.digi.no/
">forsiden
</a
>, så er nettsidene satt opp
649 til å kontakte mange tredjeparter som slik får tilgang til både fullt
650 IP-nummer og i de fleste tilfeller nøyaktig hvilken artikkel en leser
651 hos Digi.no ved at Referer-feltet fylles og legges ved. Dette gjelder
652 både Google Analytics, Cxense blant og INS Gallum. Totalt ber
653 forsiden nettleseren om å koble seg opp til
29 nettsteder med
44
654 separate oppkoblinger. I hver av disse oppkoblingene sendes
655 IP-adressen til leseren over, og i følge Datatilsynet er
656 «
<a href=
"https://www.datatilsynet.no/Teknologi/Internett/Webanalyse/
">en
657 IP-adresse definert som en personopplysning fordi den kan spores
658 tilbake til en bestemt maskinvare og dermed til en enkeltperson
</a
>».
659 Det jeg ser virker ikke å være i tråd med personvernpolicyen.
</p
>
661 <p
>Når en besøker Digi.nos nettsider gjøres det to oppkoblinger til
662 Google Analytics, en for å hente ned programkoden som samler
663 informasjon fra nettleseren og sender over til Google (analytics.js),
664 og en for å overføre det som ble samlet inn. I den siste oppkoblingen
665 er det mulig å be Google om å ikke ta vare på hele IP-adressen, men i
666 stedet fjerne siste oktett i IP-adressen. Dette omtales ofte litt
667 misvisende for «anonymisert» bruk av Google Analytics, i og med at
668 fullt IP-nummer blir sendt til Google og det er opp til Google om de
669 vil bry seg om ønsket fra de som har laget nettsiden. Ut fra det som
670 står i personvernpolicyen ville jeg tro at Digi.no ba google om å ikke
671 ta vare på hele IP-nummeret, men når en ser på den andre oppkoblingen
672 kan en se at flagget «aio=
1» ikke er satt, og at Digi.no ikke ber
673 Google om å la være å lagre hele IP-adressen. Dette virker heller
674 ikke å være i tråd med personvernpolicyen.
</p
>
676 <p
>Datatilsynet har fortalt meg at i følge personopplysingsloven §§
18
677 og
19 skal informasjonen som gis om bruk og utlevering av
678 personopplysninger være korrekt. De forteller videre at det er endel
679 grunnkrav som må være oppfylt ved utlevering av personopplysninger til
680 tredjeparter, nærmere forklart i personopplysingsloven §
11 som
681 henviser til §
8. Det er uklart for meg om disse kravene er oppfylt
682 når IP-adresse og informasjon om hvilke websider som besøkes til
683 tredjeparter.
</p
>
685 <p
>Mitt spørsmål er dermed som følger:
</p
>
689 <p
>Hva mener dere i personpolicyen når dere skriver at «Tredjeparter
690 får kun anonymiserte data»?»
</p
>
696 <p
>Redaksjonssjef Kurt Lekanger svarte samme dag og forklarte at han
697 måtte komme tilbake til meg når han hadde med utviklingsavdelingen.
698 Seks dager senere lurte jeg på hva han fant ut, og etter noen timer
699 fikk jeg så følgende svar fra direktøren for teknologi og
700 forretningsutvikling Øystein W. Høie i Teknisk Ukeblad Media:
</p
>
704 <p
>«Takk for godt tips! Det er helt riktig at IP og referrer-adresse
705 potensielt kan leses ut av tredjepart.
</p
>
707 <p
>Retningslinjene våre har vært uklare på dette tidspunktet, og vi
708 oppdaterer nå disse så dette kommer tydeligere frem. Ny tekst blir som
712 <p
>3. Dette bruker vi ikke informasjonen til Informasjon du oppgir til
713 oss blir lagret i våre systemer, er ikke tilgjengelig for
714 tredjeparter, og blir ikke lagret i informasjonskapsler.
715 Informasjonen vil kun benyttes til å gi deg som bruker mer relevant
716 informasjon og bedre tjenester.
</p
>
718 <p
>Tredjeparter (som Google Analytics, Cxense, TNS Gallup) vil kunne
719 hente ut IP-adresse og data basert på dine surfemønstre. TU Media AS
720 er pliktig å påse at disse tredjepartene behandler data i tråd med
721 norsk regelverk.
</p
>
724 <p
>Ellers har vi nå aktivert anonymisering i Google Analytics
725 (aip=
1). Kan også nevne at Tek.no-brukere som har kjøpt Tek Ekstra har
726 mulighet til å skru av all tracking i kontrollpanelet sitt. Dette er
727 noe vi vurderer å rulle ut på alle sidene i vårt nettverk.»
</p
>
731 <p
>Det var nyttig å vite at vi er enige om at formuleringen i
732 personvernpolicyen er misvisende. Derimot var det nedslående at i
733 stedet for å endre praksis for å følge det personvernpolicyen sier om
734 å ikke dele personinformasjon med tredjeparter, så velger Digi.no å
735 fortsette praksis og i stedet endre personvernpolicyen slik at den å
736 dokumentere dagens praksis med spredning av personopplysninger.
</p
>
738 <p
>Med bakgrunn i at Digi.no ikke har fulgt sin egen personvernpolicy
739 spurte jeg hvordan Digi.no kom til å håndtere endringen:
</p
>
743 <p
>«Tusen takk for beskjed om endring av personvernpolicy for digi.no.
744 Gjelder endringen også andre nettsteder?
</p
>
746 <p
>Vil tidligere håndteringen av IP-adresser og lesemønster i strid
747 med dokumentert personvernpolicy bli varslet til Datatilsynet i tråd
749 <a href=
"https://lovdata.no/forskrift/
2000-
12-
15-
1265/§
2-
6">personopplysningsforskriften
750 §
2-
6</a
>? Vil leserne bli varslet på en prominent og synlig måte om
751 at lesernes IP-adresser og lesemønster har vært utlevert til
752 tredjeparter i stid med tidligere formulering om at tredjeparter kun
753 får anonymiserte data, og at utleveringen fortsetter etter at
754 personvernpolicy er endret for å dokumentere praksis?
</p
>
756 <p
>Appropos ekstra tilbud til betalende lesere, tilbyr dere en
757 mulighet for å betale for å lese som ikke innebærer at en må gjøre det
758 mulig å la sine lesevaner blir registeret av tek.no? Betaler gjerne
759 for å lese nyheter, men ikke med en bit av privatlivet mitt. :)»
</p
>
762 <p
>Jeg fikk raskt svar tilbake fra direktøren Høie:
</p
>
765 <p
>«Tydeliggjøringen i personvernpolicy gjelder alle våre nettsteder.
</p
>
767 <p
>Vi kommer til å ta en runde og gå over vår policy i forbindelse med
768 dette, og vil i de tilfeller det er påkrevd selvsagt være tydelig
769 overfor brukere og tilsyn. Vil samtidig understreke at vår bruk av
770 tredjeparts analyseverktøy og annonsetracking er helt på linje med det
771 som er normalt for norske kommersielle nettsteder.
</p
>
773 <p
>Angående spørsmålet ditt:
774 <br
>Du vil fortsatt vises i våre interne systemer om du blir Ekstra-bruker,
775 vi skrur bare av tredjeparts tracking.»
</p
>
778 <p
>Det høres jo ikke bra ut at det er normalt for norske kommersielle
779 nettsteder å utlevere lesernes personopplysninger til utlandet. Men
780 som en kan lese fra
<a href=
"https://www.nrk.no/norge/kommunen-deler-informasjon-om-deg-med-facebook-og-google-
1.13248945">gårdagens oppslag fra NRK
</a
> gjelder
781 det også norske kommuner og andre offentlige aktører, og
782 <a href=
"http://people.skolelinux.org/pere/blog/Snurpenot_overv_kning_av_sensitiv_personinformasjon.html
">jeg
783 skrev om omfanget av problemet i fjor
</a
>. Det er uansett ikke en
784 praksis jeg tror er i tråd med kravene i personopplysningsloven, og
785 heller ikke en praksis jeg som leser synes er greit. Jeg manglet dog
786 fortsatt svar på om Digi.no kom til å varsle lesere og Datatilsynet om
787 avviket mellom praksis og policy, så jeg forsøkte meg med en ny epost
788 i går kveld:
</p
>
792 <p
>«Kan du fortelle meg om dere anser det å være påkrevd å varsle
793 tilsyn og brukere nå, når dere har oppdaget at praksis ikke har vært i
794 tråd med personvernpolicy?»
</p
>
798 <p
>Det spørsmålet vet jeg så langt ikke svaret på, men antagelig kan
799 Datatilsynet svare på om det er påkrevd å varsle tilsyn og lesere om
800 dette. Jeg planlegger å oppdatere denne bloggposten med svaret når
801 det kommer.
</p
>
803 <p
>Jeg synes jo det er spesielt ille når barn får sine
804 personopplysninger spredt til utlandet, noe jeg
805 <a href=
"https://www.mimesbronn.no/request/opplysninger_samlet_inn_av_mobil
">tok
806 opp med NRK i fjor
</a
>. De to eksemplene jeg nevner er som dere
807 forstår ikke unike, men jeg har ikke full oversikt over hvor mange
808 nettsteder dette gjelder. Jeg har ikke kapasitet til eller glede av å
809 lese alle personvernpolicyer i landet. Kanskje mine lesere kan sende
810 meg tips på epost om andre nettsteder med avvik mellom policy og
811 praksis? Hvis vi alle går sammen og kontakter de ansvarlige, kanskje
812 noen til slutt endrer praksis og slutter å dele lesernes
813 personopplysninger med tredjeparter?
</p
>
815 <p
>Apropos bruken av Google Analytics kan jeg forresten nevne at
816 Universitetet i Oslo også har tatt i bruk Google Analytics, men der
817 lagres programkoden som overføres til nettleserne lokalt og deler av
818 IP-adressen fjernes lokalt på universitetet via en mellomtjener/proxy
819 (
<a href=
"https://github.com/unioslo/ipproxy
">tilgjengelig via
820 github
</a
>) før informasjon sendes over til Google Analytics. Dermed
821 er det mulig for ansvarlige for nettstedet å
<em
>vite
</em
> at Google
822 ikke har tilgang til komplett IP-adresse. Årsaken til at denne
823 metoden brukes er at juristene ved universitetet har konkludert med at
824 det er eneste måten en kunne vurdere å bruke Google Analytics uten å
825 bryte loven. Risikoen for gjenidentifisering og
826 <a href=
"https://panopticlick.eff.org/
">identifisering ved hjelp av
827 nettleserinformasjon
</a
> er fortsatt tilstede, så det er ingen optimal
828 løsning, men det er bedre enn å håpe at f.eks. Google og alle som
829 lytter på veien skal prioritere norsk lov over sin lokale
830 lovgivning.
</p
>
832 <p
>Oppdatering
2016-
12-
09: Fikk svar fra direktøren Høie på mitt
833 spørsmål litt etter at jeg hadde publisert denne artikkelen:
</p
>
837 <p
>Vi kommer til å annonsere en oppdatert policy, og skal undersøke om
838 vi er pliktig å varsle Datatilsynet.
</p
>
840 <p
>Det vi uansett ønsker å gjøre først, er å gå gjennom hele policy
841 sammen med utviklerne og advokat, så vi er sikre på at vi går frem
842 riktig og at det ikke er flere tvetydigheter som skjuler seg i
845 <p
>Har du andre idéer eller konkrete innspill til hva som kan gjøre
846 policy tydeligere, tar vi gjerne imot det. Dette er et felt vi ønsker
847 å være ryddige på.
</p
>
851 <p
>Vi får se om de liker mine innspill, som i grunnen er å ikke pusse
852 på personvernpolicyen men i stedet slutte å spre lesernes
853 personopplysninger til eksterne aktører.
</p
>
858 <title>Fri programvare-tilbakeblikk for
2015 og
2016</title>
859 <link>http://people.skolelinux.org/pere/blog/Fri_programvare_tilbakeblikk_for_2015_og_2016.html
</link>
860 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Fri_programvare_tilbakeblikk_for_2015_og_2016.html
</guid>
861 <pubDate>Thu,
1 Dec
2016 15:
30:
00 +
0100</pubDate>
862 <description><p
>Jeg er mer en gjennomsnittlig interessert i fri programvare og fri
863 kultur, og nå når et nytt år nærmer seg slutten tenkte jeg det var på
864 tide med et lite tilbakeblikk på årene som var. Jeg har vært
865 involvert i flere prosjekter og løsninger, og her er en liten
866 gjennomgang av de jeg kom på i farten.
</p
>
868 <p
>Den største nyheten for meg fra
2015 var at jeg endelig, etter
2.5
869 år med flekkvis innsats, fikk gitt ut en bokmålsutgave av den
870 klassiske boken
<a href=
"http://free-culture.cc/
">Free Culture
</a
> av
871 Lawrence Lessig. Boken forteller om bakgrunnen for fri
872 kultur-bevegelsen, beskriver problemer med dagens opphavsrett og
873 skisserer hvordan vi kan bøte på problemene både individuelt og som
874 samfunn. Jeg anbefaler alle å lese denne boken, som jeg med god hjelp
875 har gitt ut på engelsk, bokmål og fransk. Papirboken kan bestilles i
876 nettbokhandler i USA som Lulu
877 (
<a href=
"http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-
22406445.html
">Norsk
</a
>,
878 <a href=
"http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-
22645082.html
">Fransk
</a
>,
879 <a href=
"http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-
22402863.html
">Engelsk
</a
>),
880 Amazon og Barnes
& Noble takket være selvpubliseringsløsningen
882 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig
">ebokutgave
</a
>
883 samt alt som trengs for å oppdatere boken er tilgjengelig fra
886 <p
>Et annet prosjekt jeg er veldig fornøyd med å ha deltatt i
887 lanseringen av, er
<a href=
"https://www.mimesbronn.no/
">Mimes
888 brønn
</a
>, NUUG-tjenesten for å gjøre det enklere å be om innsyn i
889 offentlig forvaltning, og spare offentlig forvaltning for å måtte
890 besvare de samme innsynshenvendelsene gang på gang. Etter bare noen
892 <a href=
"https://www.mimesbronn.no/request/forhandlinger_om_bv
">en
893 henvendelse via tjenesten
</a
> til
894 <a href=
"https://www.stortinget.no/no/Saker-og-publikasjoner/Sporsmal/Skriftlige-sporsmal-og-svar/Skriftlig-sporsmal/?qid=
65047">spørsmål
895 fra Stortinget til regjeringen
</a
>. I dette og andre tilfeller har
896 NUUG finansiert utvidet klagesak for henvendelser som vi som står bak
897 tjenesten synes fortjener ekstra oppmerksomhet. Så langt har en liten
898 håndfull slike klagesaker blitt sendt til Sivilombudsmannen, der vi
899 fikk medhold i en saken (om .bv omtalt over) og avslag i en annen
900 (oppsummering fra møte i Pentagon om Internet-styring og nasjonal
901 sikkerhet).
</p
>
903 <p
>Etter at jeg i lengre tid har manglet GPG-nøkkel registrert i
904 Debian (den opprinnelige ble fjernet på grunn av for kort
905 nøkkellengde) fikk jeg endelig fikset ny nøkkel og Debiantilgang i
906 slutten av
2015. Aktiviteten i Debian har ikke vært spesielt
907 skadelidende mens jeg manglet nøkkel (kjenner flere som er villig til
908 å laste opp på mine vegne), men da nøkkelen var på plass steg
909 motivasjonen og jeg har blant anne brukt tiden på å bidra til at
910 pakker relatert til lyd- og videokodekene fra
911 <a href=
"http://www.xiph.org
">Xiph.org-stiftelsen
</a
> (dvs. Ogg,
912 Vorbis, Theora, Opus, etc) er i bedre stand i Debian, og har bidratt
913 til å få liv i gruppen som vedlikeholder Xiph-relaterte slik at dette
914 forhåpentligvis skal fungere bedre også i fremtiden. Jeg har jobbet
915 litt mer systemene Isenkram og appstream, som gjør det enklere å
916 håndtere ulike dongler i Debian ved at systemet selv vet og foreslår
917 hvilke pakker som bør installeres for å få dongler til å fungere. Har
918 også fått inn eller hjulpet til å få inn endel nye programpakker,
920 <a href=
"https://tracker.debian.org/pkg/sonic-pi
">Sonic Pi
</A
>,
921 <a href=
"https://tracker.debian.org/pkg/openalpr
">OpenALPR
</A
> og
922 <a href=
"https://tracker.debian.org/pkg/coz-profiler
">Coz
</A
>.
925 <p
>Et Debian-relatert prosjekt jeg følger er
926 <a href=
"https://www.freedombox.org/
">FreedomBox
</a
>, som tar sikte på
927 å tilby en løsning (både programvare og maskinvare) der hvem som helst
928 kan beholde sin private informasjon hjemme hos seg selv i stedet for å
929 dele den med skytjenesteleverandører som Google, Facebook, Twitter,
930 Appear.in med flere. I tillegg til generell deltagelse i utvikling av
931 prosjektet har jeg jobbet med å få alle Debian-pakkene som brukes av
932 Freedombox
"reproduserbare
" i Debian, dvs. gjøre det mulig å sjekke at
933 pakken som brukes i Freedombox ikke inneholder annet enn det som
934 kommer fra kildekodepakken i Debian og gir et forutsigbart resultat
935 ved bygging. Har også fulgt opp endel feilrapporter relatert til
936 Freedombox-spesifikke pakker (som Plinth og freedombox-setup) og
937 pakker som utgjør tjenestene i en Freedombox.
</p
>
939 <p
>I samarbeid med Skolelinuxprosjektet og foreningen NUUG har jeg
940 vært med å arrangere flere utviklersamlinger både i
2015 og
2016. Der
941 har oversettere og utviklere blitt lært opp og arbeidet med blant
942 annet dokumentasjon, feilfiksing og utvikling av Skolelinux og
943 Frikanalen. Relatert til dette arbeidet har jeg koordinert norsk
944 oversettelse av
<a href=
"http://debian-handbook.info/
">Håndbok for
945 Debian-administratorer
</a
> til bokmål, og flyttet
946 <a href=
"https://hosted.weblate.org/projects/debian-edu-documentation/
">oversetterarbeidet
947 av Skolelinux-håndboken
</a
> fra Transifex til Weblate. Begge bøkene
948 er snart klare for første gangs korrekturlesing og vi drømmer om å
949 gjøre dem tilgjengelig på papir.
</p
>
951 <p
>Gjennom hele perioden har jeg holdt et lite øye med NUUG-prosjektet
952 FiksGataMi, som stort sett går av seg selv uten manuelt vedlikehold,
953 men av og til er det problemer med enkelte mottakere (eposter i
954 retur). NUUG-drift oppgraderte tjenesten i løpet av
2016, og jeg
955 bisto Marius Halden litt i forbindelse med dette. Tjenesten får
956 stadig flere brukere, og flere kommuner har tatt kontakt for å lære
957 mer om hvordan FiksGataMi fungerer.
959 <p
>Den åpne TV-kanalen
960 <a href=
"http://www.frikanalen.no/
">Frikanalen
</a
> har fått en god del
961 av min oppmerksomhet. Den var i starten av
2015 tilgjengelig på
962 RiksTV kanal
50, web. Kanalen har fått et REST-basert API, og dette
963 har jeg tatt i bruk for å fylle sendeplanen med NUUG-, TED- og
964 Debian-foredrag samt andre tekniske presentasjoner. Har lastet opp
965 mye nytt der og strømlinjeformet prosessen slik at både nye TED- og
966 NUUG-foredrag går veldig greit. På høsten tok jeg en titt på
967 multikast-spredning av kanalen til Uninett, og dette er nå kommet på
968 plass, slik at alle TV-er som bruker Uninetts TV-løsning nå kan se på
969 Frikanalen. Det jobbes for tiden med å få distribusjon på Altibox, og
970 dette håper vi skal være klart i starten av
2017.
</p
>
972 <p
>Relatert til Frikanalen har jeg i lengre tid
973 <a href=
"http://people.skolelinux.org/pere/blog/tags/h264/
">forsøkt å
974 få klarhet i hva som er juridisk status for H
.264 i Norge
</a
>. Det er
975 fortsatt uklart for meg om Frikanalen må betale for retten til å
976 kringkaste eller ikke, og om vi risikerer å bryte opphavsrettsvilkår
977 ved å kringkaste på web med H
.264. Har spurt ulike aktører for å
978 forsøke å finne ut hvordan de har vurdert situasjonen, uten å bli
981 <p
>Et prosjekt som var morsomt å se ta form var Ole Aamots
982 <a href=
"https://www.youtube.com/watch?v=
8ftM5fdKgZk
">dokumentarprosjekt
983 om fri programvare i Norge
</a
>. Han fikk intervjuet en god del av de
984 mest aktive folkene i Norge, og resultatet ble interessant og
985 severdig. Et nærmere prosjekt er NUUGs samarbeide med Oslo
986 dokumentarfilmfestival om visningen av Citizenfour, der NUUG tok opp
987 samtalen i forbindelse med visningen og publiserte opptaket på
988 Frikanalen. Jeg er veldig fornøyd med å ha lyktes med å få dette på
989 plass, selv om jeg ikke rakk å være med på visningen selv. Et annet
990 NUUG-foredrag jeg er spesielt fornøyd med å ha fått på plass er
991 besøket fra Bradley Kuhn fra Software Freedom Conservancy. Det tok
992 mange måneder å organisere i samarbeid med BLUG, men til slutt klarte
993 vi å finne et tidspunkt som passet alle, slik at han kunne besøke Oslo
994 og Bergen. Opptaket fra dette er også publisert på Frikanalen.
995 Generelt har jeg veldig fornøyd med at Frikanalen nå i praksis er
996 Tekno-TV med interessante faktaprogram og presentasjoner nesten hele
997 døgnet, hele uka.
</p
>
999 <p
>Vi har i lengre tid forsøkt å få opp et Mesh-nett i Oslo, under
1000 navnet dugnadsnett.no, uten at vi så langt har klart å nå kritisk
1001 masse. Tanken er å gjøre det mulig å kommunisere direkte mellom
1002 likeverdige parter uten sentrale knutepunkt som enkelt kan avlyttes.
1003 Prosjektet er ikke dødt, men interessen blant oss som er med har ikke
1004 vært stor nok til å kunne prioritere dette over alt annet.
</p
>
1006 <p
>En ting som har tatt prioritet for min del er NUUG og EFNs forsøk
1007 på å få domstolvurdering av om det er greit for politiet å overta et
1008 DNS-domene uten domstolvurdering. Bakgrunnen er at Økokrim tok beslag
1009 i popcorn-time.no i mars
2016, med påstand om at nettstedet bidro til
1010 opphavsrettsbrudd ved å omtale fri programvareløsningen Popcorn Time
1011 og lenke til nettsteder der det var lenker til nettsteder der en kunne
1012 laste ned Popcorn Time. For det første mener vi at domstolene bør
1013 involveres før DNS-domener tas fra sine eiere, og for det andre mener
1014 vi begrunnelsen er så søkt at domenet ikke burde beslaglegges i første
1015 omgang. NUUG og EFN forsøkte først å protestere på egne vegne men ble
1016 avvist av domstolene med at vi ikke hadde rettslig interesse. Mens
1017 dette pågikk lyktes vi å få kontakt med registrar og regnskapsfører
1018 som fikk ble raidet av seks stykker fra Økokrim, og i gjeldende runde
1019 er det registrar og regnskapsfører som protesterer med støtte fra NUUG
1020 og EFN. Advokattimene renner ut og vi håper vi holder ut til saken
1021 har fått prøvd saken.
</p
>
1023 <p
>Et annet prosjekt, relatert til fri kultur og åndsverksvern, som
1024 jeg har brukt endel tid på er å maskinelt kunne identifisere verk som
1025 er falt i det fri i Norge. Jeg ønsker å vite hvor mange kunstuttrykk
1026 som blir røvet fra fellesskapet hver gang vernetiden i åndsverksloven
1027 blir utvidet, f.eks. nå sist når vernetiden for musikk ble utvidet med
1028 20 år fra
50 til
70 år med tilbakevirkende kraft, som om de som laget
1029 musikk for
60 år siden skulle bli mer motivert til å lage musikk av
1030 utvidet vernetid. Har sett på å kombinere informasjon fra
1031 Nasjonalbiblioteket, Deichmanske bibliotek, Wikipedia, Store Norske
1032 Leksikon og WorldCat, og gleder meg til Nasjonalbibliotekets initiativ
1033 for autorativ database over verk tar form.
</p
>
1035 <p
>Dårlig konkurranse på drivstoffmarkedet har irritert meg en stund,
1036 og jeg laget for flere år siden en skraper som samlet inn prisdata fra
1037 ulike kilder. Jeg ble derfor veldig glad da en økonomistudent tok
1038 kontakt i starten av
2015 og lurte på om jeg kunne bidra med data til
1039 hans masteroppgave om konkurransevilkårene i drivstoffmarkedet. Jeg
1040 bidro med glede, og resultatet er
<a
1041 href=
"https://brage.bibsys.no/xmlui//browse?value=Jakobsen%
2C+Tor+%C3%
98yvind
&type=author
">publisert
1042 i fulltekst som
"Hemmeligheten bak bensinprisen : en empirisk analyse
1043 av pumpeprisens drivkrefter
" på BIBSYS Brage
</a
>.
</p
>
1045 <p
>I tilegg til det jeg har gjort her har jeg rapportert og fikset en
1046 rekke små og store feil i fri programvare, og hjulpet
1047 Debian-bidragsytere og upstream-utviklerne med å forbedre forskjellig
1048 fri programvare og få det inn i Debian.
</p
>
1050 <p
>Mye av det jeg har fått gjort rundt fri programvare og fri kultur
1051 har vært mulig takket være at jeg får dekket
20% av arbeidstiden min
1052 på Universitetet i Oslo fra
1053 <a href=
"http://www.nuugfoundation.no/
">NUUG Foundation
</a
> for å jobbe
1054 med og koordinere fri programvareaktiviteter. Jeg er svært takknemlig
1055 til dem og min arbeidsgiver USIT for at jeg har fått muligheten. Uten
1056 dette hadde jeg ikke rukket over like mye etter hvert som ungene ble
1062 <title>Fortsatt ingen sikkerhetsoppdateringer for billettautomatene til kollektivtrafikken i Oslo?
</title>
1063 <link>http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html
</link>
1064 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html
</guid>
1065 <pubDate>Tue,
29 Nov
2016 09:
05:
00 +
0100</pubDate>
1066 <description><p
><a href=
"http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html
">For
1067 fire og et halvt år siden
</a
> lot jeg meg overraske over at Ruters
1068 billettautomater for kollektivtrafikken i Oslo kjørte
1069 <a href=
"http://en.wikipedia.org/wiki/Windows_2000
">Windows
2000
1070 Professional
</a
>, et og et halvt år etter at Microsoft hadde gitt
1071 beskjed om at det ikke lenger kom sikkerhetsoppdateringer til
1072 systemet. Støtten fra Microsoft
1073 <a href=
"http://support.microsoft.com/lifecycle/search/?sort=PN
&alpha=Windows+
2000&Filter=FilterNO
">tok
1074 slutt
2010-
07-
13 i følge Wikipedia og Microsoft selv
</a
>.
</p
>
1076 <p
>For fem dager siden passerte jeg på nytt en slik billettautomat som
1077 hadde brutt sammen, og den annonserte fortsatt at den kjører Windows
1078 2000 Professional, nå mer enn seks år siden Microsoft sluttet å komme
1079 med sikkerhetspatcher til produktet. Sikret meg et bilde av
1080 krasjmeldingen på skjermen.
1082 <p
><a href=
"http://people.skolelinux.org/pere/blog/images/
2016-
11-
29-ruter-win2000pro.jpeg
"><img width=
"40%
" src=
"http://people.skolelinux.org/pere/blog/images/
2016-
11-
29-ruter-win2000pro.jpeg
" alt=
"[foto av billettautomat]
"></a
></p
>
1084 <p
>Mon tro om de mangler kildekoden til systemet som kjører på
1085 automaten, og dermed ikke uten videre kan oppgradere?
</p
>
1087 <p
>Jeg ser jo fra
1088 <a href=
"https://www.mimesbronn.no/request/ruterbillett_app
">en
1089 innsynshenvendelse om kildekoden til billett-Appen til Ruter på Mimes
1090 brønn
</a
> at Ruter tilsynelatende ikke legger sikkerheten i
1091 sertifikater, nøkler og passord, men i stedet baserer seg på at
1092 logikken i programvaren holdes hemmelig. Det borger ikke godt for
1093 sikkerheten i Ruters datasystemer.
1095 <p
>Det er nå tre og et halvt år siden
1096 <a href=
"http://www.aftenposten.no/osloby/Ingen-nye-Ruter-automater-for-sommeren-
118460b.html
">Ruter
1097 fortalte Aftenposten at nye automater ble minst seks måneder
1098 forsinket
</a
>, da leverandøren ikke hadde god nok kontroll. Det kan
1099 virke som om leverandøren ikke er alene om å ikke ha god nok
1102 <p
>Bildet er tilgjengelig for bruk med bruksvilkårene til
1103 <a href=
"http://creativecommons.org/licenses/by/
3.0/no/
">Creative
1104 Commons Navngivelse
3.0 Norge (CC BY
3.0)
</a
>.
</p
>
1106 <p
>Oppdatering
2016-
12-
01: Saken har fått omtale på
1107 <a href=
"http://www.digi.no/artikler/petter-advarte-selskapet-allerede-i-
2012-da-systemkraesjen-dukket-opp-igjen-pa-tirsdag-ble-han-svaert-overrasket/
365613">digi.no
</a
>
1109 <a href=
"https://nrkbeta.no/
2016/
12/
01/mener-oslos-billettsystem-er-en-tikkende-bombe/
">NRK
1110 Beta
</a
>.
</p
>
1115 <title>Quicker Debian installations using eatmydata
</title>
1116 <link>http://people.skolelinux.org/pere/blog/Quicker_Debian_installations_using_eatmydata.html
</link>
1117 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Quicker_Debian_installations_using_eatmydata.html
</guid>
1118 <pubDate>Fri,
25 Nov
2016 14:
50:
00 +
0100</pubDate>
1119 <description><p
>Two years ago, I did some experiments with eatmydata and the Debian
1120 installation system, observing how using
1121 <a href=
"http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html
">eatmydata
1122 could speed up the installation
</a
> quite a bit. My testing measured
1123 speedup around
20-
40 percent for Debian Edu, where we install around
1124 1000 packages from within the installer. The eatmydata package
1125 provide a way to disable/delay file system flushing. This is a bit
1126 risky in the general case, as files that should be stored on disk will
1127 stay only in memory a bit longer than expected, causing problems if a
1128 machine crashes at an inconvenient time. But for an installation, if
1129 the machine crashes during installation the process is normally
1130 restarted, and avoiding disk operations as much as possible to speed
1131 up the process make perfect sense.
1133 <p
>I added code in the Debian Edu specific installation code to enable
1134 <a href=
"https://tracker.debian.org/pkg/libeatmydata
">eatmydata
</a
>,
1135 but did not have time to push it any further. But a few months ago I
1136 picked it up again and worked with the libeatmydata package maintainer
1137 Mattia Rizzolo to make it easier for everyone to get this installation
1138 speedup in Debian. Thanks to our cooperation There is now an
1139 eatmydata-udeb package in Debian testing and unstable, and simply
1140 enabling/installing it in debian-installer (d-i) is enough to get the
1141 quicker installations. It can be enabled using preseeding. The
1142 following untested kernel argument should do the trick:
</p
>
1144 <blockquote
><pre
>
1145 preseed/early_command=
"anna-install eatmydata-udeb
"
1146 </pre
></blockquote
>
1148 <p
>This should ask d-i to install the package inside the d-i
1149 environment early in the installation sequence. Having it installed
1150 in d-i in turn will make sure the relevant scripts are called just
1151 after debootstrap filled /target/ with the freshly installed Debian
1152 system to configure apt to run dpkg with eatmydata. This is enough to
1153 speed up the installation process. There is a proposal to
1154 <a href=
"https://bugs.debian.org/
841153">extend the idea a bit further
1155 by using /etc/ld.so.preload instead of apt.conf
</a
>, but I have not
1156 tested its impact.
</p
>
1162 <title>Oversette bokmål til nynorsk, enklere enn du tror takket være Apertium
</title>
1163 <link>http://people.skolelinux.org/pere/blog/Oversette_bokm_l_til_nynorsk__enklere_enn_du_tror_takket_v_re_Apertium.html
</link>
1164 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Oversette_bokm_l_til_nynorsk__enklere_enn_du_tror_takket_v_re_Apertium.html
</guid>
1165 <pubDate>Thu,
24 Nov
2016 10:
50:
00 +
0100</pubDate>
1166 <description><p
>I Norge er det mange som trenger å skrive både bokmål og nynorsk.
1167 Eksamensoppgaver, offentlige brev og nyheter er eksempler på tekster
1168 der det er krav om skriftspråk. I tillegg til alle skoleoppgavene som
1169 elever over det ganske land skal levere inn hvert år. Det mange ikke
1170 vet er at selv om de kommersielle alternativene
1171 <a href=
"https://translate.google.com/
">Google Translate
</a
> og
1172 <a href=
"https://www.bing.com/translator/
">Bing Translator
</a
> ikke kan
1173 bidra med å oversette mellom bokmål og nynorsk, så finnes det et
1174 utmerket fri programvarealternativ som kan. Oversetterverktøyet
1175 Apertium har støtte for en rekke språkkombinasjoner, og takket være
1176 den utrettelige innsatsen til blant annet Kevin Brubeck Unhammer, kan
1177 en bruke webtjenesten til å fylle inn en tekst på bokmål eller
1178 nynorsk, og få den automatoversatt til det andre skriftspråket.
1179 Resultatet er ikke perfekt, men et svært godt utgangspunkt. Av og til
1180 er resultatet så bra at det kan benyttes uten endringer. Jeg vet
1181 f.eks. at store deler av Joomla ble oversatt til nynorsk ved hjelp
1182 Apertium. Høres det ut som noe du kan ha bruk for? Besøk i så fall
1183 <a href=
"https://www.apertium.org/
">Apertium.org
</a
> og fyll inn
1184 teksten din i webskjemaet der.
1186 <p
>Hvis du trenger maskinell tilgang til den bakenforliggende
1187 teknologien kan du enten installere pakken
1188 <a href=
"https://tracker.debian.org/apertium-nno-nob
">apertium-nno-nob
</a
>
1189 på en Debian-maskin eller bruke web-API-et tilgjengelig fra
1190 api.apertium.org. Se
1191 <a href=
"http://wiki.apertium.org/wiki/Apertium-apy
">API-dokumentasjonen
</a
>
1192 for detaljer om web-API-et. Her kan du se hvordan resultatet blir for
1193 denne teksten som ble skrevet på bokmål over maskinoversatt til
1198 <p
>I Noreg er det mange som treng å skriva både bokmål og nynorsk.
1199 Eksamensoppgåver, offentlege brev og nyhende er døme på tekster der
1200 det er krav om skriftspråk. I tillegg til alle skuleoppgåvene som
1201 elevar over det ganske land skal levera inn kvart år. Det mange ikkje
1202 veit er at sjølv om dei kommersielle alternativa
1203 <a href=
"https://translate.google.com/
">Google *Translate
</a
> og
1204 <a href=
"https://www.bing.com/translator/
">Bing *Translator
</a
> ikkje
1205 kan bidra med å omsetja mellom bokmål og nynorsk, så finst det eit
1206 utmerka fri programvarealternativ som kan. Omsetjarverktøyet
1207 *Apertium har støtte for ei rekkje språkkombinasjonar, og takka vera
1208 den utrøyttelege innsatsen til blant anna Kevin Brubeck Unhammer, kan
1209 ein bruka *webtjenesten til å fylla inn ei tekst på bokmål eller
1210 nynorsk, og få den *automatoversatt til det andre skriftspråket.
1211 Resultatet er ikkje perfekt, men eit svært godt utgangspunkt. Av og
1212 til er resultatet så bra at det kan nyttast utan endringar. Eg veit
1213 t.d. at store delar av *Joomla vart omsett til nynorsk ved hjelp
1214 *Apertium. Høyrast det ut som noko du kan ha bruk for? Besøk i så
1215 fall
<a href=
"https://www.apertium.org/
">*Apertium.org
</a
> og fyll inn
1216 teksta di i *webskjemaet der.
1218 <p
>Viss du treng *maskinell tilgjenge til den *bakenforliggende
1219 teknologien kan du anten installera pakken
1220 <a href=
"https://tracker.debian.org/apertium-nno-nob
">*apertium-*nno-*nob
</a
>
1221 på ein *Debian-maskin eller bruka *web-*API-eit tilgjengeleg frå
1222 *api.*apertium.org. Sjå
1223 <a href=
"http://wiki.apertium.org/wiki/Apertium-apy
">*API-dokumentasjonen
</a
>
1224 for detaljar om *web-*API-eit. Her kan du sjå korleis resultatet vert
1225 for denne teksta som vart skreva på bokmål over *maskinoversatt til