1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: entries from September
2014</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"09.rss" type=
"application/rss+xml" />
15 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
22 <h3>Entries from September
2014.
</h3>
26 <a href=
"http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html">Suddenly I am the new upstream of the lsdvd command line tool
</a>
32 <p>I use the
<a href=
"https://sourceforge.net/p/lsdvd/">lsdvd tool
</a>
33 to handle my fairly large DVD collection. It is a nice command line
34 tool to get details about a DVD, like title, tracks, track length,
35 etc, in XML, Perl or human readable format. But lsdvd have not seen
36 any new development since
2006 and had a few irritating bugs affecting
37 its use with some DVDs. Upstream seemed to be dead, and in January I
38 sent a small probe asking for a version control repository for the
39 project, without any reply. But I use it regularly and would like to
40 get
<a href=
"https://packages.qa.debian.org/lsdvd">an updated version
41 into Debian
</a>. So two weeks ago I tried harder to get in touch with
42 the project admin, and after getting a reply from him explaining that
43 he was no longer interested in the project, I asked if I could take
44 over. And yesterday, I became project admin.
</p>
46 <p>I've been in touch with a Gentoo developer and the Debian
47 maintainer interested in joining forces to maintain the upstream
48 project, and I hope we can get a new release out fairly quickly,
49 collecting the patches spread around on the internet into on place.
50 I've added the relevant Debian patches to the freshly created git
51 repository, and expect the Gentoo patches to make it too. If you got
52 a DVD collection and care about command line tools, check out
53 <a href=
"https://sourceforge.net/p/lsdvd/git/ci/master/tree/">the git source
</a> and join
54 <a href=
"https://sourceforge.net/p/lsdvd/mailman/">the project mailing
61 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia
</a>.
66 <div class=
"padding"></div>
70 <a href=
"http://people.skolelinux.org/pere/blog/Hva_henger_under_skibrua_over_E16_p__Sollih_gda_.html">Hva henger under skibrua over E16 på Sollihøgda?
</a>
76 <p>Rundt omkring i Oslo og Østlandsområdet henger det bokser over
77 veiene som jeg har lurt på hva gjør. De har ut fra plassering og
78 vinkling sett ut som bokser som sniffer ut et eller annet fra
79 forbipasserende trafikk, men det har vært uklart for meg hva det er de
80 leser av. Her om dagen tok jeg bilde av en slik boks som henger under
81 <a href=
"http://www.openstreetmap.no/?zoom=19&mlat=59.96396&mlon=10.34443&layers=B00000">ei
82 skibru på Sollihøgda
</a>:
</p>
84 <p align=
"center"><img width=
"60%" src=
"http://people.skolelinux.org/pere/blog/images/2014-09-13-kapsch-sollihogda-crop.jpeg"></p>
86 <p>Boksen er tydelig merket «Kapsch
>>>», logoen til
87 <a href=
"http://www.kapsch.net/">det sveitsiske selskapet Kapsch
</a> som
88 blant annet lager sensorsystemer for veitrafikk. Men de lager mye
89 forskjellig, og jeg kjente ikke igjen boksen på utseendet etter en
90 kjapp titt på produktlista til selskapet.
</p>
92 <p>I og med at boksen henger over veien E16, en riksvei vedlikeholdt
93 av Statens Vegvesen, så antok jeg at det burde være mulig å bruke
94 REST-API-et som gir tilgang til vegvesenets database over veier,
95 skilter og annet veirelatert til å finne ut hva i alle dager dette
96 kunne være. De har både
97 <a href=
"https://www.vegvesen.no/nvdb/api/dokumentasjon/datakatalog">en
99 <a href=
"https://www.vegvesen.no/nvdb/api/dokumentasjon/sok">et
100 søk
</a>, der en kan søke etter ulike typer oppføringer innen for et
101 gitt geografisk område. Jeg laget et enkelt shell-script for å hente
102 ut antall av en gitt type innenfor området skibrua dekker, og listet
103 opp navnet på typene som ble funnet. Orket ikke slå opp hvordan
104 URL-koding av aktuelle strenger kunne gjøres mer generisk, og brukte
105 en stygg sed-linje i stedet.
</p>
111 -e 's/ / /g' -e 's/{/%
7B/g' \
112 -e 's/}/%
7D/g' -e 's/\[/%
5B/g' \
113 -e 's/\]/%
5D/g' -e 's/ /%
20/g' \
114 -e 's/,/%
2C/g' -e 's/\"/%
22/g' \
120 curl -s -H 'Accept: application/vnd.vegvesen.nvdb-v1+xml' \
121 "https://www.vegvesen.no/nvdb/api$url" | xmllint --format -
124 for id in $(seq
1 874) ; do
127 bbox: \"
10.34425,
59.96386,
10.34458,
59.96409\",
135 query=/sok?kriterie=$(echo $search | urlmap)
137 grep -q '
<totaltAntallReturnert
>0<'
142 lookup
"/datakatalog/objekttyper/$id" |grep '^
<navn
>'
149 Aktuelt ID-område
1-
874 var riktig i datakatalogen da jeg laget
150 scriptet. Det vil endre seg over tid. Skriptet listet så opp
151 aktuelle typer i og rundt skibrua:
155 <navn
>Rekkverk
</navn
>
157 <navn
>Rekkverksende
</navn
>
159 <navn
>Trafikklomme
</navn
>
161 <navn
>Trafikkøy
</navn
>
163 <navn
>Bru
</navn
>
165 <navn
>Stikkrenne/Kulvert
</navn
>
167 <navn
>Grøft, åpen
</navn
>
169 <navn
>Belysningsstrekning
</navn
>
171 <navn
>Skiltpunkt
</navn
>
173 <navn
>Skiltplate
</navn
>
175 <navn
>Referansestolpe
</navn
>
177 <navn
>Vegoppmerking, langsgående
</navn
>
179 <navn
>Fartsgrense
</navn
>
181 <navn
>Vinterdriftsstrategi
</navn
>
183 <navn
>Trafikkdeler
</navn
>
185 <navn
>Vegdekke
</navn
>
187 <navn
>Breddemåling
</navn
>
189 <navn
>Kantklippareal
</navn
>
191 <navn
>Snø-/isrydding
</navn
>
193 <navn
>Skred
</navn
>
195 <navn
>Dokumentasjon
</navn
>
197 <navn
>Undergang
</navn
>
199 <navn
>Tverrprofil
</navn
>
201 <navn
>Vegreferanse
</navn
>
203 <navn
>Region
</navn
>
205 <navn
>Fylke
</navn
>
207 <navn
>Kommune
</navn
>
209 <navn
>Gate
</navn
>
211 <navn
>Transportlenke
</navn
>
213 <navn
>Trafikkmengde
</navn
>
215 <navn
>Trafikkulykke
</navn
>
217 <navn
>Ulykkesinvolvert enhet
</navn
>
219 <navn
>Ulykkesinvolvert person
</navn
>
221 <navn
>Politidistrikt
</navn
>
223 <navn
>Vegbredde
</navn
>
225 <navn
>Høydebegrensning
</navn
>
227 <navn
>Nedbøyningsmåling
</navn
>
229 <navn
>Støy-luft, Strekningsdata
</navn
>
231 <navn
>Oppgravingsdata
</navn
>
233 <navn
>Oppgravingslag
</navn
>
235 <navn
>PMS-parsell
</navn
>
237 <navn
>Vegnormalstrekning
</navn
>
239 <navn
>Værrelatert strekning
</navn
>
241 <navn
>Feltstrekning
</navn
>
243 <navn
>Adressepunkt
</navn
>
245 <navn
>Friksjonsmåleserie
</navn
>
247 <navn
>Vegdekke, flatelapping
</navn
>
249 <navn
>Kurvatur, horisontalelement
</navn
>
251 <navn
>Kurvatur, vertikalelement
</navn
>
253 <navn
>Kurvatur, vertikalpunkt
</navn
>
255 <navn
>Statistikk, trafikkmengde
</navn
>
257 <navn
>Statistikk, vegbredde
</navn
>
259 <navn
>Nedbøyningsmåleserie
</navn
>
261 <navn
>ATK, influensstrekning
</navn
>
263 <navn
>Systemobjekt
</navn
>
265 <navn
>Vinterdriftsklasse
</navn
>
267 <navn
>Funksjonell vegklasse
</navn
>
269 <navn
>Kurvatur, stigning
</navn
>
271 <navn
>Vegbredde, beregnet
</navn
>
273 <navn
>Reisetidsregistreringspunkt
</navn
>
275 <navn
>Bruksklasse
</navn
>
278 <p>Av disse ser ID
775 og
862 mest relevant ut. ID
775 antar jeg
279 refererer til fotoboksen som står like ved brua, mens
280 «Reisetidsregistreringspunkt» kanskje kan være boksen som henger der.
281 Hvordan finner jeg så ut hva dette kan være for noe. En titt på
282 <a href=
"http://labs.vegdata.no/nvdb-datakatalog/862-Reisetidsregistreringspunkt/">datakatalogsiden
283 for ID
862/Reisetidsregistreringspunkt
</a> viser at det er finnes
53
284 slike målere i Norge, og hvor de er plassert, men gir ellers få
285 detaljer. Det er plassert
40 på østlandet og
13 i Trondheimsregionen.
286 Men siden nevner «AutoPASS», og hvis en slår opp oppføringen på
287 Sollihøgda nevner den «Ciber AS» som ID for eksternt system. (Kan det
289 <a href=
"http://www.proff.no/selskap/ciber-norge-as/oslo/internettdesign-og-programmering/Z0I3KMF4/">Ciber
290 Norge AS
</a>, et selskap eid av Ciber Europe Bv?) Et nettsøk på
291 «Ciber AS autopass» fører meg til en artikkel fra NRK Trøndelag i
293 «
<a href=
"http://www.nrk.no/trondelag/sjekk-dette-hvis-du-vil-unnga-ko-1.11327947">Sjekk
294 dette hvis du vil unngå kø
</a>». Artikkelen henviser til vegvesenets
296 <a href=
"http://www.reisetider.no/reisetid/forside.html">reisetider.no
</a>
298 <a href=
"http://www.reisetider.no/reisetid/omrade.html?omrade=5">kartside
299 for Østlandet
</a> som viser at det måles mellom Sandvika og Sollihøgda.
300 Det kan dermed se ut til at jeg har funnet ut hva boksene gjør.
</p>
302 <p>Hvis det stemmer, så er dette bokser som leser av AutoPASS-ID-en
303 til alle passerende biler med AutoPASS-brikke, og dermed gjør det mulig
304 for de som kontrollerer boksene å holde rede på hvor en gitt bil er
305 når den passerte et slikt målepunkt. NRK-artikkelen forteller at
306 denne informasjonen i dag kun brukes til å koble to
307 AutoPASS-brikkepasseringer passeringer sammen for å beregne
308 reisetiden, og at bruken er godkjent av Datatilsynet. Det er desverre
309 ikke mulig for en sjåfør som passerer under en slik boks å kontrollere
310 at AutoPASS-ID-en kun brukes til dette i dag og i fremtiden.
</p>
312 <p>I tillegg til denne type AutoPASS-sniffere vet jeg at det også
313 finnes mange automatiske stasjoner som tar betalt pr. passering (aka
314 bomstasjoner), og der lagres informasjon om tid, sted og bilnummer i
315 10 år. Finnes det andre slike sniffere plassert ut på veiene?
</p>
317 <p>Personlig har jeg valgt å ikke bruke AutoPASS-brikke, for å gjøre
318 det vanskeligere og mer kostbart for de som vil invadere privatsfæren
319 og holde rede på hvor bilen min beveger seg til enhver tid. Jeg håper
320 flere vil gjøre det samme, selv om det gir litt høyere private
321 utgifter (dyrere bompassering). Vern om privatsfæren koster i disse
324 <p>Takk til Jan Kristian Jensen i Statens Vegvesen for tips om
325 dokumentasjon på vegvesenets REST-API.
</p>
331 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance
</a>.
336 <div class=
"padding"></div>
340 <a href=
"http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html">Speeding up the Debian installer using eatmydata and dpkg-divert
</a>
346 <p>The
<a href=
"https://www.debian.org/">Debian
</a> installer could be
347 a lot quicker. When we install more than
2000 packages in
348 <a href=
"http://www.skolelinux.org/">Skolelinux / Debian Edu
</a> using
349 tasksel in the installer, unpacking the binary packages take forever.
350 A part of the slow I/O issue was discussed in
351 <a href=
"https://bugs.debian.org/613428">bug #
613428</a> about too
352 much file system sync-ing done by dpkg, which is the package
353 responsible for unpacking the binary packages. Other parts (like code
354 executed by postinst scripts) might also sync to disk during
355 installation. All this sync-ing to disk do not really make sense to
356 me. If the machine crash half-way through, I start over, I do not try
357 to salvage the half installed system. So the failure sync-ing is
358 supposed to protect against, hardware or system crash, is not really
359 relevant while the installer is running.
</p>
361 <p>A few days ago, I thought of a way to get rid of all the file
362 system sync()-ing in a fairly non-intrusive way, without the need to
363 change the code in several packages. The idea is not new, but I have
364 not heard anyone propose the approach using dpkg-divert before. It
365 depend on the small and clever package
366 <a href=
"https://packages.qa.debian.org/eatmydata">eatmydata
</a>, which
367 uses LD_PRELOAD to replace the system functions for syncing data to
368 disk with functions doing nothing, thus allowing programs to live
369 dangerous while speeding up disk I/O significantly. Instead of
370 modifying the implementation of dpkg, apt and tasksel (which are the
371 packages responsible for selecting, fetching and installing packages),
372 it occurred to me that we could just divert the programs away, replace
373 them with a simple shell wrapper calling
374 "eatmydata
$program
$@", to get the same effect.
375 Two days ago I decided to test the idea, and wrapped up a simple
376 implementation for the Debian Edu udeb.
</p>
378 <p>The effect was stunning. In my first test it reduced the running
379 time of the pkgsel step (installing tasks) from
64 to less than
44
380 minutes (
20 minutes shaved off the installation) on an old Dell
381 Latitude D505 machine. I am not quite sure what the optimised time
382 would have been, as I messed up the testing a bit, causing the debconf
383 priority to get low enough for two questions to pop up during
384 installation. As soon as I saw the questions I moved the installation
385 along, but do not know how long the question were holding up the
386 installation. I did some more measurements using Debian Edu Jessie,
387 and got these results. The time measured is the time stamp in
388 /var/log/syslog between the "pkgsel: starting tasksel" and the
389 "pkgsel: finishing up" lines, if you want to do the same measurement
390 yourself. In Debian Edu, the tasksel dialog do not show up, and the
391 timing thus do not depend on how quickly the user handle the tasksel
397 <th>Machine/setup
</th>
398 <th>Original tasksel
</th>
399 <th>Optimised tasksel
</th>
404 <td>Latitude D505 Main+LTSP LXDE
</td>
405 <td>64 min (
07:
46-
08:
50)
</td>
406 <td><44 min (
11:
27-
12:
11)
</td>
411 <td>Latitude D505 Roaming LXDE
</td>
412 <td>57 min (
08:
48-
09:
45)
</td>
413 <td>34 min (
07:
43-
08:
17)
</td>
418 <td>Latitude D505 Minimal
</td>
419 <td>22 min (
10:
37-
10:
59)
</td>
420 <td>11 min (
11:
16-
11:
27)
</td>
425 <td>Thinkpad X200 Minimal
</td>
426 <td>6 min (
08:
19-
08:
25)
</td>
427 <td>4 min (
08:
04-
08:
08)
</td>
432 <td>Thinkpad X200 Roaming KDE
</td>
433 <td>19 min (
09:
21-
09:
40)
</td>
434 <td>15 min (
10:
25-
10:
40)
</td>
440 <p>The test is done using a netinst ISO on a USB stick, so some of the
441 time is spent downloading packages. The connection to the Internet
442 was
100Mbit/s during testing, so downloading should not be a
443 significant factor in the measurement. Download typically took a few
444 seconds to a few minutes, depending on the amount of packages being
447 <p>The speedup is implemented by using two hooks in
448 <a href=
"https://www.debian.org/devel/debian-installer/">Debian
449 Installer
</a>, the pre-pkgsel.d hook to set up the diverts, and the
450 finish-install.d hook to remove the divert at the end of the
451 installation. I picked the pre-pkgsel.d hook instead of the
452 post-base-installer.d hook because I test using an ISO without the
453 eatmydata package included, and the post-base-installer.d hook in
454 Debian Edu can only operate on packages included in the ISO. The
455 negative effect of this is that I am unable to activate this
456 optimization for the kernel installation step in d-i. If the code is
457 moved to the post-base-installer.d hook, the speedup would be larger
458 for the entire installation.
</p>
460 <p>I've implemented this in the
461 <a href=
"https://packages.qa.debian.org/debian-edu-install">debian-edu-install
</a>
462 git repository, and plan to provide the optimization as part of the
463 Debian Edu installation. If you want to test this yourself, you can
464 create two files in the installer (or in an udeb). One shell script
465 need do go into /usr/lib/pre-pkgsel.d/, with content like this:
</p>
470 . /usr/share/debconf/confmodule
472 logger -t my-pkgsel "info: $*"
475 logger -t my-pkgsel "error: $*"
478 apt-install eatmydata || true
479 if [ -x /target/usr/bin/eatmydata ] ; then
480 for bin in dpkg apt-get aptitude tasksel ; do
482 # Test that the file exist and have not been diverted already.
483 if [ -f /target$file ] ; then
484 info "diverting $file using eatmydata"
485 printf "#!/bin/sh\neatmydata $bin.distrib \"\$@\"\n" \
487 chmod
755 /target$file.edu
488 in-target dpkg-divert --package debian-edu-config \
489 --rename --quiet --add $file
490 ln -sf ./$bin.edu /target$file
492 error "unable to divert $file, as it is missing."
496 error "unable to find /usr/bin/eatmydata after installing the eatmydata pacage"
501 </pre></blockquote></p>
503 <p>To clean up, another shell script should go into
504 /usr/lib/finish-install.d/ with code like this:
508 . /usr/share/debconf/confmodule
510 logger -t my-finish-install "error: $@"
512 remove_install_override() {
513 for bin in dpkg apt-get aptitude tasksel ; do
515 if [ -x /target$file.edu ] ; then
517 in-target dpkg-divert --package debian-edu-config \
518 --rename --quiet --remove $file
521 error "Missing divert for $file."
524 sync # Flush file buffers before continuing
527 remove_install_override
528 </pre></blockquote></p>
530 <p>In Debian Edu, I placed both code fragments in a separate script
531 edu-eatmydata-install and call it from the pre-pkgsel.d and
532 finish-install.d scripts.
</p>
534 <p>By now you might ask if this change should get into the normal
535 Debian installer too? I suspect it should, but am not sure the
536 current debian-installer coordinators find it useful enough. It also
537 depend on the side effects of the change. I'm not aware of any, but I
538 guess we will see if the change is safe after some more testing.
539 Perhaps there is some package in Debian depending on sync() and
540 fsync() having effect? Perhaps it should go into its own udeb, to
541 allow those of us wanting to enable it to do so without affecting
544 <p>Update
2014-
09-
24: Since a few days ago, enabling this optimization
545 will break installation of all programs using gnutls because of
546 <ahref=
"https://bugs.debian.org/702711">bug #
702711. An updated
547 eatmydata package in Debian will solve it.
</p>
553 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
558 <div class=
"padding"></div>
562 <a href=
"http://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html">Good bye subkeys.pgp.net, welcome pool.sks-keyservers.net
</a>
568 <p>Yesterday, I had the pleasure of attending a talk with the
569 <a href=
"http://www.nuug.no/">Norwegian Unix User Group
</a> about
570 <a href=
"http://www.nuug.no/aktiviteter/20140909-sks-keyservers/">the
571 OpenPGP keyserver pool sks-keyservers.net
</a>, and was very happy to
572 learn that there is a large set of publicly available key servers to
573 use when looking for peoples public key. So far I have used
574 subkeys.pgp.net, and some times wwwkeys.nl.pgp.net when the former
575 were misbehaving, but those days are ended. The servers I have used
576 up until yesterday have been slow and some times unavailable. I hope
577 those problems are gone now.
</p>
579 <p>Behind the round robin DNS entry of the
580 <a href=
"https://sks-keyservers.net/">sks-keyservers.net
</a> service
581 there is a pool of more than
100 keyservers which are checked every
582 day to ensure they are well connected and up to date. It must be
583 better than what I have used so far. :)
</p>
585 <p>Yesterdays speaker told me that the service is the default
586 keyserver provided by the default configuration in GnuPG, but this do
587 not seem to be used in Debian. Perhaps it should?
</p>
589 <p>Anyway, I've updated my ~/.gnupg/options file to now include this
593 keyserver pool.sks-keyservers.net
594 </pre></blockquote></p>
596 <p>With GnuPG version
2 one can also locate the keyserver using SRV
597 entries in DNS. Just for fun, I did just that at work, so now every
598 user of GnuPG at the University of Oslo should find a OpenGPG
599 keyserver automatically should their need it:
</p>
602 % host -t srv _pgpkey-http._tcp.uio.no
603 _pgpkey-http._tcp.uio.no has SRV record
0 100 11371 pool.sks-keyservers.net.
605 </pre></blockquote></p>
608 <a href=
"http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/">the
609 HKP lookup protocol
</a> supported finding signature paths, I would be
610 very happy. It can look up a given key or search for a user ID, but I
611 normally do not want that, but to find a trust path from my key to
612 another key. Given a user ID or key ID, I would like to find (and
613 download) the keys representing a signature path from my key to the
614 key in question, to be able to get a trust path between the two keys.
615 This is as far as I can tell not possible today. Perhaps something
616 for a future version of the protocol?
</p>
622 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet
</a>.
627 <div class=
"padding"></div>
629 <p style=
"text-align: right;"><a href=
"09.rss"><img src=
"http://people.skolelinux.org/pere/blog/xml.gif" alt=
"RSS Feed" width=
"36" height=
"14" /></a></p>
640 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
642 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
644 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
646 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
648 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
650 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
652 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
654 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
656 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
4)
</a></li>
663 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
665 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
667 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
669 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
671 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
673 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
675 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
677 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
679 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
681 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
683 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
685 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
692 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
694 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
696 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
698 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
700 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
702 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
704 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
706 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
708 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
710 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
712 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
714 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
721 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
723 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
725 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
727 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
729 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
731 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
733 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
735 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
737 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
739 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
741 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
743 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
750 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
752 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
754 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
756 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
758 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
760 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
762 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
764 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
766 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
768 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
770 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
772 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
779 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
781 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
783 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
785 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
787 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
789 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
791 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
793 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
795 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
797 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
799 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
801 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
808 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
810 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
821 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li>
823 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
825 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
827 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
829 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
8)
</a></li>
831 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
14)
</a></li>
833 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
835 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
837 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
102)
</a></li>
839 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
149)
</a></li>
841 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
10)
</a></li>
843 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
15)
</a></li>
845 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
12)
</a></li>
847 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
849 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
254)
</a></li>
851 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
21)
</a></li>
853 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li>
855 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
13)
</a></li>
857 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
8)
</a></li>
859 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
11)
</a></li>
861 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
41)
</a></li>
863 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
9)
</a></li>
865 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
19)
</a></li>
867 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
869 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
871 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
873 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
875 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
30)
</a></li>
877 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
248)
</a></li>
879 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
162)
</a></li>
881 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
11)
</a></li>
883 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
885 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
48)
</a></li>
887 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
75)
</a></li>
889 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li>
891 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
893 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
895 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
897 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
9)
</a></li>
899 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
901 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
4)
</a></li>
903 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
905 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
41)
</a></li>
907 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
909 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
4)
</a></li>
911 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
45)
</a></li>
913 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
3)
</a></li>
915 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
9)
</a></li>
917 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
26)
</a></li>
919 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
1)
</a></li>
921 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
8)
</a></li>
923 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
43)
</a></li>
925 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
927 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
33)
</a></li>
933 <p style=
"text-align: right">
934 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>