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/Hva_henger_under_skibrua_over_E16_p__Sollih_gda_.html">Hva henger under skibrua over E16 på Sollihøgda?
</a>
32 <p>Rundt omkring i Oslo og Østlandsområdet henger det bokser over
33 veiene som jeg har lurt på hva gjør. De har ut fra plassering og
34 vinkling sett ut som bokser som sniffer ut et eller annet fra
35 forbipasserende trafikk, men det har vært uklart for meg hva det er de
36 leser av. Her om dagen tok jeg bilde av en slik boks som henger under
37 <a href=
"http://www.openstreetmap.no/?zoom=19&mlat=59.96396&mlon=10.34443&layers=B00000">ei
38 skibru på Sollihøgda
</a>:
</p>
40 <p align=
"center"><img width=
"60%" src=
"http://people.skolelinux.org/pere/blog/images/2014-09-13-kapsch-sollihogda-crop.jpeg"></p>
42 <p>Boksen er tydelig merket «Kapsch
>>>», logoen til
43 <a href=
"http://www.kapsch.net/">det sveitsiske selskapet Kapsch
</a> som
44 blant annet lager sensorsystemer for veitrafikk. Men de lager mye
45 forskjellig, og jeg kjente ikke igjen boksen på utseendet etter en
46 kjapp titt på produktlista til selskapet.
</p>
48 <p>I og med at boksen henger over veien E16, en riksvei vedlikeholdt
49 av Statens Vegvesen, så antok jeg at det burde være mulig å bruke
50 REST-API-et som gir tilgang til vegvesenets database over veier,
51 skilter og annet veirelatert til å finne ut hva i alle dager dette
52 kunne være. De har både
53 <a href=
"https://www.vegvesen.no/nvdb/api/dokumentasjon/datakatalog">en
55 <a href=
"https://www.vegvesen.no/nvdb/api/dokumentasjon/sok">et
56 søk
</a>, der en kan søke etter ulike typer oppføringer innen for et
57 gitt geografisk område. Jeg laget et enkelt shell-script for å hente
58 ut antall av en gitt type innenfor området skibrua dekker, og listet
59 opp navnet på typene som ble funnet. Orket ikke slå opp hvordan
60 URL-koding av aktuelle strenger kunne gjøres mer generisk, og brukte
61 en stygg sed-linje i stedet.
</p>
67 -e 's/ / /g' -e 's/{/%
7B/g' \
68 -e 's/}/%
7D/g' -e 's/\[/%
5B/g' \
69 -e 's/\]/%
5D/g' -e 's/ /%
20/g' \
70 -e 's/,/%
2C/g' -e 's/\"/%
22/g' \
76 curl -s -H 'Accept: application/vnd.vegvesen.nvdb-v1+xml' \
77 "https://www.vegvesen.no/nvdb/api$url" | xmllint --format -
80 for id in $(seq
1 874) ; do
83 bbox: \"
10.34425,
59.96386,
10.34458,
59.96409\",
91 query=/sok?kriterie=$(echo $search | urlmap)
93 grep -q '
<totaltAntallReturnert
>0<'
98 lookup
"/datakatalog/objekttyper/$id" |grep '^
<navn
>'
105 Aktuelt ID-område
1-
874 var riktig i datakatalogen da jeg laget
106 scriptet. Det vil endre seg over tid. Skriptet listet så opp
107 aktuelle typer i og rundt skibrua:
111 <navn
>Rekkverk
</navn
>
113 <navn
>Rekkverksende
</navn
>
115 <navn
>Trafikklomme
</navn
>
117 <navn
>Trafikkøy
</navn
>
119 <navn
>Bru
</navn
>
121 <navn
>Stikkrenne/Kulvert
</navn
>
123 <navn
>Grøft, åpen
</navn
>
125 <navn
>Belysningsstrekning
</navn
>
127 <navn
>Skiltpunkt
</navn
>
129 <navn
>Skiltplate
</navn
>
131 <navn
>Referansestolpe
</navn
>
133 <navn
>Vegoppmerking, langsgående
</navn
>
135 <navn
>Fartsgrense
</navn
>
137 <navn
>Vinterdriftsstrategi
</navn
>
139 <navn
>Trafikkdeler
</navn
>
141 <navn
>Vegdekke
</navn
>
143 <navn
>Breddemåling
</navn
>
145 <navn
>Kantklippareal
</navn
>
147 <navn
>Snø-/isrydding
</navn
>
149 <navn
>Skred
</navn
>
151 <navn
>Dokumentasjon
</navn
>
153 <navn
>Undergang
</navn
>
155 <navn
>Tverrprofil
</navn
>
157 <navn
>Vegreferanse
</navn
>
159 <navn
>Region
</navn
>
161 <navn
>Fylke
</navn
>
163 <navn
>Kommune
</navn
>
165 <navn
>Gate
</navn
>
167 <navn
>Transportlenke
</navn
>
169 <navn
>Trafikkmengde
</navn
>
171 <navn
>Trafikkulykke
</navn
>
173 <navn
>Ulykkesinvolvert enhet
</navn
>
175 <navn
>Ulykkesinvolvert person
</navn
>
177 <navn
>Politidistrikt
</navn
>
179 <navn
>Vegbredde
</navn
>
181 <navn
>Høydebegrensning
</navn
>
183 <navn
>Nedbøyningsmåling
</navn
>
185 <navn
>Støy-luft, Strekningsdata
</navn
>
187 <navn
>Oppgravingsdata
</navn
>
189 <navn
>Oppgravingslag
</navn
>
191 <navn
>PMS-parsell
</navn
>
193 <navn
>Vegnormalstrekning
</navn
>
195 <navn
>Værrelatert strekning
</navn
>
197 <navn
>Feltstrekning
</navn
>
199 <navn
>Adressepunkt
</navn
>
201 <navn
>Friksjonsmåleserie
</navn
>
203 <navn
>Vegdekke, flatelapping
</navn
>
205 <navn
>Kurvatur, horisontalelement
</navn
>
207 <navn
>Kurvatur, vertikalelement
</navn
>
209 <navn
>Kurvatur, vertikalpunkt
</navn
>
211 <navn
>Statistikk, trafikkmengde
</navn
>
213 <navn
>Statistikk, vegbredde
</navn
>
215 <navn
>Nedbøyningsmåleserie
</navn
>
217 <navn
>ATK, influensstrekning
</navn
>
219 <navn
>Systemobjekt
</navn
>
221 <navn
>Vinterdriftsklasse
</navn
>
223 <navn
>Funksjonell vegklasse
</navn
>
225 <navn
>Kurvatur, stigning
</navn
>
227 <navn
>Vegbredde, beregnet
</navn
>
229 <navn
>Reisetidsregistreringspunkt
</navn
>
231 <navn
>Bruksklasse
</navn
>
234 <p>Av disse ser ID
775 og
862 mest relevant ut. ID
775 antar jeg
235 refererer til fotoboksen som står like ved brua, mens
236 «Reisetidsregistreringspunkt» kanskje kan være boksen som henger der.
237 Hvordan finner jeg så ut hva dette kan være for noe. En titt på
238 <a href=
"http://labs.vegdata.no/nvdb-datakatalog/862-Reisetidsregistreringspunkt/">datakatalogsiden
239 for ID
862/Reisetidsregistreringspunkt
</a> viser at det er finnes
53
240 slike målere i Norge, og hvor de er plassert, men gir ellers få
241 detaljer. Det er plassert
40 på østlandet og
13 i Trondheimsregionen.
242 Men siden nevner «AutoPASS», og hvis en slår opp oppføringen på
243 Sollihøgda nevner den «Ciber AS» som ID for eksternt system. (Kan det
245 <a href=
"http://www.proff.no/selskap/ciber-norge-as/oslo/internettdesign-og-programmering/Z0I3KMF4/">Ciber
246 Norge AS
</a>, et selskap eid av Ciber Europe Bv?) Et nettsøk på
247 «Ciber AS autopass» fører meg til en artikkel fra NRK Trøndelag i
249 «
<a href=
"http://www.nrk.no/trondelag/sjekk-dette-hvis-du-vil-unnga-ko-1.11327947">Sjekk
250 dette hvis du vil unngå kø
</a>». Artikkelen henviser til vegvesenets
252 <a href=
"http://www.reisetider.no/reisetid/forside.html">reisetider.no
</a>
254 <a href=
"http://www.reisetider.no/reisetid/omrade.html?omrade=5">kartside
255 for Østlandet
</a> som viser at det måles mellom Sandvika og Sollihøgda.
256 Det kan dermed se ut til at jeg har funnet ut hva boksene gjør.
</p>
258 <p>Hvis det stemmer, så er dette bokser som leser av AutoPASS-ID-en
259 til alle passerende biler med AutoPASS-brikke, og dermed gjør det mulig
260 for de som kontrollerer boksene å holde rede på hvor en gitt bil er
261 når den passerte et slikt målepunkt. NRK-artikkelen forteller at
262 denne informasjonen i dag kun brukes til å koble to
263 AutoPASS-brikkepasseringer passeringer sammen for å beregne
264 reisetiden, og at bruken er godkjent av Datatilsynet. Det er desverre
265 ikke mulig for en sjåfør som passerer under en slik boks å kontrollere
266 at AutoPASS-ID-en kun brukes til dette i dag og i fremtiden.
</p>
268 <p>I tillegg til denne type AutoPASS-sniffere vet jeg at det også
269 finnes mange automatiske stasjoner som tar betalt pr. passering (aka
270 bomstasjoner), og der lagres informasjon om tid, sted og bilnummer i
271 10 år. Finnes det andre slike sniffere plassert ut på veiene?
</p>
273 <p>Personlig har jeg valgt å ikke bruke AutoPASS-brikke, for å gjøre
274 det vanskeligere og mer kostbart for de som vil invadere privatsfæren
275 og holde rede på hvor bilen min beveger seg til enhver tid. Jeg håper
276 flere vil gjøre det samme, selv om det gir litt høyere private
277 utgifter (dyrere bompassering). Vern om privatsfæren koster i disse
280 <p>Takk til Jan Kristian Jensen i Statens Vegvesen for tips om
281 dokumentasjon på vegvesenets REST-API.
</p>
287 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>.
292 <div class=
"padding"></div>
296 <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>
302 <p>The
<a href=
"https://www.debian.org/">Debian
</a> installer could be
303 a lot quicker. When we install more than
2000 packages in
304 <a href=
"http://www.skolelinux.org/">Skolelinux / Debian Edu
</a> using
305 tasksel in the installer, unpacking the binary packages take forever.
306 A part of the slow I/O issue was discussed in
307 <a href=
"https://bugs.debian.org/613428">bug #
613428</a> about too
308 much file system sync-ing done by dpkg, which is the package
309 responsible for unpacking the binary packages. Other parts (like code
310 executed by postinst scripts) might also sync to disk during
311 installation. All this sync-ing to disk do not really make sense to
312 me. If the machine crash half-way through, I start over, I do not try
313 to salvage the half installed system. So the failure sync-ing is
314 supposed to protect against, hardware or system crash, is not really
315 relevant while the installer is running.
</p>
317 <p>A few days ago, I thought of a way to get rid of all the file
318 system sync()-ing in a fairly non-intrusive way, without the need to
319 change the code in several packages. The idea is not new, but I have
320 not heard anyone propose the approach using dpkg-divert before. It
321 depend on the small and clever package
322 <a href=
"https://packages.qa.debian.org/eatmydata">eatmydata
</a>, which
323 uses LD_PRELOAD to replace the system functions for syncing data to
324 disk with functions doing nothing, thus allowing programs to live
325 dangerous while speeding up disk I/O significantly. Instead of
326 modifying the implementation of dpkg, apt and tasksel (which are the
327 packages responsible for selecting, fetching and installing packages),
328 it occurred to me that we could just divert the programs away, replace
329 them with a simple shell wrapper calling
330 "eatmydata
$program
$@", to get the same effect.
331 Two days ago I decided to test the idea, and wrapped up a simple
332 implementation for the Debian Edu udeb.
</p>
334 <p>The effect was stunning. In my first test it reduced the running
335 time of the pkgsel step (installing tasks) from
64 to less than
44
336 minutes (
20 minutes shaved off the installation) on an old Dell
337 Latitude D505 machine. I am not quite sure what the optimised time
338 would have been, as I messed up the testing a bit, causing the debconf
339 priority to get low enough for two questions to pop up during
340 installation. As soon as I saw the questions I moved the installation
341 along, but do not know how long the question were holding up the
342 installation. I did some more measurements using Debian Edu Jessie,
343 and got these results. The time measured is the time stamp in
344 /var/log/syslog between the "pkgsel: starting tasksel" and the
345 "pkgsel: finishing up" lines, if you want to do the same measurement
346 yourself. In Debian Edu, the tasksel dialog do not show up, and the
347 timing thus do not depend on how quickly the user handle the tasksel
353 <th>Machine/setup
</th>
354 <th>Original tasksel
</th>
355 <th>Optimised tasksel
</th>
360 <td>Latitude D505 Main+LTSP LXDE
</td>
361 <td>64 min (
07:
46-
08:
50)
</td>
362 <td><44 min (
11:
27-
12:
11)
</td>
367 <td>Latitude D505 Roaming LXDE
</td>
368 <td>57 min (
08:
48-
09:
45)
</td>
369 <td>34 min (
07:
43-
08:
17)
</td>
374 <td>Latitude D505 Minimal
</td>
375 <td>22 min (
10:
37-
10:
59)
</td>
376 <td>11 min (
11:
16-
11:
27)
</td>
381 <td>Thinkpad X200 Minimal
</td>
382 <td>6 min (
08:
19-
08:
25)
</td>
383 <td>4 min (
08:
04-
08:
08)
</td>
388 <td>Thinkpad X200 Roaming KDE
</td>
389 <td>19 min (
09:
21-
09:
40)
</td>
390 <td>15 min (
10:
25-
10:
40)
</td>
396 <p>The test is done using a netinst ISO on a USB stick, so some of the
397 time is spent downloading packages. The connection to the Internet
398 was
100Mbit/s during testing, so downloading should not be a
399 significant factor in the measurement. Download typically took a few
400 seconds to a few minutes, depending on the amount of packages being
403 <p>The speedup is implemented by using two hooks in
404 <a href=
"https://www.debian.org/devel/debian-installer/">Debian
405 Installer
</a>, the pre-pkgsel.d hook to set up the diverts, and the
406 finish-install.d hook to remove the divert at the end of the
407 installation. I picked the pre-pkgsel.d hook instead of the
408 post-base-installer.d hook because I test using an ISO without the
409 eatmydata package included, and the post-base-installer.d hook in
410 Debian Edu can only operate on packages included in the ISO. The
411 negative effect of this is that I am unable to activate this
412 optimization for the kernel installation step in d-i. If the code is
413 moved to the post-base-installer.d hook, the speedup would be larger
414 for the entire installation.
</p>
416 <p>I've implemented this in the
417 <a href=
"https://packages.qa.debian.org/debian-edu-install">debian-edu-install
</a>
418 git repository, and plan to provide the optimization as part of the
419 Debian Edu installation. If you want to test this yourself, you can
420 create two files in the installer (or in an udeb). One shell script
421 need do go into /usr/lib/pre-pkgsel.d/, with content like this:
</p>
426 . /usr/share/debconf/confmodule
428 logger -t my-pkgsel "info: $*"
431 logger -t my-pkgsel "error: $*"
434 apt-install eatmydata || true
435 if [ -x /target/usr/bin/eatmydata ] ; then
436 for bin in dpkg apt-get aptitude tasksel ; do
438 # Test that the file exist and have not been diverted already.
439 if [ -f /target$file ] ; then
440 info "diverting $file using eatmydata"
441 printf "#!/bin/sh\neatmydata $bin.distrib \"\$@\"\n" \
443 chmod
755 /target$file.edu
444 in-target dpkg-divert --package debian-edu-config \
445 --rename --quiet --add $file
446 ln -sf ./$bin.edu /target$file
448 error "unable to divert $file, as it is missing."
452 error "unable to find /usr/bin/eatmydata after installing the eatmydata pacage"
457 </pre></blockquote></p>
459 <p>To clean up, another shell script should go into
460 /usr/lib/finish-install.d/ with code like this:
464 . /usr/share/debconf/confmodule
466 logger -t my-finish-install "error: $@"
468 remove_install_override() {
469 for bin in dpkg apt-get aptitude tasksel ; do
471 if [ -x /target$file.edu ] ; then
473 in-target dpkg-divert --package debian-edu-config \
474 --rename --quiet --remove $file
477 error "Missing divert for $file."
480 sync # Flush file buffers before continuing
483 remove_install_override
484 </pre></blockquote></p>
486 <p>In Debian Edu, I placed both code fragments in a separate script
487 edu-eatmydata-install and call it from the pre-pkgsel.d and
488 finish-install.d scripts.
</p>
490 <p>By now you might ask if this change should get into the normal
491 Debian installer too? I suspect it should, but am not sure the
492 current debian-installer coordinators find it useful enough. It also
493 depend on the side effects of the change. I'm not aware of any, but I
494 guess we will see if the change is safe after some more testing.
495 Perhaps there is some package in Debian depending on sync() and
496 fsync() having effect? Perhaps it should go into its own udeb, to
497 allow those of us wanting to enable it to do so without affecting
504 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>.
509 <div class=
"padding"></div>
513 <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>
519 <p>Yesterday, I had the pleasure of attending a talk with the
520 <a href=
"http://www.nuug.no/">Norwegian Unix User Group
</a> about
521 <a href=
"http://www.nuug.no/aktiviteter/20140909-sks-keyservers/">the
522 OpenPGP keyserver pool sks-keyservers.net
</a>, and was very happy to
523 learn that there is a large set of publicly available key servers to
524 use when looking for peoples public key. So far I have used
525 subkeys.pgp.net, and some times wwwkeys.nl.pgp.net when the former
526 were misbehaving, but those days are ended. The servers I have used
527 up until yesterday have been slow and some times unavailable. I hope
528 those problems are gone now.
</p>
530 <p>Behind the round robin DNS entry of the
531 <a href=
"https://sks-keyservers.net/">sks-keyservers.net
</a> service
532 there is a pool of more than
100 keyservers which are checked every
533 day to ensure they are well connected and up to date. It must be
534 better than what I have used so far. :)
</p>
536 <p>Yesterdays speaker told me that the service is the default
537 keyserver provided by the default configuration in GnuPG, but this do
538 not seem to be used in Debian. Perhaps it should?
</p>
540 <p>Anyway, I've updated my ~/.gnupg/options file to now include this
544 keyserver pool.sks-keyservers.net
545 </pre></blockquote></p>
547 <p>With GnuPG version
2 one can also locate the keyserver using SRV
548 entries in DNS. Just for fun, I did just that at work, so now every
549 user of GnuPG at the University of Oslo should find a OpenGPG
550 keyserver automatically should their need it:
</p>
553 % host -t srv _pgpkey-http._tcp.uio.no
554 _pgpkey-http._tcp.uio.no has SRV record
0 100 11371 pool.sks-keyservers.net.
556 </pre></blockquote></p>
559 <a href=
"http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/">the
560 HKP lookup protocol
</a> supported finding signature paths, I would be
561 very happy. It can look up a given key or search for a user ID, but I
562 normally do not want that, but to find a trust path from my key to
563 another key. Given a user ID or key ID, I would like to find (and
564 download) the keys representing a signature path from my key to the
565 key in question, to be able to get a trust path between the two keys.
566 This is as far as I can tell not possible today. Perhaps something
567 for a future version of the protocol?
</p>
573 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>.
578 <div class=
"padding"></div>
580 <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>
591 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
593 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
595 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
597 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
599 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
601 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
603 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
605 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
607 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
3)
</a></li>
614 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
616 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
618 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
620 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
622 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
624 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
626 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
628 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
630 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
632 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
634 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
636 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
643 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
645 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
647 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
649 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
651 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
653 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
655 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
657 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
659 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
661 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
663 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
665 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
672 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
674 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
676 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
678 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
680 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
682 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
684 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
686 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
688 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
690 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
692 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
694 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
701 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
703 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
705 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
707 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
709 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
711 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
713 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
715 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
717 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
719 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
721 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
723 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
730 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
732 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
734 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
736 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
738 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
740 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
742 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
744 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
746 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
748 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
750 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
752 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
759 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
761 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
772 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li>
774 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
776 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
778 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
780 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
8)
</a></li>
782 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
14)
</a></li>
784 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
786 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
788 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
101)
</a></li>
790 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
149)
</a></li>
792 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
10)
</a></li>
794 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
15)
</a></li>
796 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
12)
</a></li>
798 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
800 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
253)
</a></li>
802 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
21)
</a></li>
804 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li>
806 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
13)
</a></li>
808 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
8)
</a></li>
810 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
11)
</a></li>
812 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
41)
</a></li>
814 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
9)
</a></li>
816 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
19)
</a></li>
818 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
820 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
822 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
824 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
826 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
29)
</a></li>
828 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
248)
</a></li>
830 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
162)
</a></li>
832 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
11)
</a></li>
834 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
836 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
48)
</a></li>
838 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
75)
</a></li>
840 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li>
842 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
844 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
846 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
848 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
9)
</a></li>
850 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
852 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
4)
</a></li>
854 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
856 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
41)
</a></li>
858 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
860 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
4)
</a></li>
862 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
45)
</a></li>
864 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
3)
</a></li>
866 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
9)
</a></li>
868 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
26)
</a></li>
870 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
1)
</a></li>
872 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
8)
</a></li>
874 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
43)
</a></li>
876 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
878 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
33)
</a></li>
884 <p style=
"text-align: right">
885 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>