]> pere.pagekite.me Git - homepage.git/blob - blog/index.html
Bedre lenke.
[homepage.git] / blog / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="http://people.skolelinux.org/pere/blog/index.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21
22 <div class="entry">
23 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Isenkram__Appstream_and_udev_make_life_as_a_LEGO_builder_easier.html">Isenkram, Appstream and udev make life as a LEGO builder easier</a></div>
24 <div class="date"> 7th October 2016</div>
25 <div class="body"><p><a href="http://packages.qa.debian.org/isenkram">The Isenkram
26 system</a> provide a practical and easy way to figure out which
27 packages support the hardware in a given machine. The command line
28 tool <tt>isenkram-lookup</tt> and the tasksel options provide a
29 convenient way to list and install packages relevant for the current
30 hardware during system installation, both user space packages and
31 firmware packages. The GUI background daemon on the other hand provide
32 a pop-up proposing to install packages when a new dongle is inserted
33 while using the computer. For example, if you plug in a smart card
34 reader, the system will ask if you want to install <tt>pcscd</tt> if
35 that package isn't already installed, and if you plug in a USB video
36 camera the system will ask if you want to install <tt>cheese</tt> if
37 cheese is currently missing. This already work just fine.</p>
38
39 <p>But Isenkram depend on a database mapping from hardware IDs to
40 package names. When I started no such database existed in Debian, so
41 I made my own data set and included it with the isenkram package and
42 made isenkram fetch the latest version of this database from git using
43 http. This way the isenkram users would get updated package proposals
44 as soon as I learned more about hardware related packages.</p>
45
46 <p>The hardware is identified using modalias strings. The modalias
47 design is from the Linux kernel where most hardware descriptors are
48 made available as a strings that can be matched using filename style
49 globbing. It handle USB, PCI, DMI and a lot of other hardware related
50 identifiers.</p>
51
52 <p>The downside to the Isenkram specific database is that there is no
53 information about relevant distribution / Debian version, making
54 isenkram propose obsolete packages too. But along came AppStream, a
55 cross distribution mechanism to store and collect metadata about
56 software packages. When I heard about the proposal, I contacted the
57 people involved and suggested to add a hardware matching rule using
58 modalias strings in the specification, to be able to use AppStream for
59 mapping hardware to packages. This idea was accepted and AppStream is
60 now a great way for a package to announce the hardware it support in a
61 distribution neutral way. I wrote
62 <a href="http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html">a
63 recipe on how to add such meta-information</a> in a blog post last
64 December. If you have a hardware related package in Debian, please
65 announce the relevant hardware IDs using AppStream.</p>
66
67 <p>In Debian, almost all packages that can talk to a LEGO Mindestorms
68 RCX or NXT unit, announce this support using AppStream. The effect is
69 that when you insert such LEGO robot controller into your Debian
70 machine, Isenkram will propose to install the packages needed to get
71 it working. The intention is that this should allow the local user to
72 start programming his robot controller right away without having to
73 guess what packages to use or which permissions to fix.</p>
74
75 <p>But when I sat down with my son the other day to program our NXT
76 unit using his Debian Stretch computer, I discovered something
77 annoying. The local console user (ie my son) did not get access to
78 the USB device for programming the unit. This used to work, but no
79 longer in Jessie and Stretch. After some investigation and asking
80 around on #debian-devel, I discovered that this was because udev had
81 changed the mechanism used to grant access to local devices. The
82 ConsoleKit mechanism from <tt>/lib/udev/rules.d/70-udev-acl.rules</tt>
83 no longer applied, because LDAP users no longer was added to the
84 plugdev group during login. Michael Biebl told me that this method
85 was obsolete and the new method used ACLs instead. This was good
86 news, as the plugdev mechanism is a mess when using a remote user
87 directory like LDAP. Using ACLs would make sure a user lost device
88 access when she logged out, even if the user left behind a background
89 process which would retain the plugdev membership with the ConsoleKit
90 setup. Armed with this knowledge I moved on to fix the access problem
91 for the LEGO Mindstorms related packages.</p>
92
93 <p>The new system uses a udev tag, 'uaccess'. It can either be
94 applied directly for a device, or is applied in
95 /lib/udev/rules.d/70-uaccess.rules for classes of devices. As the
96 LEGO Mindstorms udev rules did not have a class, I decided to add the
97 tag directly in the udev rules files included in the packages. Here
98 is one example. For the nqc C compiler for the RCX, the
99 <tt>/lib/udev/rules.d/60-nqc.rules</tt> file now look like this:
100
101 <p><pre>
102 SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0694", ATTR{idProduct}=="0001", \
103 SYMLINK+="rcx-%k", TAG+="uaccess"
104 </pre></p>
105
106 <p>The key part is the 'TAG+="uaccess"' at the end. I suspect all
107 packages using plugdev in their /lib/udev/rules.d/ files should be
108 changed to use this tag (either directly or indirectly via
109 <tt>70-uaccess.rules</tt>). Perhaps a lintian check should be created
110 to detect this?</p>
111
112 <p>I've been unable to find good documentation on the uaccess feature.
113 It is unclear to me if the uaccess tag is an internal implementation
114 detail like the udev-acl tag used by
115 <tt>/lib/udev/rules.d/70-udev-acl.rules</tt>. If it is, I guess the
116 indirect method is the preferred way. Michael
117 <a href="https://github.com/systemd/systemd/issues/4288">asked for more
118 documentation from the systemd project</a> and I hope it will make
119 this clearer. For now I use the generic classes when they exist and
120 is already handled by <tt>70-uaccess.rules</tt>, and add the tag
121 directly if no such class exist.</p>
122
123 <p>To learn more about the isenkram system, please check out
124 <a href="http://people.skolelinux.org/pere/blog/tags/isenkram/">my
125 blog posts tagged isenkram</a>.</p>
126
127 <p>To help out making life for LEGO constructors in Debian easier,
128 please join us on our IRC channel
129 <a href="irc://irc.debian.org/%23debian-lego">#debian-lego</a> and join
130 the <a href="https://alioth.debian.org/projects/debian-lego/">Debian
131 LEGO team</a> in the Alioth project we created yesterday. A mailing
132 list is not yet created, but we are working on it. :)</p>
133
134 <p>As usual, if you use Bitcoin and want to show your support of my
135 activities, please send Bitcoin donations to my address
136 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
137 </div>
138 <div class="tags">
139
140
141 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>.
142
143
144 </div>
145 </div>
146 <div class="padding"></div>
147
148 <div class="entry">
149 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Aftenposten_redakt_ren_med_lua_i_h_nda.html">Aftenposten-redaktøren med lua i hånda</a></div>
150 <div class="date"> 9th September 2016</div>
151 <div class="body"><p>En av dagens nyheter er at Aftenpostens redaktør Espen Egil Hansen
152 bruker
153 <a href="https://www.nrk.no/kultur/aftenposten-brukar-heile-forsida-pa-facebook-kritikk-1.13126918">forsiden
154 av papiravisen på et åpent brev til Facebooks sjef Mark Zuckerberg om
155 Facebooks fjerning av bilder, tekster og sider de ikke liker</a>. Det
156 må være uvant for redaktøren i avisen Aftenposten å stå med lua i
157 handa og håpe på å bli hørt. Spesielt siden Aftenposten har vært med
158 på å gi Facebook makten de nå demonstrerer at de har. Ved å melde seg
159 inn i Facebook-samfunnet har de sagt ja til bruksvilkårene og inngått
160 en antagelig bindende avtale. Kanskje de skulle lest og vurdert
161 vilkårene litt nærmere før de sa ja, i stedet for å klage over at
162 reglende de har valgt å akseptere blir fulgt? Personlig synes jeg
163 vilkårene er uakseptable og det ville ikke falle meg inn å gå inn på
164 en avtale med slike vilkår. I tillegg til uakseptable vilkår er det
165 mange andre grunner til å unngå Facebook. Du kan finne en solid
166 gjennomgang av flere slike argumenter hos
167 <a href="https://stallman.org/facebook.html">Richard Stallmans side om
168 Facebook</a>.
169
170 <p>Jeg håper flere norske redaktører på samme vis må stå med lua i
171 hånden inntil de forstår at de selv er med på å føre samfunnet på
172 ville veier ved å omfavne Facebook slik de gjør når de omtaler og
173 løfter frem saker fra Facebook, og tar i bruk Facebook som
174 distribusjonskanal for sine nyheter. De bidrar til
175 overvåkningssamfunnet og raderer ut lesernes privatsfære når de lenker
176 til Facebook på sine sider, og låser seg selv inne i en omgivelse der
177 det er Facebook, og ikke redaktøren, som sitter med makta.</p>
178
179 <p>Men det vil nok ta tid, i et Norge der de fleste nettredaktører
180 <a href="http://people.skolelinux.org/pere/blog/Snurpenot_overv_kning_av_sensitiv_personinformasjon.html">deler
181 sine leseres personopplysinger med utenlands etterretning</a>.</p>
182
183 <p>For øvrig burde varsleren Edward Snowden få politisk asyl i
184 Norge.</p>
185 </div>
186 <div class="tags">
187
188
189 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
190
191
192 </div>
193 </div>
194 <div class="padding"></div>
195
196 <div class="entry">
197 <div class="title"><a href="http://people.skolelinux.org/pere/blog/E_tjenesten_ber_om_innsyn_i_eposten_til_partiene_p__Stortinget.html">E-tjenesten ber om innsyn i eposten til partiene på Stortinget</a></div>
198 <div class="date"> 6th September 2016</div>
199 <div class="body"><p>I helga kom det et hårreisende forslag fra Lysne II-utvalget satt
200 ned av Forsvarsdepartementet. Lysne II-utvalget var bedt om å vurdere
201 ønskelista til Forsvarets etterretningstjeneste (e-tjenesten), og har
202 kommet med
203 <a href="http://www.aftenposten.no/norge/Utvalg-sier-ja-til-at-E-tjenesten-far-overvake-innholdet-i-all-internett--og-telefontrafikk-som-krysser-riksgrensen-603232b.html">forslag
204 om at e-tjenesten skal få lov til a avlytte all Internett-trafikk</a>
205 som passerer Norges grenser. Få er klar over at dette innebærer at
206 e-tjenesten får tilgang til epost sendt til de fleste politiske
207 partiene på Stortinget. Regjeringspartiet Høyre (@hoyre.no),
208 støttepartiene Venstre (@venstre.no) og Kristelig Folkeparti (@krf.no)
209 samt Sosialistisk Ventreparti (@sv.no) og Miljøpartiet de grønne
210 (@mdg.no) har nemlig alle valgt å ta imot eposten sin via utenlandske
211 tjenester. Det betyr at hvis noen sender epost til noen med en slik
212 adresse vil innholdet i eposten, om dette forslaget blir vedtatt, gjøres
213 tilgjengelig for e-tjenesten. Venstre, Sosialistisk Ventreparti og
214 Miljøpartiet De Grønne har valgt å motta sin epost hos Google,
215 Kristelig Folkeparti har valgt å motta sin epost hos Microsoft, og
216 Høyre har valgt å motta sin epost hos Comendo med mottak i Danmark og
217 Irland. Kun Arbeiderpartiet og Fremskrittspartiet har valgt å motta
218 eposten sin i Norge, hos henholdsvis Intility AS og Telecomputing
219 AS.</p>
220
221 <p>Konsekvensen er at epost inn og ut av de politiske organisasjonene,
222 til og fra partimedlemmer og partiets tillitsvalgte vil gjøres
223 tilgjengelig for e-tjenesten for analyse og sortering. Jeg mistenker
224 at kunnskapen som slik blir tilgjengelig vil være nyttig hvis en
225 ønsker å vite hvilke argumenter som treffer publikum når en ønsker å
226 påvirke Stortingets representanter.</p
227
228 <p>Ved hjelp av MX-oppslag i DNS for epost-domene, tilhørende
229 whois-oppslag av IP-adressene og traceroute for å se hvorvidt
230 trafikken går via utlandet kan enhver få bekreftet at epost sendt til
231 de omtalte partiene vil gjøres tilgjengelig for forsvarets
232 etterretningstjeneste hvis forslaget blir vedtatt. En kan også bruke
233 den kjekke nett-tjenesten <a href="http://ipinfo.io/">ipinfo.io</a>
234 for å få en ide om hvor i verden en IP-adresse hører til.</p>
235
236 <p>På den positive siden vil forslaget gjøre at enda flere blir
237 motivert til å ta grep for å bruke
238 <a href="https://www.torproject.org/">Tor</a> og krypterte
239 kommunikasjonsløsninger for å kommunisere med sine kjære, for å sikre
240 at privatsfæren vernes. Selv bruker jeg blant annet
241 <a href="https://www.freedomboxfoundation.org/">FreedomBox</a> og
242 <a href="https://whispersystems.org/">Signal</a> til slikt. Ingen av
243 dem er optimale, men de fungerer ganske bra allerede og øker kostnaden
244 for dem som ønsker å invadere mitt privatliv.</p>
245
246 <p>For øvrig burde varsleren Edward Snowden få politisk asyl i
247 Norge.</p>
248
249 <!--
250
251 venstre.no
252 venstre.no mail is handled by 10 aspmx.l.google.com.
253 venstre.no mail is handled by 20 alt1.aspmx.l.google.com.
254 venstre.no mail is handled by 20 alt2.aspmx.l.google.com.
255 venstre.no mail is handled by 30 aspmx2.googlemail.com.
256 venstre.no mail is handled by 30 aspmx3.googlemail.com.
257
258 traceroute to aspmx.l.google.com (173.194.222.27), 30 hops max, 60 byte packets
259 1 uio-gw10.uio.no (129.240.6.1) 0.411 ms 0.438 ms 0.536 ms
260 2 uio-gw8.uio.no (129.240.24.229) 0.375 ms 0.452 ms 0.548 ms
261 3 oslo-gw1.uninett.no (128.39.65.17) 1.940 ms 1.950 ms 1.942 ms
262 4 se-tug.nordu.net (109.105.102.108) 6.910 ms 6.949 ms 7.283 ms
263 5 google-gw.nordu.net (109.105.98.6) 6.975 ms 6.967 ms 6.958 ms
264 6 209.85.250.192 (209.85.250.192) 7.337 ms 7.286 ms 10.890 ms
265 7 209.85.254.13 (209.85.254.13) 7.394 ms 209.85.254.31 (209.85.254.31) 7.586 ms 209.85.254.33 (209.85.254.33) 7.570 ms
266 8 209.85.251.255 (209.85.251.255) 15.686 ms 209.85.249.229 (209.85.249.229) 16.118 ms 209.85.251.255 (209.85.251.255) 16.073 ms
267 9 74.125.37.255 (74.125.37.255) 16.794 ms 216.239.40.248 (216.239.40.248) 16.113 ms 74.125.37.44 (74.125.37.44) 16.764 ms
268 10 * * *
269
270 mdg.no
271 mdg.no mail is handled by 1 aspmx.l.google.com.
272 mdg.no mail is handled by 5 alt2.aspmx.l.google.com.
273 mdg.no mail is handled by 5 alt1.aspmx.l.google.com.
274 mdg.no mail is handled by 10 aspmx2.googlemail.com.
275 mdg.no mail is handled by 10 aspmx3.googlemail.com.
276 sv.no
277 sv.no mail is handled by 1 aspmx.l.google.com.
278 sv.no mail is handled by 5 alt1.aspmx.l.google.com.
279 sv.no mail is handled by 5 alt2.aspmx.l.google.com.
280 sv.no mail is handled by 10 aspmx3.googlemail.com.
281 sv.no mail is handled by 10 aspmx2.googlemail.com.
282 hoyre.no
283 hoyre.no mail is handled by 10 hoyre-no.mx1.comendosystems.com.
284 hoyre.no mail is handled by 20 hoyre-no.mx2.comendosystems.net.
285
286 traceroute to hoyre-no.mx1.comendosystems.com (89.104.206.4), 30 hops max, 60 byte packets
287 1 uio-gw10.uio.no (129.240.6.1) 0.450 ms 0.510 ms 0.591 ms
288 2 uio-gw8.uio.no (129.240.24.229) 0.383 ms 0.508 ms 0.596 ms
289 3 oslo-gw1.uninett.no (128.39.65.17) 0.311 ms 0.315 ms 0.300 ms
290 4 se-tug.nordu.net (109.105.102.108) 6.837 ms 6.842 ms 6.834 ms
291 5 dk-uni.nordu.net (109.105.97.10) 26.073 ms 26.085 ms 26.076 ms
292 6 dix.1000m.soeborg.ip.comendo.dk (192.38.7.22) 15.372 ms 15.046 ms 15.123 ms
293 7 89.104.192.65 (89.104.192.65) 15.875 ms 15.990 ms 16.239 ms
294 8 89.104.192.179 (89.104.192.179) 15.676 ms 15.674 ms 15.664 ms
295 9 03dm-com.mx1.staysecuregroup.com (89.104.206.4) 15.637 ms * *
296
297 krf.no
298 krf.no mail is handled by 10 krf-no.mail.protection.outlook.com.
299
300 traceroute to krf-no.mail.protection.outlook.com (213.199.154.42), 30 hops max, 60 byte packets
301 1 uio-gw10.uio.no (129.240.6.1) 0.401 ms 0.438 ms 0.536 ms
302 2 uio-gw8.uio.no (129.240.24.229) 11.076 ms 11.120 ms 11.204 ms
303 3 oslo-gw1.uninett.no (128.39.65.17) 0.232 ms 0.234 ms 0.271 ms
304 4 se-tug.nordu.net (109.105.102.108) 6.811 ms 6.820 ms 6.815 ms
305 5 netnod-ix-ge-a-sth-4470.microsoft.com (195.245.240.181) 7.074 ms 7.013 ms 7.061 ms
306 6 ae1-0.sto-96cbe-1b.ntwk.msn.net (104.44.225.161) 7.227 ms 7.362 ms 7.293 ms
307 7 be-8-0.ibr01.ams.ntwk.msn.net (104.44.5.7) 41.993 ms 43.334 ms 41.939 ms
308 8 be-1-0.ibr02.ams.ntwk.msn.net (104.44.4.214) 43.153 ms 43.507 ms 43.404 ms
309 9 ae3-0.fra-96cbe-1b.ntwk.msn.net (104.44.5.17) 29.897 ms 29.831 ms 29.794 ms
310 10 ae10-0.vie-96cbe-1a.ntwk.msn.net (198.206.164.1) 42.309 ms 42.130 ms 41.808 ms
311 11 * ae8-0.vie-96cbe-1b.ntwk.msn.net (104.44.227.29) 41.425 ms *
312 12 * * *
313
314 arbeiderpartiet.no
315 arbeiderpartiet.no mail is handled by 10 mail.intility.com.
316 arbeiderpartiet.no mail is handled by 20 mail2.intility.com.
317
318 traceroute to mail.intility.com (188.95.245.87), 30 hops max, 60 byte packets
319 1 uio-gw10.uio.no (129.240.6.1) 0.486 ms 0.508 ms 0.649 ms
320 2 uio-gw8.uio.no (129.240.24.229) 0.416 ms 0.508 ms 0.620 ms
321 3 oslo-gw1.uninett.no (128.39.65.17) 0.276 ms 0.278 ms 0.275 ms
322 4 te3-1-2.br1.fn3.as2116.net (193.156.90.3) 0.374 ms 0.371 ms 0.416 ms
323 5 he16-1-1.cr1.san110.as2116.net (195.0.244.234) 3.132 ms he16-1-1.cr2.oslosda310.as2116.net (195.0.244.48) 10.079 ms he16-1-1.cr1.san110.as2116.net (195.0.244.234) 3.353 ms
324 6 te1-2-0.ar2.ulv89.as2116.net (195.0.243.194) 0.569 ms te5-0-0.ar2.ulv89.as2116.net (195.0.243.192) 0.661 ms 0.653 ms
325 7 cD2EC45C1.static.as2116.net (193.69.236.210) 0.654 ms 0.615 ms 0.590 ms
326 8 185.7.132.38 (185.7.132.38) 1.661 ms 1.808 ms 1.695 ms
327 9 185.7.132.100 (185.7.132.100) 1.793 ms 1.943 ms 1.546 ms
328 10 * * *
329
330 frp.no
331 frp.no mail is handled by 10 mx03.telecomputing.no.
332 frp.no mail is handled by 20 mx01.telecomputing.no.
333
334 traceroute to mx03.telecomputing.no (95.128.105.102), 30 hops max, 60 byte packets
335 1 uio-gw10.uio.no (129.240.6.1) 0.378 ms 0.402 ms 0.479 ms
336 2 uio-gw8.uio.no (129.240.24.229) 0.361 ms 0.458 ms 0.548 ms
337 3 oslo-gw1.uninett.no (128.39.65.17) 0.361 ms 0.352 ms 0.336 ms
338 4 xe-2-2-0-0.san-peer2.osl.no.ip.tdc.net (193.156.90.16) 0.375 ms 0.366 ms 0.346 ms
339 5 xe-2-0-2-0.ost-pe1.osl.no.ip.tdc.net (85.19.121.97) 0.780 ms xe-2-0-0-0.ost-pe1.osl.no.ip.tdc.net (85.19.121.101) 0.713 ms xe-2-0-2-0.ost-pe1.osl.no.ip.tdc.net (85.19.121.97) 0.759 ms
340 6 cpe.xe-0-2-0-100.ost-pe1.osl.no.customer.tdc.net (85.19.26.46) 0.837 ms 0.755 ms 0.759 ms
341 7 95.128.105.3 (95.128.105.3) 1.050 ms 1.288 ms 1.182 ms
342 8 mx03.telecomputing.no (95.128.105.102) 0.717 ms 0.703 ms 0.692 ms
343
344 -->
345 </div>
346 <div class="tags">
347
348
349 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
350
351
352 </div>
353 </div>
354 <div class="padding"></div>
355
356 <div class="entry">
357 <div class="title"><a href="http://people.skolelinux.org/pere/blog/First_draft_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook_now_public.html">First draft Norwegian Bokmål edition of The Debian Administrator's Handbook now public</a></div>
358 <div class="date">30th August 2016</div>
359 <div class="body"><p>In April we
360 <a href="http://people.skolelinux.org/pere/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html">started
361 to work</a> on a Norwegian Bokmål edition of the "open access" book on
362 how to set up and administrate a Debian system. Today I am happy to
363 report that the first draft is now publicly available. You can find
364 it on <a href="https://debian-handbook.info/get/">get the Debian
365 Administrator's Handbook page</a> (under Other languages). The first
366 eight chapters have a first draft translation, and we are working on
367 proofreading the content. If you want to help out, please start
368 contributing using
369 <a href="https://hosted.weblate.org/projects/debian-handbook/">the
370 hosted weblate project page</a>, and get in touch using
371 <a href="http://lists.alioth.debian.org/mailman/listinfo/debian-handbook-translators">the
372 translators mailing list</a>. Please also check out
373 <a href="https://debian-handbook.info/contribute/">the instructions for
374 contributors</a>. A good way to contribute is to proofread the text
375 and update weblate if you find errors.</p>
376
377 <p>Our goal is still to make the Norwegian book available on paper as well as
378 electronic form.</p>
379 </div>
380 <div class="tags">
381
382
383 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>.
384
385
386 </div>
387 </div>
388 <div class="padding"></div>
389
390 <div class="entry">
391 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html">Coz can help you find bottlenecks in multi-threaded software - nice free software</a></div>
392 <div class="date">11th August 2016</div>
393 <div class="body"><p>This summer, I read a great article
394 "<a href="https://www.usenix.org/publications/login/summer2016/curtsinger">coz:
395 This Is the Profiler You're Looking For</a>" in USENIX ;login: about
396 how to profile multi-threaded programs. It presented a system for
397 profiling software by running experiences in the running program,
398 testing how run time performance is affected by "speeding up" parts of
399 the code to various degrees compared to a normal run. It does this by
400 slowing down parallel threads while the "faster up" code is running
401 and measure how this affect processing time. The processing time is
402 measured using probes inserted into the code, either using progress
403 counters (COZ_PROGRESS) or as latency meters (COZ_BEGIN/COZ_END). It
404 can also measure unmodified code by measuring complete the program
405 runtime and running the program several times instead.</p>
406
407 <p>The project and presentation was so inspiring that I would like to
408 get the system into Debian. I
409 <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830708">created
410 a WNPP request for it</a> and contacted upstream to try to make the
411 system ready for Debian by sending patches. The build process need to
412 be changed a bit to avoid running 'git clone' to get dependencies, and
413 to include the JavaScript web page used to visualize the collected
414 profiling information included in the source package.
415 But I expect that should work out fairly soon.</p>
416
417 <p>The way the system work is fairly simple. To run an coz experiment
418 on a binary with debug symbols available, start the program like this:
419
420 <p><blockquote><pre>
421 coz run --- program-to-run
422 </pre></blockquote></p>
423
424 <p>This will create a text file profile.coz with the instrumentation
425 information. To show what part of the code affect the performance
426 most, use a web browser and either point it to
427 <a href="http://plasma-umass.github.io/coz/">http://plasma-umass.github.io/coz/</a>
428 or use the copy from git (in the gh-pages branch). Check out this web
429 site to have a look at several example profiling runs and get an idea what the end result from the profile runs look like. To make the
430 profiling more useful you include &lt;coz.h&gt; and insert the
431 COZ_PROGRESS or COZ_BEGIN and COZ_END at appropriate places in the
432 code, rebuild and run the profiler. This allow coz to do more
433 targeted experiments.</p>
434
435 <p>A video published by ACM
436 <a href="https://www.youtube.com/watch?v=jE0V-p1odPg">presenting the
437 Coz profiler</a> is available from Youtube. There is also a paper
438 from the 25th Symposium on Operating Systems Principles available
439 titled
440 <a href="https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger">Coz:
441 finding code that counts with causal profiling</a>.</p>
442
443 <p><a href="https://github.com/plasma-umass/coz">The source code</a>
444 for Coz is available from github. It will only build with clang
445 because it uses a
446 <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606">C++
447 feature missing in GCC</a>, but I've submitted
448 <a href="https://github.com/plasma-umass/coz/pull/67">a patch to solve
449 it</a> and hope it will be included in the upstream source soon.</p>
450
451 <p>Please get in touch if you, like me, would like to see this piece
452 of software in Debian. I would very much like some help with the
453 packaging effort, as I lack the in depth knowledge on how to package
454 C++ libraries.</p>
455 </div>
456 <div class="tags">
457
458
459 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software</a>.
460
461
462 </div>
463 </div>
464 <div class="padding"></div>
465
466 <div class="entry">
467 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html">Sales number for the Free Culture translation, first half of 2016</a></div>
468 <div class="date"> 5th August 2016</div>
469 <div class="body"><p>As my regular readers probably remember, the last year I published
470 a French and Norwegian translation of the classic
471 <a href="http://www.free-culture.cc/">Free Culture book</a> by the
472 founder of the Creative Commons movement, Lawrence Lessig. A bit less
473 known is the fact that due to the way I created the translations,
474 using docbook and po4a, I also recreated the English original. And
475 because I already had created a new the PDF edition, I published it
476 too. The revenue from the books are sent to the Creative Commons
477 Corporation. In other words, I do not earn any money from this
478 project, I just earn the warm fuzzy feeling that the text is available
479 for a wider audience and more people can learn why the Creative
480 Commons is needed.</p>
481
482 <p>Today, just for fun, I had a look at the sales number over at
483 Lulu.com, which take care of payment, printing and shipping. Much to
484 my surprise, the English edition is selling better than both the
485 French and Norwegian edition, despite the fact that it has been
486 available in English since it was first published. In total, 24 paper
487 books was sold for USD $19.99 between 2016-01-01 and 2016-07-31:</p>
488
489 <table border="0">
490 <tr><th>Title / language</th><th>Quantity</th></tr>
491 <tr><td><a href="http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html">Culture Libre / French</a></td><td align="right">3</td></tr>
492 <tr><td><a href="http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html">Fri kultur / Norwegian</a></td><td align="right">7</td></tr>
493 <tr><td><a href="http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html">Free Culture / English</a></td><td align="right">14</td></tr>
494 </table>
495
496 <p>The books are available both from Lulu.com and from large book
497 stores like Amazon and Barnes&Noble. Most revenue, around $10 per
498 book, is sent to the Creative Commons project when the book is sold
499 directly by Lulu.com. The other channels give less revenue. The
500 summary from Lulu tell me 10 books was sold via the Amazon channel, 10
501 via Ingram (what is this?) and 4 directly by Lulu. And Lulu.com tells
502 me that the revenue sent so far this year is USD $101.42. No idea
503 what kind of sales numbers to expect, so I do not know if that is a
504 good amount of sales for a 10 year old book or not. But it make me
505 happy that the buyers find the book, and I hope they enjoy reading it
506 as much as I did.</p>
507
508 <p>The ebook edition is available for free from
509 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">Github</a>.</p>
510
511 <p>If you would like to translate and publish the book in your native
512 language, I would be happy to help make it happen. Please get in
513 touch.</p>
514 </div>
515 <div class="tags">
516
517
518 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>.
519
520
521 </div>
522 </div>
523 <div class="padding"></div>
524
525 <div class="entry">
526 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Vitenskapen_tar_som_vanlig_feil_igjen___relativt_feil.html">Vitenskapen tar som vanlig feil igjen - relativt feil</a></div>
527 <div class="date"> 1st August 2016</div>
528 <div class="body"><p>For mange år siden leste jeg en klassisk tekst som gjorde såpass
529 inntrykk på meg at jeg husker den fortsatt, flere år senere, og bruker
530 argumentene fra den stadig vekk. Teksten var «The Relativity of
531 Wrong» som Isaac Asimov publiserte i Skeptical Inquirer i 1989. Den
532 gir litt perspektiv rundt formidlingen av vitenskapelige resultater.
533 Jeg har hatt lyst til å kunne dele den også med folk som ikke
534 behersker engelsk så godt, som barn og noen av mine eldre slektninger,
535 og har savnet å ha den tilgjengelig på norsk. For to uker siden tok
536 jeg meg sammen og kontaktet Asbjørn Dyrendal i foreningen Skepsis om
537 de var interessert i å publisere en norsk utgave på bloggen sin, og da
538 han var positiv tok jeg kontakt med Skeptical Inquirer og spurte om
539 det var greit for dem. I løpet av noen dager fikk vi tilbakemelding
540 fra Barry Karr hos The Skeptical Inquirer som hadde sjekket og fått OK
541 fra Robyn Asimov som representerte arvingene i Asmiov-familien og gikk
542 igang med oversettingen.</p>
543
544 <p>Resultatet, <a href="http://www.skepsis.no/?p=1617">«Relativt
545 feil»</a>, ble publisert på skepsis-bloggen for noen minutter siden.
546 Jeg anbefaler deg på det varmeste å lese denne teksten og dele den med
547 dine venner.</p>
548
549 <p>For å håndtere oversettelsen og sikre at original og oversettelse
550 var i sync brukte vi git, po4a, GNU make og Transifex. Det hele
551 fungerte utmerket og gjorde det enkelt å dele tekstene og jobbe sammen
552 om finpuss på formuleringene. Hadde hosted.weblate.org latt meg
553 opprette nye prosjekter selv i stedet for å måtte kontakte
554 administratoren der, så hadde jeg brukt weblate i stedet.</p>
555 </div>
556 <div class="tags">
557
558
559 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis</a>.
560
561
562 </div>
563 </div>
564 <div class="padding"></div>
565
566 <div class="entry">
567 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html">Techno TV broadcasting live across Norway and the Internet (#debconf16, #nuug) on @frikanalen</a></div>
568 <div class="date"> 1st August 2016</div>
569 <div class="body"><p>Did you know there is a TV channel broadcasting talks from DebConf
570 16 across an entire country? Or that there is a TV channel
571 broadcasting talks by or about
572 <a href="http://beta.frikanalen.no/video/625529/">Linus Torvalds</a>,
573 <a href="http://beta.frikanalen.no/video/625599/">Tor</a>,
574 <a href="http://beta.frikanalen.no/video/624019/">OpenID</A>,
575 <a href="http://beta.frikanalen.no/video/625624/">Common Lisp</a>,
576 <a href="http://beta.frikanalen.no/video/625446/">Civic Tech</a>,
577 <a href="http://beta.frikanalen.no/video/625090/">EFF founder John Barlow</a>,
578 <a href="http://beta.frikanalen.no/video/625432/">how to make 3D
579 printer electronics</a> and many more fascinating topics? It works
580 using only free software (all of it
581 <a href="http://github.com/Frikanalen">available from Github</a>), and
582 is administrated using a web browser and a web API.</p>
583
584 <p>The TV channel is the Norwegian open channel
585 <a href="http://www.frikanalen.no/">Frikanalen</a>, and I am involved
586 via <a href="https://www.nuug.no/">the NUUG member association</a> in
587 running and developing the software for the channel. The channel is
588 organised as a member organisation where its members can upload and
589 broadcast what they want (think of it as Youtube for national
590 broadcasting television). Individuals can broadcast too. The time
591 slots are handled on a first come, first serve basis. Because the
592 channel have almost no viewers and very few active members, we can
593 experiment with TV technology without too much flack when we make
594 mistakes. And thanks to the few active members, most of the slots on
595 the schedule are free. I see this as an opportunity to spread
596 knowledge about technology and free software, and have a script I run
597 regularly to fill up all the open slots the next few days with
598 technology related video. The end result is a channel I like to
599 describe as Techno TV - filled with interesting talks and
600 presentations.</p>
601
602 <p>It is available on channel 50 on the Norwegian national digital TV
603 network (RiksTV). It is also available as a multicast stream on
604 Uninett. And finally, it is available as
605 <a href="http://beta.frikanalen.no/">a WebM unicast stream</a> from
606 Frikanalen and NUUG. Check it out. :)</p>
607 </div>
608 <div class="tags">
609
610
611 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
612
613
614 </div>
615 </div>
616 <div class="padding"></div>
617
618 <div class="entry">
619 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html">Unlocking HTC Desire HD on Linux using unruu and fastboot</a></div>
620 <div class="date"> 7th July 2016</div>
621 <div class="body"><p>Yesterday, I tried to unlock a HTC Desire HD phone, and it proved
622 to be a slight challenge. Here is the recipe if I ever need to do it
623 again. It all started by me wanting to try the recipe to set up
624 <a href="https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy">an
625 hardened Android installation</a> from the Tor project blog on a
626 device I had access to. It is a old mobile phone with a broken
627 microphone The initial idea had been to just
628 <a href="http://wiki.cyanogenmod.org/w/Install_CM_for_ace">install
629 CyanogenMod on it</a>, but did not quite find time to start on it
630 until a few days ago.</p>
631
632 <p>The unlock process is supposed to be simple: (1) Boot into the boot
633 loader (press volume down and power at the same time), (2) select
634 'fastboot' before (3) connecting the device via USB to a Linux
635 machine, (4) request the device identifier token by running 'fastboot
636 oem get_identifier_token', (5) request the device unlocking key using
637 the <a href="http://www.htcdev.com/bootloader/">HTC developer web
638 site</a> and unlock the phone using the key file emailed to you.</p>
639
640 <p>Unfortunately, this only work fi you have hboot version 2.00.0029
641 or newer, and the device I was working on had 2.00.0027. This
642 apparently can be easily fixed by downloading a Windows program and
643 running it on your Windows machine, if you accept the terms Microsoft
644 require you to accept to use Windows - which I do not. So I had to
645 come up with a different approach. I got a lot of help from AndyCap
646 on #nuug, and would not have been able to get this working without
647 him.</p>
648
649 <p>First I needed to extract the hboot firmware from
650 <a href="http://www.htcdev.com/ruu/PD9810000_Ace_Sense30_S_hboot_2.00.0029.exe">the
651 windows binary for HTC Desire HD</a> downloaded as 'the RUU' from HTC.
652 For this there is is <a href="https://github.com/kmdm/unruu/">a github
653 project named unruu</a> using libunshield. The unshield tool did not
654 recognise the file format, but unruu worked and extracted rom.zip,
655 containing the new hboot firmware and a text file describing which
656 devices it would work for.</p>
657
658 <p>Next, I needed to get the new firmware into the device. For this I
659 followed some instructions
660 <a href="http://www.htc1guru.com/2013/09/new-ruu-zips-posted/">available
661 from HTC1Guru.com</a>, and ran these commands as root on a Linux
662 machine with Debian testing:</p>
663
664 <p><pre>
665 adb reboot-bootloader
666 fastboot oem rebootRUU
667 fastboot flash zip rom.zip
668 fastboot flash zip rom.zip
669 fastboot reboot
670 </pre></p>
671
672 <p>The flash command apparently need to be done twice to take effect,
673 as the first is just preparations and the second one do the flashing.
674 The adb command is just to get to the boot loader menu, so turning the
675 device on while holding volume down and the power button should work
676 too.</p>
677
678 <p>With the new hboot version in place I could start following the
679 instructions on the HTC developer web site. I got the device token
680 like this:</p>
681
682 <p><pre>
683 fastboot oem get_identifier_token 2>&1 | sed 's/(bootloader) //'
684 </pre>
685
686 <p>And once I got the unlock code via email, I could use it like
687 this:</p>
688
689 <p><pre>
690 fastboot flash unlocktoken Unlock_code.bin
691 </pre></p>
692
693 <p>And with that final step in place, the phone was unlocked and I
694 could start stuffing the software of my own choosing into the device.
695 So far I only inserted a replacement recovery image to wipe the phone
696 before I start. We will see what happen next. Perhaps I should
697 install <a href="https://www.debian.org/">Debian</a> on it. :)</p>
698 </div>
699 <div class="tags">
700
701
702 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <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/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
703
704
705 </div>
706 </div>
707 <div class="padding"></div>
708
709 <div class="entry">
710 <div class="title"><a href="http://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html">How to use the Signal app if you only have a land line (ie no mobile phone)</a></div>
711 <div class="date"> 3rd July 2016</div>
712 <div class="body"><p>For a while now, I have wanted to test
713 <a href="https://whispersystems.org/">the Signal app</a>, as it is
714 said to provide end to end encrypted communication and several of my
715 friends and family are already using it. As I by choice do not own a
716 mobile phone, this proved to be harder than expected. And I wanted to
717 have the source of the client and know that it was the code used on my
718 machine. But yesterday I managed to get it working. I used the
719 Github source, compared it to the source in
720 <a href="https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en-US">the
721 Signal Chrome app</a> available from the Chrome web store, applied
722 patches to use the production Signal servers, started the app and
723 asked for the hidden "register without a smart phone" form. Here is
724 the recipe how I did it.</p>
725
726 <p>First, I fetched the Signal desktop source from Github, using
727
728 <pre>
729 git clone https://github.com/WhisperSystems/Signal-Desktop.git
730 </pre>
731
732 <p>Next, I patched the source to use the production servers, to be
733 able to talk to other Signal users:</p>
734
735 <pre>
736 cat &lt;&lt;EOF | patch -p0
737 diff -ur ./js/background.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js
738 --- ./js/background.js 2016-06-29 13:43:15.630344628 +0200
739 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js 2016-06-29 14:06:29.530300934 +0200
740 @@ -47,8 +47,8 @@
741 });
742 });
743
744 - var SERVER_URL = 'https://textsecure-service-staging.whispersystems.org';
745 - var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com';
746 + var SERVER_URL = 'https://textsecure-service-ca.whispersystems.org:4433';
747 + var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments.s3.amazonaws.com';
748 var messageReceiver;
749 window.getSocketStatus = function() {
750 if (messageReceiver) {
751 diff -ur ./js/expire.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js
752 --- ./js/expire.js 2016-06-29 13:43:15.630344628 +0200
753 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js2016-06-29 14:06:29.530300934 +0200
754 @@ -1,6 +1,6 @@
755 ;(function() {
756 'use strict';
757 - var BUILD_EXPIRATION = 0;
758 + var BUILD_EXPIRATION = 1474492690000;
759
760 window.extension = window.extension || {};
761
762 EOF
763 </pre>
764
765 <p>The first part is changing the servers, and the second is updating
766 an expiration timestamp. This timestamp need to be updated regularly.
767 It is set 90 days in the future by the build process (Gruntfile.js).
768 The value is seconds since 1970 times 1000, as far as I can tell.</p>
769
770 <p>Based on a tip and good help from the #nuug IRC channel, I wrote a
771 script to launch Signal in Chromium.</p>
772
773 <pre>
774 #!/bin/sh
775 cd $(dirname $0)
776 mkdir -p userdata
777 exec chromium \
778 --proxy-server="socks://localhost:9050" \
779 --user-data-dir=`pwd`/userdata --load-and-launch-app=`pwd`
780 </pre>
781
782 <p> The script start the app and configure Chromium to use the Tor
783 SOCKS5 proxy to make sure those controlling the Signal servers (today
784 Amazon and Whisper Systems) as well as those listening on the lines
785 will have a harder time location my laptop based on the Signal
786 connections if they use source IP address.</p>
787
788 <p>When the script starts, one need to follow the instructions under
789 "Standalone Registration" in the CONTRIBUTING.md file in the git
790 repository. I right clicked on the Signal window to get up the
791 Chromium debugging tool, visited the 'Console' tab and wrote
792 'extension.install("standalone")' on the console prompt to get the
793 registration form. Then I entered by land line phone number and
794 pressed 'Call'. 5 seconds later the phone rang and a robot voice
795 repeated the verification code three times. After entering the number
796 into the verification code field in the form, I could start using
797 Signal from my laptop.
798
799 <p>As far as I can tell, The Signal app will leak who is talking to
800 whom and thus who know who to those controlling the central server,
801 but such leakage is hard to avoid with a centrally controlled server
802 setup. It is something to keep in mind when using Signal - the
803 content of your chats are harder to intercept, but the meta data
804 exposing your contact network is available to people you do not know.
805 So better than many options, but not great. And sadly the usage is
806 connected to my land line, thus allowing those controlling the server
807 to associate it to my home and person. I would prefer it if only
808 those I knew could tell who I was on Signal. There are options
809 avoiding such information leakage, but most of my friends are not
810 using them, so I am stuck with Signal for now.</p>
811 </div>
812 <div class="tags">
813
814
815 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/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
816
817
818 </div>
819 </div>
820 <div class="padding"></div>
821
822 <p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
823 <div id="sidebar">
824
825
826
827 <h2>Archive</h2>
828 <ul>
829
830 <li>2016
831 <ul>
832
833 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
834
835 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
836
837 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
838
839 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
840
841 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
842
843 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
844
845 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
846
847 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
848
849 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
850
851 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (1)</a></li>
852
853 </ul></li>
854
855 <li>2015
856 <ul>
857
858 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
859
860 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
861
862 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
863
864 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
865
866 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
867
868 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
869
870 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
871
872 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
873
874 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
875
876 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
877
878 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
879
880 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
881
882 </ul></li>
883
884 <li>2014
885 <ul>
886
887 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
888
889 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
890
891 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
892
893 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
894
895 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
896
897 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
898
899 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
900
901 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
902
903 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
904
905 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
906
907 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
908
909 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
910
911 </ul></li>
912
913 <li>2013
914 <ul>
915
916 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
917
918 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
919
920 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
921
922 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
923
924 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
925
926 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
927
928 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
929
930 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
931
932 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
933
934 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
935
936 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
937
938 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
939
940 </ul></li>
941
942 <li>2012
943 <ul>
944
945 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
946
947 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
948
949 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
950
951 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
952
953 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
954
955 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
956
957 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
958
959 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
960
961 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
962
963 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
964
965 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
966
967 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
968
969 </ul></li>
970
971 <li>2011
972 <ul>
973
974 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
975
976 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
977
978 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
979
980 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
981
982 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
983
984 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
985
986 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
987
988 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
989
990 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
991
992 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
993
994 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
995
996 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
997
998 </ul></li>
999
1000 <li>2010
1001 <ul>
1002
1003 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
1004
1005 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
1006
1007 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
1008
1009 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
1010
1011 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
1012
1013 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
1014
1015 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
1016
1017 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
1018
1019 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
1020
1021 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
1022
1023 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
1024
1025 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
1026
1027 </ul></li>
1028
1029 <li>2009
1030 <ul>
1031
1032 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
1033
1034 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
1035
1036 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
1037
1038 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
1039
1040 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
1041
1042 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
1043
1044 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
1045
1046 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
1047
1048 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
1049
1050 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
1051
1052 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
1053
1054 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
1055
1056 </ul></li>
1057
1058 <li>2008
1059 <ul>
1060
1061 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
1062
1063 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
1064
1065 </ul></li>
1066
1067 </ul>
1068
1069
1070
1071 <h2>Tags</h2>
1072 <ul>
1073
1074 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
1075
1076 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
1077
1078 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
1079
1080 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
1081
1082 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (9)</a></li>
1083
1084 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (16)</a></li>
1085
1086 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
1087
1088 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
1089
1090 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (136)</a></li>
1091
1092 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (157)</a></li>
1093
1094 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
1095
1096 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (15)</a></li>
1097
1098 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (23)</a></li>
1099
1100 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
1101
1102 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (328)</a></li>
1103
1104 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
1105
1106 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
1107
1108 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (28)</a></li>
1109
1110 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
1111
1112 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (18)</a></li>
1113
1114 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
1115
1116 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
1117
1118 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (13)</a></li>
1119
1120 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>
1121
1122 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
1123
1124 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
1125
1126 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
1127
1128 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
1129
1130 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
1131
1132 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (39)</a></li>
1133
1134 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (8)</a></li>
1135
1136 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (278)</a></li>
1137
1138 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (182)</a></li>
1139
1140 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (26)</a></li>
1141
1142 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
1143
1144 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (61)</a></li>
1145
1146 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (92)</a></li>
1147
1148 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
1149
1150 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
1151
1152 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
1153
1154 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
1155
1156 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (9)</a></li>
1157
1158 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1159
1160 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
1161
1162 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
1163
1164 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (48)</a></li>
1165
1166 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
1167
1168 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
1169
1170 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (49)</a></li>
1171
1172 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (4)</a></li>
1173
1174 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (10)</a></li>
1175
1176 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (39)</a></li>
1177
1178 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (2)</a></li>
1179
1180 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
1181
1182 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
1183
1184 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (59)</a></li>
1185
1186 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1187
1188 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (38)</a></li>
1189
1190 </ul>
1191
1192
1193 </div>
1194 <p style="text-align: right">
1195 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1196 </p>
1197
1198 </body>
1199 </html>