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