]> 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/Oversette_bokm_l_til_nynorsk__enklere_enn_du_tror_takket_v_re_Apertium.html">Oversette bokmål til nynorsk, enklere enn du tror takket være Apertium</a></div>
24 <div class="date">24th November 2016</div>
25 <div class="body"><p>I Norge er det mange som trenger å skrive både bokmål og nynorsk.
26 Eksamensoppgaver, offentlige brev og nyheter er eksempler på tekster
27 der det er krav om målføre. I tillegg til alle skoleoppgavene som
28 elever over det ganske land skal levere inn hvert år. Det mange ikke
29 vet er at selv om de kommersielle alternativene
30 <a href="https://translate.google.com/">Google Translate</a> og
31 <a href="https://www.bing.com/translator/">Bing Translator</a> ikke kan
32 bidra med å oversette mellom bokmål og nynorsk, så finnes det et
33 utmerket fri programvarealternativ som kan. Oversetterverktøyet
34 Apertium har støtte for en rekke språkkombinasjoner, og takket være
35 den utrettelige innsatsen til blant annet Kevin Brubeck Unhammer, kan
36 en bruke webtjenesten til å fylle inn en tekst på bokmål eller
37 nynorsk, og få den automatoversatt til det andre målføret. Resultatet
38 er ikke perfekt, men et svært godt utgangspunkt. Av og til er
39 resultatet så bra at det kan benyttes uten endringer. Jeg vet
40 f.eks. at store deler av Joomla ble oversatt til nynorsk ved hjelp
41 Apertium. Høres det ut som noe du kan ha bruk for? Besøk i så fall
42 <a href="https://www.apertium.org/">Apertium.org</a> og fyll inn
43 teksten din i webskjemaet der.
44
45 <p>Hvis du trenger maskinell tilgang til den bakenforliggende
46 teknologien kan du enten installere pakken
47 <a href="https://tracker.debian.org/apertium-nno-nob">apertium-nno-nob</a>
48 på en Debian-maskin eller bruke web-API-et tilgjengelig fra
49 api.apertium.org. Se
50 <a href="http://wiki.apertium.org/wiki/Apertium-apy">API-dokumentasjonen</a>
51 for detaljer om web-API-et. Her kan du se hvordan resultatet blir for
52 denne teksten som ble skrevet på bokmål over maskinoversatt til
53 nynorsk.</p>
54
55 <hr/>
56
57 <p>I Noreg er det mange som treng å skriva både bokmål og nynorsk.
58 Eksamensoppgåver, offentlege brev og nyhende er døme på tekster der
59 det er krav om målføre. I tillegg til alle skuleoppgåvene som elevar
60 over det ganske land skal levera inn kvart år. Det mange ikkje veit
61 er at sjølv om dei kommersielle alternativa
62 <a href="https://translate.google.com/">Google *Translate</a> og
63 <a href="https://www.bing.com/translator/">Bing *Translator</a> ikkje
64 kan bidra med å omsetja mellom bokmål og nynorsk, så finst det eit
65 utmerka fri programvarealternativ som kan. Omsetjarverktøyet
66 *Apertium har støtte for ei rekkje språkkombinasjonar, og takka vera
67 den utrøyttelege innsatsen til blant anna Kevin Brubeck Unhammer, kan
68 ein bruka *webtjenesten til å fylla inn ei tekst på bokmål eller
69 nynorsk, og få den *automatoversatt til det andre målføret.
70 Resultatet er ikkje perfekt, men eit svært godt utgangspunkt. Av og
71 til er resultatet så bra at det kan nyttast utan endringar. Eg veit
72 t.d. at store delar av *Joomla vart omsett til nynorsk ved hjelp
73 *Apertium. Høyrast det ut som noko du kan ha bruk for? Besøk i så
74 fall <a href="https://www.apertium.org/">*Apertium.org</a> og fyll inn
75 teksta di i *webskjemaet der.
76
77 <p>Viss du treng *maskinell tilgjenge til den *bakenforliggende
78 teknologien kan du anten installera pakken
79 <a href="https://tracker.debian.org/apertium-nno-nob">*apertium-*nno-*nob</a>
80 på ein *Debian-maskin eller bruka *web-*API-eit tilgjengeleg frå
81 *api.*apertium.org. Sjå
82 <a href="http://wiki.apertium.org/wiki/Apertium-apy">*API-dokumentasjonen</a>
83 for detaljar om *web-*API-eit. Her kan du sjå korleis resultatet vert
84 for denne teksta som vart skreva på bokmål over *maskinoversatt til
85 nynorsk.</p>
86 </div>
87 <div class="tags">
88
89
90 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll</a>.
91
92
93 </div>
94 </div>
95 <div class="padding"></div>
96
97 <div class="entry">
98 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Hyperions_magasin_Pegasus_g_r_for_Creative_Commons.html">Hyperions magasin Pegasus går for Creative Commons</a></div>
99 <div class="date">22nd November 2016</div>
100 <div class="body"><p>For noen dager siden ble jeg tipset av min venn Andreas
101 Aanerud om at <a href="http://magasinetpegasus.no">magasinet
102 Pegasus</a> skulle ta i bruk
103 <a href="https://creativecommons.org/">Creative
104 Commons</a>-lisensiering på sine artikler. Han fortalte at den
105 direkte årsaken var at han hadde blitt inspirert av å lese
106 <a href=" http://www.lulu.com/shop/http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html">boken
107 Fri kultur</a>
108 (<a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>)
109 og foreslått endringen. Jeg ble veldig glad for å høre
110 dette, da det er det første konkrete tilfellet jeg har hørt om der den
111 norske oversettelsen av <a href="http://www.free-culture.cc/">
112 Lawrence Lessigs bok Free Culture</a> som jeg ga ut i fjor høst hadde
113 fått noen til å ta i bruk Creative Commons.</p>
114
115 <p>Andreas fikk boken av meg som takk for at han inviterte meg til
116 <a href="http://www.gathering.org/">The Gathering</a>, og jeg er veldig
117 glad for at den falt i smak. Jeg ble nysgjerrig på hva som var
118 bakgrunnen for denne policy-endringen hos Hyperion og han sa seg
119 villig til å la seg intervjue til bloggen min. </p>
120
121 <blockquote>
122
123 <p><strong>Hvilke tanker gjorde du deg da boken lå i hånden første
124 gang?</strong></p>
125
126 <p>Jeg husker da jeg fikk boken, etter en omvisning på The Gathering i
127 2016, der jeg var Core Organizer. The Gathering er jo et sted hvor en
128 fremmer delingskultur, i alt fra kode, til løsninger og «hacks», så en
129 kan vel si at boken er veldig relevant!</p>
130
131 <p>Mine første tanker om boken, var at den trengte et grafisk løft.
132 Selv har jeg dysleksi og er ikke verdens beste i å lese, men for meg
133 så skal ikke det bety at jeg ikke klarer å lese. Jeg har jo også mine
134 egne tanker om «Fri kultur», ettersom jeg har jobbet med noen norske
135 filmer via NRK og TV2 og nå sitter som en teknisk leder i
136 filmavdelingen til Schjærven Reklamebyrå.</p>
137
138 <p><strong>Har du lest boken, og hva tenker du om den nå?</strong></p>
139
140 <p>Jeg har lest boken, og for meg er det jo veldig moro å kunne si at
141 Disney var en pirat og nå ha bevisene. Men det å gå fra Disney via
142 RIAA, og så igjennom en jungel av teknikk og programmering og ende opp
143 med spørsmålet om vi alle piratkopierer litt, er enda bedre. For ja,
144 boken klarer å få frem en diskusjon om åndsverk på en god måte
145 gjennom en samling historier, men den viste meg også et bilde, hvor
146 teknologi blir kneblet, og ikke får lov til å utvikle seg, ettersom
147 «opphavsrettsinnehaverne» bryr seg mer om sin industri enn om verden
148 går fremover. Ta f.eks. internettradio! Hvorfor tuller vi med DAB+
149 og alt det der, når radio kan være en app på alle telefoner i dag.
150 Men den største tanken som jeg satt igjen med, er at vi må få færre
151 advokater og flere tenkere som kan dra oss vekk fra de feilene vi er i
152 ferd med å ende opp i.</p>
153
154 <p><strong>Har budskapet i boken påvirker deg og det du holder på
155 med?</strong></p>
156
157 <p>The Gathering sin moderforening er
158 <a href="http://www.kandu.no/">KANDU</a>, som er et stolt medlem av <a
159 href="http://n4f.no/">Hyperion</a>. Hyperion har et mandat igjennom
160 sitt interne magasin Pegasus å fremme Hyperion sine
161 medlemsarrangementer og kultur. Dette tror jeg er veldig viktig, og en
162 av de viktigste virkemidlene det magasinet nå har fått, er pålegget om
163 å publisere alt under de forskjellige Creative Commons
164 retningslinjer. Grunnen til at Pegasus kan velge fritt blant lisensene
165 til Creative Commons er deres bruk av freelancere m.m. som også må få
166 sine rettigheter dekket.</p>
167
168 <p>Det er et steg i riktig retning som jeg håper, vil gi lokalaviser,
169 nasjonale aviser, bloggere m.m. muligheten til å referere til Pegasus
170 sitt innhold uten å måtte be om tillatelse først, som i bunnen vil
171 hjelpe oss å spre vår kultur i Hyperion.</p>
172
173 <p><strong>Hva fikk Pegasus til å vedta retninglinjer om bruk av
174 Creative Commons, og hvordan kom dere frem til en slik
175 policy?</strong></p>
176
177 <p>Dette skjedde på Hyperion sitt landsting, hvor jeg ønsket å fremme
178 Creative Commons som en retning som flere mener magasinet burde ta,
179 hvordan Pegasus tar det i bruk er mer opp til redaksjonen. Det som var
180 trist er at en del har misforstått hva Creative Commons er. Vi fikk
181 en veldig het «debatt» på facebook i etterkant hvor noen blant annet
182 mener at dette vedtaket har drept Pegasus.</p>
183
184 <p>Personlig syntes jeg disse reaksjonene er rare, ettersom Pegasus er
185 et medlemsmagasin og magasinet sitt mål er å spre vår fantastiske
186 kultur. Jeg mener at Ceative Commons-bruksvilkår på artikler skaper
187 en veldig god mulighet til å spre denne kulturen. Det gjør at større
188 og mindre aviser kan låne artikler fra medlemsmagasinet og publisere
189 det hos seg, slik at effekten nettopp er fremme vår kultur.</p>
190
191 <p>Jeg gleder meg til å se hvordan redaksjonen håndhever bruken av
192 Creative Commons.</p>
193
194 <p><strong>Hvem tror du kunne ha mest nytte av å lese Fri
195 kultur?</strong></p>
196
197 <p>Jeg tror at boken Fri kultur bør leses av de som ønsker en debatt
198 om nye medier, samt de som jobber med medier og føler seg «truet» av
199 utviklingen. Kanskje det kan være et lysglimt om at vi må heller være
200 med å utvikle oss, enn å stoppe opp og «beskytte» våre eier-, penge-
201 og materielle interesser.</p>
202
203 <p>Spørsmålet for redaksjoner vil vel være om de «tjener» på klikk og
204 sine artikler via annonser, i så fall ville jeg tenkt litt rundt
205 spredningen. Nettavisen Digi.no gjorde en analyse i 2015 som var
206 veldig fin. Hvor de måtte konkludere med at de fikk ut budskapet
207 bedre, men de mistet inntekter på annonsevisning.</p>
208
209 <p>Derfor for et magasin som skal «spre» kultur, så burde Creative
210 Commons være en no-brainer, en kunne også kanskje argumentere med at
211 NRK også burde gjøre dette, ettersom de ikke lever av reklame, og vi
212 betaler for innholdet deres.</p>
213
214 <p><strong>Kommer du til å anbefale boken til noen du
215 kjenner?</strong></p>
216
217 <p>Absolutt! Jeg har faktisk tenkt å gi den videre som en vandrebok,
218 til redaksjonen i Pegasus slik at de kan lese den og få noen ider og
219 tanker om fri kultur.</p>
220
221 <p><strong>Du sier at boken klarer å få frem viktig en diskusjon om
222 vern av åndsverk. Boken er jo skrevet med bakgrunn i USAs
223 Copyright-lovgiving og ikke den norske åndsverksloven. Hva gjør at
224 du mener boken er relevant for den norske debatten?</strong></p>
225
226 <p>En av tingene boken pekte på var tanken om hvor opphavsretten skal
227 ligge. Skal den ligge hos den som skriver sangen, den som fremfører
228 eller den som tar opp sangen. Og når spørsmålet kom tilbake i en
229 software-utgave, «hvordan kan Adobe styre opphavsretten i sin eBook
230 Publisher» så føler jeg at vi kommer inn på spennende tanker som jeg
231 mener vi glemmer i norsk åndsverksdebatt. USA har rett å slett et
232 «større bilde» som kanskje vi kan ta lærdom av.</p>
233
234 </blockquote>
235
236 <p>Jeg er veldig spent på hvordan redaksjonen i Pegasus kommer til å
237 ta i bruk Creative Commons, og gleder meg til neste tegn på at
238 bokutgivelsen har fått noen til å tenke mer på problemene med dagens
239 åndsverksvern.</p>
240 </div>
241 <div class="tags">
242
243
244 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
245
246
247 </div>
248 </div>
249 <div class="padding"></div>
250
251 <div class="entry">
252 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html">Coz profiler for multi-threaded software is now in Debian</a></div>
253 <div class="date">13th November 2016</div>
254 <div class="body"><p><a href="http://coz-profiler.org/">The Coz profiler</a>, a nice
255 profiler able to run benchmarking experiments on the instrumented
256 multi-threaded program, finally
257 <a href="https://tracker.debian.org/pkg/coz-profiler">made it into
258 Debian unstable yesterday</A>. Lluís Vilanova and I have spent many
259 months since
260 <a href="http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html">I
261 blogged about the coz tool</a> in August working with upstream to make
262 it suitable for Debian. There are still issues with clang
263 compatibility, inline assembly only working x86 and minimized
264 JavaScript libraries.</p>
265
266 <p>To test it, install 'coz-profiler' using apt and run it like this:</p>
267
268 <p><blockquote>
269 <tt>coz run --- /path/to/binary-with-debug-info</tt>
270 </blockquote></p>
271
272 <p>This will produce a profile.coz file in the current working
273 directory with the profiling information. This is then given to a
274 JavaScript application provided in the package and available from
275 <a href="http://plasma-umass.github.io/coz/">a project web page</a>.
276 To start the local copy, invoke it in a browser like this:</p>
277
278 <p><blockquote>
279 <tt>sensible-browser /usr/share/coz-profiler/viewer/index.htm</tt>
280 </blockquote></p>
281
282 <p>See the project home page and the
283 <a href="https://www.usenix.org/publications/login/summer2016/curtsinger">USENIX
284 ;login: article on Coz</a> for more information on how it is
285 working.</p>
286 </div>
287 <div class="tags">
288
289
290 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>.
291
292
293 </div>
294 </div>
295 <div class="padding"></div>
296
297 <div class="entry">
298 <div class="title"><a href="http://people.skolelinux.org/pere/blog/How_to_talk_with_your_loved_ones_in_private.html">How to talk with your loved ones in private</a></div>
299 <div class="date"> 7th November 2016</div>
300 <div class="body"><p>A few days ago I ran a very biased and informal survey to get an
301 idea about what options are being used to communicate with end to end
302 encryption with friends and family. I explicitly asked people not to
303 list options only used in a work setting. The background is the
304 uneasy feeling I get when using Signal, a feeling shared by others as
305 a blog post from Sander Venima about
306 <a href="https://sandervenema.ch/2016/11/why-i-wont-recommend-signal-anymore/">why
307 he do not recommend Signal anymore</a> (with
308 <a href="https://news.ycombinator.com/item?id=12883410">feedback from
309 the Signal author available from ycombinator</a>). I wanted an
310 overview of the options being used, and hope to include those options
311 in a less biased survey later on. So far I have not taken the time to
312 look into the individual proposed systems. They range from text
313 sharing web pages, via file sharing and email to instant messaging,
314 VOIP and video conferencing. For those considering which system to
315 use, it is also useful to have a look at
316 <a href="https://www.eff.org/secure-messaging-scorecard">the EFF Secure
317 messaging scorecard</a> which is slightly out of date but still
318 provide valuable information.</p>
319
320 <p>So, on to the list. There were some used by many, some used by a
321 few, some rarely used ones and a few mentioned but without anyone
322 claiming to use them. Notice the grouping is in reality quite random
323 given the biased self selected set of participants. First the ones
324 used by many:</p>
325
326 <ul>
327
328 <li><a href="https://whispersystems.org/">Signal</a></li>
329 <li>Email w/<a href="http://openpgp.org/">OpenPGP</a> (Enigmail, GPGSuite,etc)</li>
330 <li><a href="https://www.whatsapp.com/">Whatsapp</a></li>
331 <li>IRC w/<a href="https://otr.cypherpunks.ca/">OTR</a></li>
332 <li>XMPP w/<a href="https://otr.cypherpunks.ca/">OTR</a></li>
333
334 </ul>
335
336 <p>Then the ones used by a few.</p>
337
338 <ul>
339
340 <li><a href="https://wiki.mumble.info/wiki/Main_Page">Mumble</a></li>
341 <li>iMessage (included in iOS from Apple)</li>
342 <li><a href="https://telegram.org/">Telegram</a></li>
343 <li><a href="https://jitsi.org/">Jitsi</a></li>
344 <li><a href="https://keybase.io/download">Keybase file</a></li>
345
346 </ul>
347
348 <p>Then the ones used by even fewer people</p>
349
350 <ul>
351
352 <li><a href="https://ring.cx/">Ring</a></li>
353 <li><a href="https://bitmessage.org/">Bitmessage</a></li>
354 <li><a href="https://wire.com/">Wire</a></li>
355 <li>VoIP w/<a href="https://en.wikipedia.org/wiki/ZRTP">ZRTP</a> or controlled <a href="https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol">SRTP</a> (e.g using <a href="https://en.wikipedia.org/wiki/CSipSimple">CSipSimple</a>, <a href="https://en.wikipedia.org/wiki/Linphone">Linphone</a>)</li>
356 <li><a href="https://matrix.org/">Matrix</a></li>
357 <li><a href="https://kontalk.org/">Kontalk</a></li>
358 <li><a href="https://0bin.net/">0bin</a> (encrypted pastebin)</li>
359 <li><a href="https://appear.in">Appear.in</a></li>
360 <li><a href="https://riot.im/">riot</a></li>
361 <li><a href="https://www.wickr.com/">Wickr Me</a></li>
362
363 </ul>
364
365 <p>And finally the ones mentioned by not marked as used by
366 anyone. This might be a mistake, perhaps the person adding the entry
367 forgot to flag it as used?</p>
368
369 <ul>
370
371 <li>Email w/Certificates <a href="https://en.wikipedia.org/wiki/S/MIME">S/MIME</a></li>
372 <li><a href="https://www.crypho.com/">Crypho</a></li>
373 <li><a href="https://cryptpad.fr/">CryptPad</a></li>
374 <li><a href="https://github.com/ricochet-im/ricochet">ricochet</a></li>
375
376 </ul>
377
378 <p>Given the network effect it seem obvious to me that we as a society
379 have been divided and conquered by those interested in keeping
380 encrypted and secure communication away from the masses. The
381 finishing remarks <a href="https://vimeo.com/97505679">from Aral Balkan
382 in his talk "Free is a lie"</a> about the usability of free software
383 really come into effect when you want to communicate in private with
384 your friends and family. We can not expect them to allow the
385 usability of communication tool to block their ability to talk to
386 their loved ones.</p>
387
388 <p>Note for example the option IRC w/OTR. Most IRC clients do not
389 have OTR support, so in most cases OTR would not be an option, even if
390 you wanted to. In my personal experience, about 1 in 20 I talk to
391 have a IRC client with OTR. For private communication to really be
392 available, most people to talk to must have the option in their
393 currently used client. I can not simply ask my family to install an
394 IRC client. I need to guide them through a technical multi-step
395 process of adding extensions to the client to get them going. This is
396 a non-starter for most.</p>
397
398 <p>I would like to be able to do video phone calls, audio phone calls,
399 exchange instant messages and share files with my loved ones, without
400 being forced to share with people I do not know. I do not want to
401 share the content of the conversations, and I do not want to share who
402 I communicate with or the fact that I communicate with someone.
403 Without all these factors in place, my private life is being more or
404 less invaded.</p>
405 </div>
406 <div class="tags">
407
408
409 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
410
411
412 </div>
413 </div>
414 <div class="padding"></div>
415
416 <div class="entry">
417 <div class="title"><a href="http://people.skolelinux.org/pere/blog/My_own_self_balancing_Lego_Segway.html">My own self balancing Lego Segway</a></div>
418 <div class="date"> 4th November 2016</div>
419 <div class="body"><p>A while back I received a Gyro sensor for the NXT
420 <a href="mindstorms.lego.com">Mindstorms</a> controller as a birthday
421 present. It had been on my wishlist for a while, because I wanted to
422 build a Segway like balancing lego robot. I had already built
423 <a href="http://www.nxtprograms.com/NXT2/segway/">a simple balancing
424 robot</a> with the kids, using the light/color sensor included in the
425 NXT kit as the balance sensor, but it was not working very well. It
426 could balance for a while, but was very sensitive to the light
427 condition in the room and the reflective properties of the surface and
428 would fall over after a short while. I wanted something more robust,
429 and had
430 <a href="https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NGY1044">the
431 gyro sensor from HiTechnic</a> I believed would solve it on my
432 wishlist for some years before it suddenly showed up as a gift from my
433 loved ones. :)</p>
434
435 <p>Unfortunately I have not had time to sit down and play with it
436 since then. But that changed some days ago, when I was searching for
437 lego segway information and came across a recipe from HiTechnic for
438 building
439 <a href="http://www.hitechnic.com/blog/gyro-sensor/htway/">the
440 HTWay</a>, a segway like balancing robot. Build instructions and
441 <a href="https://www.hitechnic.com/upload/786-HTWayC.nxc">source
442 code</a> was included, so it was just a question of putting it all
443 together. And thanks to the great work of many Debian developers, the
444 compiler needed to build the source for the NXT is already included in
445 Debian, so I was read to go in less than an hour. The resulting robot
446 do not look very impressive in its simplicity:</p>
447
448 <p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-robot.jpeg"></p>
449
450 <p>Because I lack the infrared sensor used to control the robot in the
451 design from HiTechnic, I had to comment out the last task
452 (taskControl). I simply placed /* and */ around it get the program
453 working without that sensor present. Now it balances just fine until
454 the battery status run low:</p>
455
456 <p align="center"><video width="70%" controls="true">
457 <source src="http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-balancing.ogv" type="video/ogg">
458 </video></p>
459
460 <p>Now we would like to teach it how to follow a line and take remote
461 control instructions using the included Bluetooth receiver in the NXT.</p>
462
463 <p>If you, like me, love LEGO and want to make sure we find the tools
464 they need to work with LEGO in Debian and all our derivative
465 distributions like Ubuntu, check out
466 <a href="http://wiki.debian.org/LegoDesigners">the LEGO designers
467 project page</a> and join the Debian LEGO team. Personally I own a
468 RCX and NXT controller (no EV3), and would like to make sure the
469 Debian tools needed to program the systems I own work as they
470 should.</p>
471 </div>
472 <div class="tags">
473
474
475 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/robot">robot</a>.
476
477
478 </div>
479 </div>
480 <div class="padding"></div>
481
482 <div class="entry">
483 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Aktivitetsb_nd_som_beskytter_privatsf_ren.html">Aktivitetsbånd som beskytter privatsfæren</a></div>
484 <div class="date"> 3rd November 2016</div>
485 <div class="body"><p>Jeg ble så imponert over
486 <a href="https://www.nrk.no/norge/forbrukerradet-mener-aktivitetsarmband-strider-mot-norsk-lov-1.13209079">dagens
487 gladnyhet på NRK</a>, om at Forbrukerrådet klager inn vilkårene for
488 bruk av aktivitetsbånd fra Fitbit, Garmin, Jawbone og Mio til
489 Datatilsynet og forbrukerombudet, at jeg sendte følgende brev til
490 forbrukerrådet for å uttrykke min støtte:
491
492 <blockquote>
493
494 <p>Jeg ble veldig glad over å lese at Forbrukerrådet
495 <a href="http://www.forbrukerradet.no/siste-nytt/klager-inn-aktivitetsarmband-for-brudd-pa-norsk-lov/">klager
496 inn flere aktivitetsbånd til Datatilsynet for dårlige vilkår</a>. Jeg
497 har ønsket meg et aktivitetsbånd som kan måle puls, bevegelse og
498 gjerne også andre helserelaterte indikatorer en stund nå. De eneste
499 jeg har funnet i salg gjør, som dere også har oppdaget, graverende
500 inngrep i privatsfæren og sender informasjonen ut av huset til folk og
501 organisasjoner jeg ikke ønsker å dele aktivitets- og helseinformasjon
502 med. Jeg ønsker et alternativ som <em>ikke</em> sender informasjon til
503 skyen, men derimot bruker
504 <a href="http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">en
505 fritt og åpent standardisert</a> protokoll (eller i det minste en
506 dokumentert protokoll uten patent- og opphavsrettslige
507 bruksbegrensinger) til å kommunisere med datautstyr jeg kontrollerer.
508 Er jo ikke interessert i å betale noen for å tilrøve seg
509 personopplysninger fra meg. Desverre har jeg ikke funnet noe
510 alternativ så langt.</p>
511
512 <p>Det holder ikke å endre på bruksvilkårene for enhetene, slik
513 Datatilsynet ofte legger opp til i sin behandling, når de gjør slik
514 f.eks. Fitbit (den jeg har sett mest på). Fitbit krypterer
515 informasjonen på enheten og sender den kryptert til leverandøren. Det
516 gjør det i praksis umulig både å sjekke hva slags informasjon som
517 sendes over, og umulig å ta imot informasjonen selv i stedet for
518 Fitbit. Uansett hva slags historie som forteller i bruksvilkårene er
519 en jo både prisgitt leverandørens godvilje og at de ikke tvinges av
520 sitt lands myndigheter til å lyve til sine kunder om hvorvidt
521 personopplysninger spres ut over det bruksvilkårene sier. Det er
522 veldokumentert hvordan f.eks. USA tvinger selskaper vha. såkalte
523 National security letters til å utlevere personopplysninger samtidig
524 som de ikke får lov til å fortelle dette til kundene sine.</p>
525
526 <p>Stå på, jeg er veldig glade for at dere har sett på saken. Vet
527 dere om aktivitetsbånd i salg i dag som ikke tvinger en til å utlevere
528 aktivitets- og helseopplysninger med leverandøren?</p>
529
530 </blockquote>
531
532 <p>Jeg håper en konkurrent som respekterer kundenes privatliv klarer å
533 nå opp i markedet, slik at det finnes et reelt alternativ for oss som
534 har full tillit til at skyleverandører vil prioritere egen inntjening
535 og myndighetspålegg langt foran kundenes rett til privatliv. Jeg har
536 ingen tiltro til at Datatilsynet vil kreve noe mer enn at vilkårene
537 endres slik at de forklarer eksplisitt i hvor stor grad bruk av
538 produktene utraderer privatsfæren til kundene. Det vil nok gjøre de
539 innklagede armbåndene «lovlige», men fortsatt tvinge kundene til å
540 dele sine personopplysninger med leverandøren.</p>
541 </div>
542 <div class="tags">
543
544
545 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
546
547
548 </div>
549 </div>
550 <div class="padding"></div>
551
552 <div class="entry">
553 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html">Experience and updated recipe for using the Signal app without a mobile phone</a></div>
554 <div class="date">10th October 2016</div>
555 <div class="body"><p>In July
556 <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">I
557 wrote how to get the Signal Chrome/Chromium app working</a> without
558 the ability to receive SMS messages (aka without a cell phone). It is
559 time to share some experiences and provide an updated setup.</p>
560
561 <p>The Signal app have worked fine for several months now, and I use
562 it regularly to chat with my loved ones. I had a major snag at the
563 end of my summer vacation, when the the app completely forgot my
564 setup, identity and keys. The reason behind this major mess was
565 running out of disk space. To avoid that ever happening again I have
566 started storing everything in <tt>userdata/</tt> in git, to be able to
567 roll back to an earlier version if the files are wiped by mistake. I
568 had to use it once after introducing the git backup. When rolling
569 back to an earlier version, one need to use the 'reset session' option
570 in Signal to get going, and notify the people you talk with about the
571 problem. I assume there is some sequence number tracking in the
572 protocol to detect rollback attacks. The git repository is rather big
573 (674 MiB so far), but I have not tried to figure out if some of the
574 content can be added to a .gitignore file due to lack of spare
575 time.</p>
576
577 <p>I've also hit the 90 days timeout blocking, and noticed that this
578 make it impossible to send messages using Signal. I could still
579 receive them, but had to patch the code with a new timestamp to send.
580 I believe the timeout is added by the developers to force people to
581 upgrade to the latest version of the app, even when there is no
582 protocol changes, to reduce the version skew among the user base and
583 thus try to keep the number of support requests down.</p>
584
585 <p>Since my original recipe, the Signal source code changed slightly,
586 making the old patch fail to apply cleanly. Below is an updated
587 patch, including the shell wrapper I use to start Signal. The
588 original version required a new user to locate the JavaScript console
589 and call a function from there. I got help from a friend with more
590 JavaScript knowledge than me to modify the code to provide a GUI
591 button instead. This mean that to get started you just need to run
592 the wrapper and click the 'Register without mobile phone' to get going
593 now. I've also modified the timeout code to always set it to 90 days
594 in the future, to avoid having to patch the code regularly.</p>
595
596 <p>So, the updated recipe for Debian Jessie:</p>
597
598 <ol>
599
600 <li>First, install required packages to get the source code and the
601 browser you need. Signal only work with Chrome/Chromium, as far as I
602 know, so you need to install it.
603
604 <pre>
605 apt install git tor chromium
606 git clone https://github.com/WhisperSystems/Signal-Desktop.git
607 </pre></li>
608
609 <li>Modify the source code using command listed in the the patch
610 block below.</li>
611
612 <li>Start Signal using the run-signal-app wrapper (for example using
613 <tt>`pwd`/run-signal-app</tt>).
614
615 <li>Click on the 'Register without mobile phone', will in a phone
616 number you can receive calls to the next minute, receive the
617 verification code and enter it into the form field and press
618 'Register'. Note, the phone number you use will be user Signal
619 username, ie the way others can find you on Signal.</li>
620
621 <li>You can now use Signal to contact others. Note, new contacts do
622 not show up in the contact list until you restart Signal, and there is
623 no way to assign names to Contacts. There is also no way to create or
624 update chat groups. I suspect this is because the web app do not have
625 a associated contact database.</li>
626
627 </ol>
628
629 <p>I am still a bit uneasy about using Signal, because of the way its
630 main author moxie0 reject federation and accept dependencies to major
631 corporations like Google (part of the code is fetched from Google) and
632 Amazon (the central coordination point is owned by Amazon). See for
633 example
634 <a href="https://github.com/LibreSignal/LibreSignal/issues/37">the
635 LibreSignal issue tracker</a> for a thread documenting the authors
636 view on these issues. But the network effect is strong in this case,
637 and several of the people I want to communicate with already use
638 Signal. Perhaps we can all move to <a href="https://ring.cx/">Ring</a>
639 once it <a href="https://bugs.debian.org/830265">work on my
640 laptop</a>? It already work on Windows and Android, and is included
641 in <a href="https://tracker.debian.org/pkg/ring">Debian</a> and
642 <a href="https://launchpad.net/ubuntu/+source/ring">Ubuntu</a>, but not
643 working on Debian Stable.</p>
644
645 <p>Anyway, this is the patch I apply to the Signal code to get it
646 working. It switch to the production servers, disable to timeout,
647 make registration easier and add the shell wrapper:</p>
648
649 <pre>
650 cd Signal-Desktop; cat &lt;&lt;EOF | patch -p1
651 diff --git a/js/background.js b/js/background.js
652 index 24b4c1d..579345f 100644
653 --- a/js/background.js
654 +++ b/js/background.js
655 @@ -33,9 +33,9 @@
656 });
657 });
658
659 - var SERVER_URL = 'https://textsecure-service-staging.whispersystems.org';
660 + var SERVER_URL = 'https://textsecure-service-ca.whispersystems.org';
661 var SERVER_PORTS = [80, 4433, 8443];
662 - var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com';
663 + var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments.s3.amazonaws.com';
664 var messageReceiver;
665 window.getSocketStatus = function() {
666 if (messageReceiver) {
667 diff --git a/js/expire.js b/js/expire.js
668 index 639aeae..beb91c3 100644
669 --- a/js/expire.js
670 +++ b/js/expire.js
671 @@ -1,6 +1,6 @@
672 ;(function() {
673 'use strict';
674 - var BUILD_EXPIRATION = 0;
675 + var BUILD_EXPIRATION = Date.now() + (90 * 24 * 60 * 60 * 1000);
676
677 window.extension = window.extension || {};
678
679 diff --git a/js/views/install_view.js b/js/views/install_view.js
680 index 7816f4f..1d6233b 100644
681 --- a/js/views/install_view.js
682 +++ b/js/views/install_view.js
683 @@ -38,7 +38,8 @@
684 return {
685 'click .step1': this.selectStep.bind(this, 1),
686 'click .step2': this.selectStep.bind(this, 2),
687 - 'click .step3': this.selectStep.bind(this, 3)
688 + 'click .step3': this.selectStep.bind(this, 3),
689 + 'click .callreg': function() { extension.install('standalone') },
690 };
691 },
692 clearQR: function() {
693 diff --git a/options.html b/options.html
694 index dc0f28e..8d709f6 100644
695 --- a/options.html
696 +++ b/options.html
697 @@ -14,7 +14,10 @@
698 &lt;div class='nav'>
699 &lt;h1>{{ installWelcome }}&lt;/h1>
700 &lt;p>{{ installTagline }}&lt;/p>
701 - &lt;div> &lt;a class='button step2'>{{ installGetStartedButton }}&lt;/a> &lt;/div>
702 + &lt;div> &lt;a class='button step2'>{{ installGetStartedButton }}&lt;/a>
703 + &lt;br> &lt;a class="button callreg">Register without mobile phone&lt;/a>
704 +
705 + &lt;/div>
706 &lt;span class='dot step1 selected'>&lt;/span>
707 &lt;span class='dot step2'>&lt;/span>
708 &lt;span class='dot step3'>&lt;/span>
709 --- /dev/null 2016-10-07 09:55:13.730181472 +0200
710 +++ b/run-signal-app 2016-10-10 08:54:09.434172391 +0200
711 @@ -0,0 +1,12 @@
712 +#!/bin/sh
713 +set -e
714 +cd $(dirname $0)
715 +mkdir -p userdata
716 +userdata="`pwd`/userdata"
717 +if [ -d "$userdata" ] && [ ! -d "$userdata/.git" ] ; then
718 + (cd $userdata && git init)
719 +fi
720 +(cd $userdata && git add . && git commit -m "Current status." || true)
721 +exec chromium \
722 + --proxy-server="socks://localhost:9050" \
723 + --user-data-dir=$userdata --load-and-launch-app=`pwd`
724 EOF
725 chmod a+rx run-signal-app
726 </pre>
727
728 <p>As usual, if you use Bitcoin and want to show your support of my
729 activities, please send Bitcoin donations to my address
730 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
731 </div>
732 <div class="tags">
733
734
735 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>.
736
737
738 </div>
739 </div>
740 <div class="padding"></div>
741
742 <div class="entry">
743 <div class="title"><a href="http://people.skolelinux.org/pere/blog/NRKs_kildevern_n_r_NRK_epost_deles_med_utenlands_etterretning_.html">NRKs kildevern når NRK-epost deles med utenlands etterretning?</a></div>
744 <div class="date"> 8th October 2016</div>
745 <div class="body"><p>NRK
746 <a href="https://nrkbeta.no/2016/09/02/securing-whistleblowers/">lanserte
747 for noen uker siden</a> en ny
748 <a href="https://www.nrk.no/varsle/">varslerportal som bruker
749 SecureDrop til å ta imot tips</a> der det er vesentlig at ingen
750 utenforstående får vite at NRK er tipset. Det er et langt steg
751 fremover for NRK, og når en leser bloggposten om hva de har tenkt på
752 og hvordan løsningen er satt opp virker det som om de har gjort en
753 grundig jobb der. Men det er ganske mye ekstra jobb å motta tips via
754 SecureDrop, så varslersiden skriver "Nyhetstips som ikke krever denne
755 typen ekstra vern vil vi gjerne ha på nrk.no/03030", og 03030-siden
756 foreslår i tillegg til et webskjema å bruke epost, SMS, telefon,
757 personlig oppmøte og brevpost. Denne artikkelen handler disse andre
758 metodene.</p>
759
760 <p>Når en sender epost til en @nrk.no-adresse så vil eposten sendes ut
761 av landet til datamaskiner kontrollert av Microsoft. En kan sjekke
762 dette selv ved å slå opp epostleveringsadresse (MX) i DNS. For NRK er
763 dette i dag "nrk-no.mail.protection.outlook.com". NRK har som en ser
764 valgt å sette bort epostmottaket sitt til de som står bak outlook.com,
765 dvs. Microsoft. En kan sjekke hvor nettverkstrafikken tar veien
766 gjennom Internett til epostmottaket vha. programmet
767 <tt>traceroute</tt>, og finne ut hvem som eier en Internett-adresse
768 vha. whois-systemet. Når en gjør dette for epost-trafikk til @nrk.no
769 ser en at trafikken fra Norge mot nrk-no.mail.protection.outlook.com
770 går via Sverige mot enten Irland eller Tyskland (det varierer fra gang
771 til gang og kan endre seg over tid).</p>
772
773 <p>Vi vet fra
774 <a href="https://no.wikipedia.org/wiki/FRA-loven">introduksjonen av
775 FRA-loven</a> at IP-trafikk som passerer grensen til Sverige avlyttes
776 av Försvarets radioanstalt (FRA). Vi vet videre takket være
777 Snowden-bekreftelsene at trafikk som passerer grensen til
778 Storbritannia avlyttes av Government Communications Headquarters
779 (GCHQ). I tillegg er er det nettopp lansert et forslag i Norge om at
780 forsvarets E-tjeneste skal få avlytte trafikk som krysser grensen til
781 Norge. Jeg er ikke kjent med dokumentasjon på at Irland og Tyskland
782 gjør det samme. Poenget er uansett at utenlandsk etterretning har
783 mulighet til å snappe opp trafikken når en sender epost til @nrk.no.
784 I tillegg er det selvsagt tilgjengelig for Microsoft som er underlagt USAs
785 jurisdiksjon og
786 <a href="https://www.theguardian.com/world/2013/jul/11/microsoft-nsa-collaboration-user-data">samarbeider
787 med USAs etterretning på flere områder</a>. De som tipser NRK om
788 nyheter via epost kan dermed gå ut fra at det blir kjent for mange
789 andre enn NRK at det er gjort.</p>
790
791 <p>Bruk av SMS og telefon registreres av blant annet telefonselskapene
792 og er tilgjengelig i følge lov og forskrift for blant annet Politi,
793 NAV og Finanstilsynet, i tillegg til IT-folkene hos telefonselskapene
794 og deres overordnede. Hvis innringer eller mottaker bruker
795 smarttelefon vil slik kontakt også gjøres tilgjengelig for ulike
796 app-leverandører og de som lytter på trafikken mellom telefon og
797 app-leverandør, alt etter hva som er installert på telefonene som
798 brukes.</p>
799
800 <p>Brevpost kan virke trygt, og jeg vet ikke hvor mye som registreres
801 og lagres av postens datastyrte postsorteringssentraler. Det vil ikke
802 overraske meg om det lagres hvor i landet hver konvolutt kommer fra og
803 hvor den er adressert, i hvert fall for en kortere periode. Jeg vet
804 heller ikke hvem slik informasjon gjøres tilgjengelig for. Det kan
805 være nok til å ringe inn potensielle kilder når det krysses med hvem
806 som kjente til aktuell informasjon og hvor de befant seg (tilgjengelig
807 f.eks. hvis de bærer mobiltelefon eller bor i nærheten).</p>
808
809 <p>Personlig oppmøte hos en NRK-journalist er antagelig det tryggeste,
810 men en bør passe seg for å bruke NRK-kantina. Der bryter de nemlig
811 <a href="http://www.lovdata.no/all/hl-19850524-028.html#14">Sentralbanklovens
812 paragraf 14</a> og nekter folk å betale med kontanter. I stedet
813 krever de at en varsle sin bankkortutsteder om hvor en befinner seg
814 ved å bruke bankkort. Banktransaksjoner er tilgjengelig for
815 bankkortutsteder (det være seg VISA, Mastercard, Nets og/eller en
816 bank) i tillegg til politiet og i hvert fall tidligere med Se & Hør
817 (via utro tjenere, slik det ble avslørt etter utgivelsen av boken
818 «Livet, det forbannede» av Ken B. Rasmussen). Men hvor mange kjenner
819 en NRK-journalist personlig? Besøk på NRK på Marienlyst krever at en
820 registrerer sin ankost elektronisk i besøkssystemet. Jeg vet ikke hva
821 som skjer med det datasettet, men har grunn til å tro at det sendes ut
822 SMS til den en skal besøke med navnet som er oppgitt. Kanskje greit å
823 oppgi falskt navn.</p>
824
825 <p>Når så tipset er kommet frem til NRK skal det behandles
826 redaksjonelt i NRK. Der vet jeg via ulike kilder at de fleste
827 journalistene bruker lokalt installert programvare, men noen bruker
828 Google Docs og andre skytjenester i strid med interne retningslinjer
829 når de skriver. Hvordan vet en hvem det gjelder? Ikke vet jeg, men
830 det kan være greit å spørre for å sjekke at journalisten har tenkt på
831 problemstillingen, før en gir et tips. Og hvis tipset omtales internt
832 på epost, er det jo grunn til å tro at også intern eposten vil deles
833 med Microsoft og utenlands etterretning, slik tidligere nevnt, men det
834 kan hende at det holdes internt i NRKs interne MS Exchange-løsning.
835 Men Microsoft ønsker å få alle Exchange-kunder over "i skyen" (eller
836 andre folks datamaskiner, som det jo innebærer), så jeg vet ikke hvor
837 lenge det i så fall vil vare.</p>
838
839 <p>I tillegg vet en jo at
840 <a href="https://www.nrk.no/ytring/elektronisk-kildevern-i-nrk-1.11941196">NRK
841 har valgt å gi nasjonal sikkerhetsmyndighet (NSM) tilgang til å se på
842 intern og ekstern Internett-trafikk</a> hos NRK ved oppsett av såkalte
843 VDI-noder, på tross av
844 <a href="https://www.nrk.no/ytring/bekymring-for-nrks-kildevern-1.11941584">protester
845 fra NRKs journalistlag</a>. Jeg vet ikke om den vil kunne snappe opp
846 dokumenter som lagres på interne filtjenere eller dokumenter som lages
847 i de interne webbaserte publiseringssystemene, men vet at hva noden
848 ser etter på nettet kontrolleres av NSM og oppdateres automatisk, slik
849 at det ikke gir så mye mening å sjekke hva noden ser etter i dag når
850 det kan endres automatisk i morgen.</p>
851
852 <p>Personlig vet jeg ikke om jeg hadde turt tipse NRK hvis jeg satt på
853 noe som kunne være en trussel mot den bestående makten i Norge eller
854 verden. Til det virker det å være for mange åpninger for
855 utenforstående med andre prioriteter enn NRKs journalistiske fokus.
856 Og den største truslen for en varsler er jo om metainformasjon kommer
857 på avveie, dvs. informasjon om at en har vært i kontakt med en
858 journalist. Det kan være nok til at en kommer i myndighetenes
859 søkelys, og de færreste har nok operasjonell sikkerhet til at vil tåle
860 slik flombelysning på sitt privatliv.</p>
861 </div>
862 <div class="tags">
863
864
865 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/dld">dld</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
866
867
868 </div>
869 </div>
870 <div class="padding"></div>
871
872 <div class="entry">
873 <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>
874 <div class="date"> 7th October 2016</div>
875 <div class="body"><p><a href="http://packages.qa.debian.org/isenkram">The Isenkram
876 system</a> provide a practical and easy way to figure out which
877 packages support the hardware in a given machine. The command line
878 tool <tt>isenkram-lookup</tt> and the tasksel options provide a
879 convenient way to list and install packages relevant for the current
880 hardware during system installation, both user space packages and
881 firmware packages. The GUI background daemon on the other hand provide
882 a pop-up proposing to install packages when a new dongle is inserted
883 while using the computer. For example, if you plug in a smart card
884 reader, the system will ask if you want to install <tt>pcscd</tt> if
885 that package isn't already installed, and if you plug in a USB video
886 camera the system will ask if you want to install <tt>cheese</tt> if
887 cheese is currently missing. This already work just fine.</p>
888
889 <p>But Isenkram depend on a database mapping from hardware IDs to
890 package names. When I started no such database existed in Debian, so
891 I made my own data set and included it with the isenkram package and
892 made isenkram fetch the latest version of this database from git using
893 http. This way the isenkram users would get updated package proposals
894 as soon as I learned more about hardware related packages.</p>
895
896 <p>The hardware is identified using modalias strings. The modalias
897 design is from the Linux kernel where most hardware descriptors are
898 made available as a strings that can be matched using filename style
899 globbing. It handle USB, PCI, DMI and a lot of other hardware related
900 identifiers.</p>
901
902 <p>The downside to the Isenkram specific database is that there is no
903 information about relevant distribution / Debian version, making
904 isenkram propose obsolete packages too. But along came AppStream, a
905 cross distribution mechanism to store and collect metadata about
906 software packages. When I heard about the proposal, I contacted the
907 people involved and suggested to add a hardware matching rule using
908 modalias strings in the specification, to be able to use AppStream for
909 mapping hardware to packages. This idea was accepted and AppStream is
910 now a great way for a package to announce the hardware it support in a
911 distribution neutral way. I wrote
912 <a href="http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html">a
913 recipe on how to add such meta-information</a> in a blog post last
914 December. If you have a hardware related package in Debian, please
915 announce the relevant hardware IDs using AppStream.</p>
916
917 <p>In Debian, almost all packages that can talk to a LEGO Mindestorms
918 RCX or NXT unit, announce this support using AppStream. The effect is
919 that when you insert such LEGO robot controller into your Debian
920 machine, Isenkram will propose to install the packages needed to get
921 it working. The intention is that this should allow the local user to
922 start programming his robot controller right away without having to
923 guess what packages to use or which permissions to fix.</p>
924
925 <p>But when I sat down with my son the other day to program our NXT
926 unit using his Debian Stretch computer, I discovered something
927 annoying. The local console user (ie my son) did not get access to
928 the USB device for programming the unit. This used to work, but no
929 longer in Jessie and Stretch. After some investigation and asking
930 around on #debian-devel, I discovered that this was because udev had
931 changed the mechanism used to grant access to local devices. The
932 ConsoleKit mechanism from <tt>/lib/udev/rules.d/70-udev-acl.rules</tt>
933 no longer applied, because LDAP users no longer was added to the
934 plugdev group during login. Michael Biebl told me that this method
935 was obsolete and the new method used ACLs instead. This was good
936 news, as the plugdev mechanism is a mess when using a remote user
937 directory like LDAP. Using ACLs would make sure a user lost device
938 access when she logged out, even if the user left behind a background
939 process which would retain the plugdev membership with the ConsoleKit
940 setup. Armed with this knowledge I moved on to fix the access problem
941 for the LEGO Mindstorms related packages.</p>
942
943 <p>The new system uses a udev tag, 'uaccess'. It can either be
944 applied directly for a device, or is applied in
945 /lib/udev/rules.d/70-uaccess.rules for classes of devices. As the
946 LEGO Mindstorms udev rules did not have a class, I decided to add the
947 tag directly in the udev rules files included in the packages. Here
948 is one example. For the nqc C compiler for the RCX, the
949 <tt>/lib/udev/rules.d/60-nqc.rules</tt> file now look like this:
950
951 <p><pre>
952 SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0694", ATTR{idProduct}=="0001", \
953 SYMLINK+="rcx-%k", TAG+="uaccess"
954 </pre></p>
955
956 <p>The key part is the 'TAG+="uaccess"' at the end. I suspect all
957 packages using plugdev in their /lib/udev/rules.d/ files should be
958 changed to use this tag (either directly or indirectly via
959 <tt>70-uaccess.rules</tt>). Perhaps a lintian check should be created
960 to detect this?</p>
961
962 <p>I've been unable to find good documentation on the uaccess feature.
963 It is unclear to me if the uaccess tag is an internal implementation
964 detail like the udev-acl tag used by
965 <tt>/lib/udev/rules.d/70-udev-acl.rules</tt>. If it is, I guess the
966 indirect method is the preferred way. Michael
967 <a href="https://github.com/systemd/systemd/issues/4288">asked for more
968 documentation from the systemd project</a> and I hope it will make
969 this clearer. For now I use the generic classes when they exist and
970 is already handled by <tt>70-uaccess.rules</tt>, and add the tag
971 directly if no such class exist.</p>
972
973 <p>To learn more about the isenkram system, please check out
974 <a href="http://people.skolelinux.org/pere/blog/tags/isenkram/">my
975 blog posts tagged isenkram</a>.</p>
976
977 <p>To help out making life for LEGO constructors in Debian easier,
978 please join us on our IRC channel
979 <a href="irc://irc.debian.org/%23debian-lego">#debian-lego</a> and join
980 the <a href="https://alioth.debian.org/projects/debian-lego/">Debian
981 LEGO team</a> in the Alioth project we created yesterday. A mailing
982 list is not yet created, but we are working on it. :)</p>
983
984 <p>As usual, if you use Bitcoin and want to show your support of my
985 activities, please send Bitcoin donations to my address
986 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
987 </div>
988 <div class="tags">
989
990
991 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>.
992
993
994 </div>
995 </div>
996 <div class="padding"></div>
997
998 <div class="entry">
999 <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>
1000 <div class="date"> 9th September 2016</div>
1001 <div class="body"><p>En av dagens nyheter er at Aftenpostens redaktør Espen Egil Hansen
1002 bruker
1003 <a href="https://www.nrk.no/kultur/aftenposten-brukar-heile-forsida-pa-facebook-kritikk-1.13126918">forsiden
1004 av papiravisen på et åpent brev til Facebooks sjef Mark Zuckerberg om
1005 Facebooks fjerning av bilder, tekster og sider de ikke liker</a>. Det
1006 må være uvant for redaktøren i avisen Aftenposten å stå med lua i
1007 handa og håpe på å bli hørt. Spesielt siden Aftenposten har vært med
1008 på å gi Facebook makten de nå demonstrerer at de har. Ved å melde seg
1009 inn i Facebook-samfunnet har de sagt ja til bruksvilkårene og inngått
1010 en antagelig bindende avtale. Kanskje de skulle lest og vurdert
1011 vilkårene litt nærmere før de sa ja, i stedet for å klage over at
1012 reglende de har valgt å akseptere blir fulgt? Personlig synes jeg
1013 vilkårene er uakseptable og det ville ikke falle meg inn å gå inn på
1014 en avtale med slike vilkår. I tillegg til uakseptable vilkår er det
1015 mange andre grunner til å unngå Facebook. Du kan finne en solid
1016 gjennomgang av flere slike argumenter hos
1017 <a href="https://stallman.org/facebook.html">Richard Stallmans side om
1018 Facebook</a>.
1019
1020 <p>Jeg håper flere norske redaktører på samme vis må stå med lua i
1021 hånden inntil de forstår at de selv er med på å føre samfunnet på
1022 ville veier ved å omfavne Facebook slik de gjør når de omtaler og
1023 løfter frem saker fra Facebook, og tar i bruk Facebook som
1024 distribusjonskanal for sine nyheter. De bidrar til
1025 overvåkningssamfunnet og raderer ut lesernes privatsfære når de lenker
1026 til Facebook på sine sider, og låser seg selv inne i en omgivelse der
1027 det er Facebook, og ikke redaktøren, som sitter med makta.</p>
1028
1029 <p>Men det vil nok ta tid, i et Norge der de fleste nettredaktører
1030 <a href="http://people.skolelinux.org/pere/blog/Snurpenot_overv_kning_av_sensitiv_personinformasjon.html">deler
1031 sine leseres personopplysinger med utenlands etterretning</a>.</p>
1032
1033 <p>For øvrig burde varsleren Edward Snowden få politisk asyl i
1034 Norge.</p>
1035 </div>
1036 <div class="tags">
1037
1038
1039 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>.
1040
1041
1042 </div>
1043 </div>
1044 <div class="padding"></div>
1045
1046 <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>
1047 <div id="sidebar">
1048
1049
1050
1051 <h2>Archive</h2>
1052 <ul>
1053
1054 <li>2016
1055 <ul>
1056
1057 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
1058
1059 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
1060
1061 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
1062
1063 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
1064
1065 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
1066
1067 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
1068
1069 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
1070
1071 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
1072
1073 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
1074
1075 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
1076
1077 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (6)</a></li>
1078
1079 </ul></li>
1080
1081 <li>2015
1082 <ul>
1083
1084 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
1085
1086 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
1087
1088 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
1089
1090 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
1091
1092 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
1093
1094 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
1095
1096 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
1097
1098 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
1099
1100 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
1101
1102 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
1103
1104 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
1105
1106 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
1107
1108 </ul></li>
1109
1110 <li>2014
1111 <ul>
1112
1113 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
1114
1115 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
1116
1117 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
1118
1119 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
1120
1121 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
1122
1123 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
1124
1125 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
1126
1127 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
1128
1129 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
1130
1131 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
1132
1133 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
1134
1135 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
1136
1137 </ul></li>
1138
1139 <li>2013
1140 <ul>
1141
1142 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
1143
1144 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
1145
1146 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
1147
1148 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
1149
1150 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
1151
1152 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
1153
1154 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
1155
1156 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
1157
1158 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
1159
1160 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
1161
1162 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
1163
1164 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
1165
1166 </ul></li>
1167
1168 <li>2012
1169 <ul>
1170
1171 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
1172
1173 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
1174
1175 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
1176
1177 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
1178
1179 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
1180
1181 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
1182
1183 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
1184
1185 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
1186
1187 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
1188
1189 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
1190
1191 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
1192
1193 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
1194
1195 </ul></li>
1196
1197 <li>2011
1198 <ul>
1199
1200 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
1201
1202 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
1203
1204 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
1205
1206 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
1207
1208 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
1209
1210 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
1211
1212 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
1213
1214 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
1215
1216 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
1217
1218 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
1219
1220 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
1221
1222 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
1223
1224 </ul></li>
1225
1226 <li>2010
1227 <ul>
1228
1229 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
1230
1231 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
1232
1233 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
1234
1235 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
1236
1237 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
1238
1239 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
1240
1241 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
1242
1243 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
1244
1245 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
1246
1247 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
1248
1249 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
1250
1251 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
1252
1253 </ul></li>
1254
1255 <li>2009
1256 <ul>
1257
1258 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
1259
1260 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
1261
1262 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
1263
1264 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
1265
1266 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
1267
1268 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
1269
1270 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
1271
1272 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
1273
1274 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
1275
1276 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
1277
1278 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
1279
1280 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
1281
1282 </ul></li>
1283
1284 <li>2008
1285 <ul>
1286
1287 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
1288
1289 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
1290
1291 </ul></li>
1292
1293 </ul>
1294
1295
1296
1297 <h2>Tags</h2>
1298 <ul>
1299
1300 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
1301
1302 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
1303
1304 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
1305
1306 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
1307
1308 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (9)</a></li>
1309
1310 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (16)</a></li>
1311
1312 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
1313
1314 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
1315
1316 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (140)</a></li>
1317
1318 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (157)</a></li>
1319
1320 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
1321
1322 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (16)</a></li>
1323
1324 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (23)</a></li>
1325
1326 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
1327
1328 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (332)</a></li>
1329
1330 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
1331
1332 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
1333
1334 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (29)</a></li>
1335
1336 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
1337
1338 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (18)</a></li>
1339
1340 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
1341
1342 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
1343
1344 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (13)</a></li>
1345
1346 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>
1347
1348 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
1349
1350 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
1351
1352 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
1353
1354 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
1355
1356 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
1357
1358 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (39)</a></li>
1359
1360 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (8)</a></li>
1361
1362 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (282)</a></li>
1363
1364 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (182)</a></li>
1365
1366 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (26)</a></li>
1367
1368 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
1369
1370 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (62)</a></li>
1371
1372 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (95)</a></li>
1373
1374 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
1375
1376 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
1377
1378 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
1379
1380 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
1381
1382 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (10)</a></li>
1383
1384 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1385
1386 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
1387
1388 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
1389
1390 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (52)</a></li>
1391
1392 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
1393
1394 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
1395
1396 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (49)</a></li>
1397
1398 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (5)</a></li>
1399
1400 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (10)</a></li>
1401
1402 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (43)</a></li>
1403
1404 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (2)</a></li>
1405
1406 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
1407
1408 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
1409
1410 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (59)</a></li>
1411
1412 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1413
1414 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (38)</a></li>
1415
1416 </ul>
1417
1418
1419 </div>
1420 <p style="text-align: right">
1421 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1422 </p>
1423
1424 </body>
1425 </html>