]> 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/Vitenskapen_tar_som_vanlig_feil_igjen___relativt_feil.html">Vitenskapen tar som vanlig feil igjen - relativt feil</a></div>
24 <div class="date"> 1st August 2016</div>
25 <div class="body"><p>For mange år siden leste jeg en klassisk tekst som gjorde såpass
26 inntrykk på meg at jeg husker den fortsatt, flere år senere, og bruker
27 argumentene fra den stadig vekk. Teksten var «The Relativity of
28 Wrong» som Isaac Asimov publiserte i Skeptical Inquirer i 1989. Den
29 gir litt perspektiv rundt formidlingen av vitenskapelige resultater.
30 Jeg har hatt lyst til å kunne dele den også med folk som ikke
31 behersker Engelsk så godt, som barn og noen av mine eldre slektninger,
32 og har savnet å ha den tilgjengelig på norsk. For to uker siden tok
33 jeg meg sammen og kontaktet Asbjørn Dyrendal i foreningen Skepsis om
34 de var interessert i å publisere en norsk utgave på bloggen sin, og da
35 han var positiv tok jeg kontakt med Skeptical Inquirer og spurte om
36 det var greit for dem. I løpet av noen dager fikk vi tilbakemelding
37 fra Barry Karr hos The Skeptical Inquirer som hadde sjekket og fått OK
38 fra Robyn Asimov som representerte arvingene i Asmiov-familien og gikk
39 igang med oversettingen.</p>
40
41 <p>Resultatet, <a href="http://www.skepsis.no/?p=1617">«Relativt
42 feil»</a> ble publisert på skepsis-bloggen for noen minutter siden.
43 Jeg anbefaler deg på det varmeste å lese denne teksten og dele den med
44 dine venner.</p>
45
46 <p>For å håndtere oversettelsen og sikre at original og oversettelse
47 var i sync brukte vi git, po4a, GNU make og Transifex. Det hele
48 fungerte utmerket og gjorde det enkelt å dele tekstene og jobbe sammen
49 om finpuss på formuleringene. Hadde hosted.weblate.org latt meg
50 opprette nye prosjekter selv i stedet for å måtte kontakte
51 administratoren der, så hadde jeg brukt weblate i stedet.</p>
52 </div>
53 <div class="tags">
54
55
56 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>.
57
58
59 </div>
60 </div>
61 <div class="padding"></div>
62
63 <div class="entry">
64 <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>
65 <div class="date"> 1st August 2016</div>
66 <div class="body"><p>Did you know there is a TV channel broadcasting talks from DebConf
67 16 across an entire country? Or that there is a TV channel
68 broadcasting talks by or about
69 <a href="http://beta.frikanalen.no/video/625529/">Linus Torvalds</a>,
70 <a href="http://beta.frikanalen.no/video/625599/">Tor</a>,
71 <a href="http://beta.frikanalen.no/video/624019/">OpenID</A>,
72 <a href="http://beta.frikanalen.no/video/625624/">Common Lisp</a>,
73 <a href="http://beta.frikanalen.no/video/625446/">Civic Tech</a>,
74 <a href="http://beta.frikanalen.no/video/625090/">EFF founder John Barlow</a>,
75 <a href="http://beta.frikanalen.no/video/625432/">how to make 3D
76 printer electronics</a> and many more fascinating topics? It works
77 using only free software (all of it
78 <a href="http://github.com/Frikanalen">available from Github</a>), and
79 is administrated using a web browser and a web API.</p>
80
81 <p>The TV channel is the Norwegian open channel
82 <a href="http://www.frikanalen.no/">Frikanalen</a>, and I am involved
83 via <a href="https://www.nuug.no/">the NUUG member association</a> in
84 running and developing the software for the channel. The channel is
85 organised as a member organisation where its members can upload and
86 broadcast what they want (think of it as Youtube for national
87 broadcasting television). Individuals can broadcast too. The time
88 slots are handled on a first come, first serve basis. Because the
89 channel have almost no viewers and very few active members, we can
90 experiment with TV technology without too much flack when we make
91 mistakes. And thanks to the few active members, most of the slots on
92 the schedule are free. I see this as an opportunity to spread
93 knowledge about technology and free software, and have a script I run
94 regularly to fill up all the open slots the next few days with
95 technology related video. The end result is a channel I like to
96 describe as Techno TV - filled with interesting talks and
97 presentations.</p>
98
99 <p>It is available on channel 50 on the Norwegian national digital TV
100 network (RiksTV). It is also available as a multicast stream on
101 Uninett. And finally, it is available as
102 <a href="http://beta.frikanalen.no/">a WebM unicast stream</a> from
103 Frikanalen and NUUG. Check it out. :)</p>
104 </div>
105 <div class="tags">
106
107
108 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>.
109
110
111 </div>
112 </div>
113 <div class="padding"></div>
114
115 <div class="entry">
116 <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>
117 <div class="date"> 7th July 2016</div>
118 <div class="body"><p>Yesterday, I tried to unlock a HTC Desire HD phone, and it proved
119 to be a slight challenge. Here is the recipe if I ever need to do it
120 again. It all started by me wanting to try the recipe to set up
121 <a href="https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy">an
122 hardened Android installation</a> from the Tor project blog on a
123 device I had access to. It is a old mobile phone with a broken
124 microphone The initial idea had been to just
125 <a href="http://wiki.cyanogenmod.org/w/Install_CM_for_ace">install
126 CyanogenMod on it</a>, but did not quite find time to start on it
127 until a few days ago.</p>
128
129 <p>The unlock process is supposed to be simple: (1) Boot into the boot
130 loader (press volume down and power at the same time), (2) select
131 'fastboot' before (3) connecting the device via USB to a Linux
132 machine, (4) request the device identifier token by running 'fastboot
133 oem get_identifier_token', (5) request the device unlocking key using
134 the <a href="http://www.htcdev.com/bootloader/">HTC developer web
135 site</a> and unlock the phone using the key file emailed to you.</p>
136
137 <p>Unfortunately, this only work fi you have hboot version 2.00.0029
138 or newer, and the device I was working on had 2.00.0027. This
139 apparently can be easily fixed by downloading a Windows program and
140 running it on your Windows machine, if you accept the terms Microsoft
141 require you to accept to use Windows - which I do not. So I had to
142 come up with a different approach. I got a lot of help from AndyCap
143 on #nuug, and would not have been able to get this working without
144 him.</p>
145
146 <p>First I needed to extract the hboot firmware from
147 <a href="http://www.htcdev.com/ruu/PD9810000_Ace_Sense30_S_hboot_2.00.0029.exe">the
148 windows binary for HTC Desire HD</a> downloaded as 'the RUU' from HTC.
149 For this there is is <a href="https://github.com/kmdm/unruu/">a github
150 project named unruu</a> using libunshield. The unshield tool did not
151 recognise the file format, but unruu worked and extracted rom.zip,
152 containing the new hboot firmware and a text file describing which
153 devices it would work for.</p>
154
155 <p>Next, I needed to get the new firmware into the device. For this I
156 followed some instructions
157 <a href="http://www.htc1guru.com/2013/09/new-ruu-zips-posted/">available
158 from HTC1Guru.com</a>, and ran these commands as root on a Linux
159 machine with Debian testing:</p>
160
161 <p><pre>
162 adb reboot-bootloader
163 fastboot oem rebootRUU
164 fastboot flash zip rom.zip
165 fastboot flash zip rom.zip
166 fastboot reboot
167 </pre></p>
168
169 <p>The flash command apparently need to be done twice to take effect,
170 as the first is just preparations and the second one do the flashing.
171 The adb command is just to get to the boot loader menu, so turning the
172 device on while holding volume down and the power button should work
173 too.</p>
174
175 <p>With the new hboot version in place I could start following the
176 instructions on the HTC developer web site. I got the device token
177 like this:</p>
178
179 <p><pre>
180 fastboot oem get_identifier_token 2>&1 | sed 's/(bootloader) //'
181 </pre>
182
183 <p>And once I got the unlock code via email, I could use it like
184 this:</p>
185
186 <p><pre>
187 fastboot flash unlocktoken Unlock_code.bin
188 </pre></p>
189
190 <p>And with that final step in place, the phone was unlocked and I
191 could start stuffing the software of my own choosing into the device.
192 So far I only inserted a replacement recovery image to wipe the phone
193 before I start. We will see what happen next. Perhaps I should
194 install <a href="https://www.debian.org/">Debian</a> on it. :)</p>
195 </div>
196 <div class="tags">
197
198
199 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>.
200
201
202 </div>
203 </div>
204 <div class="padding"></div>
205
206 <div class="entry">
207 <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>
208 <div class="date"> 3rd July 2016</div>
209 <div class="body"><p>For a while now, I have wanted to test
210 <a href="https://whispersystems.org/">the Signal app</a>, as it is
211 said to provide end to end encrypted communication and several of my
212 friends and family are already using it. As I by choice do not own a
213 mobile phone, this proved to be harder than expected. And I wanted to
214 have the source of the client and know that it was the code used on my
215 machine. But yesterday I managed to get it working. I used the
216 Github source, compared it to the source in
217 <a href="https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en-US">the
218 Signal Chrome app</a> available from the Chrome web store, applied
219 patches to use the production Signal servers, started the app and
220 asked for the hidden "register without a smart phone" form. Here is
221 the recipe how I did it.</p>
222
223 <p>First, I fetched the Signal desktop source from Github, using
224
225 <pre>
226 git clone https://github.com/WhisperSystems/Signal-Desktop.git
227 </pre>
228
229 <p>Next, I patched the source to use the production servers, to be
230 able to talk to other Signal users:</p>
231
232 <pre>
233 cat &lt;&lt;EOF | patch -p0
234 diff -ur ./js/background.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js
235 --- ./js/background.js 2016-06-29 13:43:15.630344628 +0200
236 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js 2016-06-29 14:06:29.530300934 +0200
237 @@ -47,8 +47,8 @@
238 });
239 });
240
241 - var SERVER_URL = 'https://textsecure-service-staging.whispersystems.org';
242 - var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com';
243 + var SERVER_URL = 'https://textsecure-service-ca.whispersystems.org:4433';
244 + var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments.s3.amazonaws.com';
245 var messageReceiver;
246 window.getSocketStatus = function() {
247 if (messageReceiver) {
248 diff -ur ./js/expire.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js
249 --- ./js/expire.js 2016-06-29 13:43:15.630344628 +0200
250 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js2016-06-29 14:06:29.530300934 +0200
251 @@ -1,6 +1,6 @@
252 ;(function() {
253 'use strict';
254 - var BUILD_EXPIRATION = 0;
255 + var BUILD_EXPIRATION = 1474492690000;
256
257 window.extension = window.extension || {};
258
259 EOF
260 </pre>
261
262 <p>The first part is changing the servers, and the second is updating
263 an expiration timestamp. This timestamp need to be updated regularly.
264 It is set 90 days in the future by the build process (Gruntfile.js).
265 The value is seconds since 1970 times 1000, as far as I can tell.</p>
266
267 <p>Based on a tip and good help from the #nuug IRC channel, I wrote a
268 script to launch Signal in Chromium.</p>
269
270 <pre>
271 #!/bin/sh
272 cd $(dirname $0)
273 mkdir -p userdata
274 exec chromium \
275 --proxy-server="socks://localhost:9050" \
276 --user-data-dir=`pwd`/userdata --load-and-launch-app=`pwd`
277 </pre>
278
279 <p> The script start the app and configure Chromium to use the Tor
280 SOCKS5 proxy to make sure those controlling the Signal servers (today
281 Amazon and Whisper Systems) as well as those listening on the lines
282 will have a harder time location my laptop based on the Signal
283 connections if they use source IP address.</p>
284
285 <p>When the script starts, one need to follow the instructions under
286 "Standalone Registration" in the CONTRIBUTING.md file in the git
287 repository. I right clicked on the Signal window to get up the
288 Chromium debugging tool, visited the 'Console' tab and wrote
289 'extension.install("standalone")' on the console prompt to get the
290 registration form. Then I entered by land line phone number and
291 pressed 'Call'. 5 seconds later the phone rang and a robot voice
292 repeated the verification code three times. After entering the number
293 into the verification code field in the form, I could start using
294 Signal from my laptop.
295
296 <p>As far as I can tell, The Signal app will leak who is talking to
297 whom and thus who know who to those controlling the central server,
298 but such leakage is hard to avoid with a centrally controlled server
299 setup. It is something to keep in mind when using Signal - the
300 content of your chats are harder to intercept, but the meta data
301 exposing your contact network is available to people you do not know.
302 So better than many options, but not great. And sadly the usage is
303 connected to my land line, thus allowing those controlling the server
304 to associate it to my home and person. I would prefer it if only
305 those I knew could tell who I was on Signal. There are options
306 avoiding such information leakage, but most of my friends are not
307 using them, so I am stuck with Signal for now.</p>
308 </div>
309 <div class="tags">
310
311
312 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>.
313
314
315 </div>
316 </div>
317 <div class="padding"></div>
318
319 <div class="entry">
320 <div class="title"><a href="http://people.skolelinux.org/pere/blog/The_new__best__multimedia_player_in_Debian_.html">The new "best" multimedia player in Debian?</a></div>
321 <div class="date"> 6th June 2016</div>
322 <div class="body"><p>When I set out a few weeks ago to figure out
323 <a href="http://people.skolelinux.org/pere/blog/What_is_the_best_multimedia_player_in_Debian_.html">which
324 multimedia player in Debian claimed to support most file formats /
325 MIME types</a>, I was a bit surprised how varied the sets of MIME types
326 the various players claimed support for. The range was from 55 to 130
327 MIME types. I suspect most media formats are supported by all
328 players, but this is not really reflected in the MimeTypes values in
329 their desktop files. There are probably also some bogus MIME types
330 listed, but it is hard to identify which one this is.</p>
331
332 <p>Anyway, in the mean time I got in touch with upstream for some of
333 the players suggesting to add more MIME types to their desktop files,
334 and decided to spend some time myself improving the situation for my
335 favorite media player VLC. The fixes for VLC entered Debian unstable
336 yesterday. The complete list of MIME types can be seen on the
337 <a href="https://wiki.debian.org/DebianMultimedia/PlayerSupport">Multimedia
338 player MIME type support status</a> Debian wiki page.</p>
339
340 <p>The new "best" multimedia player in Debian? It is VLC, followed by
341 totem, parole, kplayer, gnome-mpv, mpv, smplayer, mplayer-gui and
342 kmplayer. I am sure some of the other players desktop files support
343 several of the formats currently listed as working only with vlc,
344 toten and parole.</p>
345
346 <p>A sad observation is that only 14 MIME types are listed as
347 supported by all the tested multimedia players in Debian in their
348 desktop files: audio/mpeg, audio/vnd.rn-realaudio, audio/x-mpegurl,
349 audio/x-ms-wma, audio/x-scpls, audio/x-wav, video/mp4, video/mpeg,
350 video/quicktime, video/vnd.rn-realvideo, video/x-matroska,
351 video/x-ms-asf, video/x-ms-wmv and video/x-msvideo. Personally I find
352 it sad that video/ogg and video/webm is not supported by all the media
353 players in Debian. As far as I can tell, all of them can handle both
354 formats.</p>
355 </div>
356 <div class="tags">
357
358
359 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
360
361
362 </div>
363 </div>
364 <div class="padding"></div>
365
366 <div class="entry">
367 <div class="title"><a href="http://people.skolelinux.org/pere/blog/A_program_should_be_able_to_open_its_own_files_on_Linux.html">A program should be able to open its own files on Linux</a></div>
368 <div class="date"> 5th June 2016</div>
369 <div class="body"><p>Many years ago, when koffice was fresh and with few users, I
370 decided to test its presentation tool when making the slides for a
371 talk I was giving for NUUG on Japhar, a free Java virtual machine. I
372 wrote the first draft of the slides, saved the result and went to bed
373 the day before I would give the talk. The next day I took a plane to
374 the location where the meeting should take place, and on the plane I
375 started up koffice again to polish the talk a bit, only to discover
376 that kpresenter refused to load its own data file. I cursed a bit and
377 started making the slides again from memory, to have something to
378 present when I arrived. I tested that the saved files could be
379 loaded, and the day seemed to be rescued. I continued to polish the
380 slides until I suddenly discovered that the saved file could no longer
381 be loaded into kpresenter. In the end I had to rewrite the slides
382 three times, condensing the content until the talk became shorter and
383 shorter. After the talk I was able to pinpoint the problem &ndash;
384 kpresenter wrote inline images in a way itself could not understand.
385 Eventually that bug was fixed and kpresenter ended up being a great
386 program to make slides. The point I'm trying to make is that we
387 expect a program to be able to load its own data files, and it is
388 embarrassing to its developers if it can't.</p>
389
390 <p>Did you ever experience a program failing to load its own data
391 files from the desktop file browser? It is not a uncommon problem. A
392 while back I discovered that the screencast recorder
393 gtk-recordmydesktop would save an Ogg Theora video file the KDE file
394 browser would refuse to open. No video player claimed to understand
395 such file. I tracked down the cause being <tt>file --mime-type</tt>
396 returning the application/ogg MIME type, which no video player I had
397 installed listed as a MIME type they would understand. I asked for
398 <a href="http://bugs.gw.com/view.php?id=382">file to change its
399 behavour</a> and use the MIME type video/ogg instead. I also asked
400 several video players to add video/ogg to their desktop files, to give
401 the file browser an idea what to do about Ogg Theora files. After a
402 while, the desktop file browsers in Debian started to handle the
403 output from gtk-recordmydesktop properly.</p>
404
405 <p>But history repeats itself. A few days ago I tested the music
406 system Rosegarden again, and I discovered that the KDE and xfce file
407 browsers did not know what to do with the Rosegarden project files
408 (*.rg). I've reported <a href="http://bugs.debian.org/825993">the
409 rosegarden problem to BTS</a> and a fix is commited to git and will be
410 included in the next upload. To increase the chance of me remembering
411 how to fix the problem next time some program fail to load its files
412 from the file browser, here are some notes on how to fix it.</p>
413
414 <p>The file browsers in Debian in general operates on MIME types.
415 There are two sources for the MIME type of a given file. The output from
416 <tt>file --mime-type</tt> mentioned above, and the content of the
417 shared MIME type registry (under /usr/share/mime/). The file MIME
418 type is mapped to programs supporting the MIME type, and this
419 information is collected from
420 <a href="https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/">the
421 desktop files</a> available in /usr/share/applications/. If there is
422 one desktop file claiming support for the MIME type of the file, it is
423 activated when asking to open a given file. If there are more, one
424 can normally select which one to use by right-clicking on the file and
425 selecting the wanted one using 'Open with' or similar. In general
426 this work well. But it depend on each program picking a good MIME
427 type (preferably
428 <a href="http://www.iana.org/assignments/media-types/media-types.xhtml">a
429 MIME type registered with IANA</a>), file and/or the shared MIME
430 registry recognizing the file and the desktop file to list the MIME
431 type in its list of supported MIME types.</p>
432
433 <p>The <tt>/usr/share/mime/packages/rosegarden.xml</tt> entry for
434 <a href="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">the
435 Shared MIME database</a> look like this:</p>
436
437 <p><blockquote><pre>
438 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
439 &lt;mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"&gt;
440 &lt;mime-type type="audio/x-rosegarden"&gt;
441 &lt;sub-class-of type="application/x-gzip"/&gt;
442 &lt;comment&gt;Rosegarden project file&lt;/comment&gt;
443 &lt;glob pattern="*.rg"/&gt;
444 &lt;/mime-type&gt;
445 &lt;/mime-info&gt;
446 </pre></blockquote></p>
447
448 <p>This states that audio/x-rosegarden is a kind of application/x-gzip
449 (it is a gzipped XML file). Note, it is much better to use an
450 official MIME type registered with IANA than it is to make up ones own
451 unofficial ones like the x-rosegarden type used by rosegarden.</p>
452
453 <p>The desktop file of the rosegarden program failed to list
454 audio/x-rosegarden in its list of supported MIME types, causing the
455 file browsers to have no idea what to do with *.rg files:</p>
456
457 <p><blockquote><pre>
458 % grep Mime /usr/share/applications/rosegarden.desktop
459 MimeType=audio/x-rosegarden-composition;audio/x-rosegarden-device;audio/x-rosegarden-project;audio/x-rosegarden-template;audio/midi;
460 X-KDE-NativeMimeType=audio/x-rosegarden-composition
461 %
462 </pre></blockquote></p>
463
464 <p>The fix was to add "audio/x-rosegarden;" at the end of the
465 MimeType= line.</p>
466
467 <p>If you run into a file which fail to open the correct program when
468 selected from the file browser, please check out the output from
469 <tt>file --mime-type</tt> for the file, ensure the file ending and
470 MIME type is registered somewhere under /usr/share/mime/ and check
471 that some desktop file under /usr/share/applications/ is claiming
472 support for this MIME type. If not, please report a bug to have it
473 fixed. :)</p>
474 </div>
475 <div class="tags">
476
477
478 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>.
479
480
481 </div>
482 </div>
483 <div class="padding"></div>
484
485 <div class="entry">
486 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Tor___from_its_creators_mouth_11_years_ago.html">Tor - from its creators mouth 11 years ago</a></div>
487 <div class="date">28th May 2016</div>
488 <div class="body"><p>A little more than 11 years ago, one of the creators of Tor, and
489 the current President of <a href="https://www.torproject.org/">the Tor
490 project</a>, Roger Dingledine, gave a talk for the members of the
491 <a href="http://www.nuug.no/">Norwegian Unix User group</a> (NUUG). A
492 video of the talk was recorded, and today, thanks to the great help
493 from David Noble, I finally was able to publish the video of the talk
494 on Frikanalen, the Norwegian open channel TV station where NUUG
495 currently publishes its talks. You can
496 <a href="http://frikanalen.no/se">watch the live stream using a web
497 browser</a> with WebM support, or check out the recording on the video
498 on demand page for the talk
499 "<a href="http://beta.frikanalen.no/video/625599">Tor: Anonymous
500 communication for the US Department of Defence...and you.</a>".</p>
501
502 <p>Here is the video included for those of you using browsers with
503 HTML video and Ogg Theora support:</p>
504
505 <p><video width="70%" poster="http://simula.gunkies.org/media/625599/large_thumb/20050421-tor-frikanalen.jpg" controls>
506 <source src="http://simula.gunkies.org/media/625599/theora/20050421-tor-frikanalen.ogv" type="video/ogg"/>
507 </video></p>
508
509 <p>I guess the gist of the talk can be summarised quite simply: If you
510 want to help the military in USA (and everyone else), use Tor. :)</p>
511 </div>
512 <div class="tags">
513
514
515 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>.
516
517
518 </div>
519 </div>
520 <div class="padding"></div>
521
522 <div class="entry">
523 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html">Isenkram with PackageKit support - new version 0.23 available in Debian unstable</a></div>
524 <div class="date">25th May 2016</div>
525 <div class="body"><p><a href="https://tracker.debian.org/pkg/isenkram">The isenkram
526 system</a> is a user-focused solution in Debian for handling hardware
527 related packages. The idea is to have a database of mappings between
528 hardware and packages, and pop up a dialog suggesting for the user to
529 install the packages to use a given hardware dongle. Some use cases
530 are when you insert a Yubikey, it proposes to install the software
531 needed to control it; when you insert a braille reader list it
532 proposes to install the packages needed to send text to the reader;
533 and when you insert a ColorHug screen calibrator it suggests to
534 install the driver for it. The system work well, and even have a few
535 command line tools to install firmware packages and packages for the
536 hardware already in the machine (as opposed to hotpluggable hardware).</p>
537
538 <p>The system was initially written using aptdaemon, because I found
539 good documentation and example code on how to use it. But aptdaemon
540 is going away and is generally being replaced by
541 <a href="http://www.freedesktop.org/software/PackageKit/">PackageKit</a>,
542 so Isenkram needed a rewrite. And today, thanks to the great patch
543 from my college Sunil Mohan Adapa in the FreedomBox project, the
544 rewrite finally took place. I've just uploaded a new version of
545 Isenkram into Debian Unstable with the patch included, and the default
546 for the background daemon is now to use PackageKit. To check it out,
547 install the <tt>isenkram</tt> package and insert some hardware dongle
548 and see if it is recognised.</p>
549
550 <p>If you want to know what kind of packages isenkram would propose for
551 the machine it is running on, you can check out the isenkram-lookup
552 program. This is what it look like on a Thinkpad X230:</p>
553
554 <p><blockquote><pre>
555 % isenkram-lookup
556 bluez
557 cheese
558 fprintd
559 fprintd-demo
560 gkrellm-thinkbat
561 hdapsd
562 libpam-fprintd
563 pidgin-blinklight
564 thinkfan
565 tleds
566 tp-smapi-dkms
567 tp-smapi-source
568 tpb
569 %p
570 </pre></blockquote></p>
571
572 <p>The hardware mappings come from several places. The preferred way
573 is for packages to announce their hardware support using
574 <a href="https://www.freedesktop.org/software/appstream/docs/">the
575 cross distribution appstream system</a>.
576 See
577 <a href="http://people.skolelinux.org/pere/blog/tags/isenkram/">previous
578 blog posts about isenkram</a> to learn how to do that.</p>
579 </div>
580 <div class="tags">
581
582
583 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>.
584
585
586 </div>
587 </div>
588 <div class="padding"></div>
589
590 <div class="entry">
591 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Discharge_rate_estimate_in_new_battery_statistics_collector_for_Debian.html">Discharge rate estimate in new battery statistics collector for Debian</a></div>
592 <div class="date">23rd May 2016</div>
593 <div class="body"><p>Yesterday I updated the
594 <a href="https://tracker.debian.org/pkg/battery-stats">battery-stats
595 package in Debian</a> with a few patches sent to me by skilled and
596 enterprising users. There were some nice user and visible changes.
597 First of all, both desktop menu entries now work. A design flaw in
598 one of the script made the history graph fail to show up (its PNG was
599 dumped in ~/.xsession-errors) if no controlling TTY was available.
600 The script worked when called from the command line, but not when
601 called from the desktop menu. I changed this to look for a DISPLAY
602 variable or a TTY before deciding where to draw the graph, and now the
603 graph window pop up as expected.</p>
604
605 <p>The next new feature is a discharge rate estimator in one of the
606 graphs (the one showing the last few hours). New is also the user of
607 colours showing charging in blue and discharge in red. The percentages
608 of this graph is relative to last full charge, not battery design
609 capacity.</p>
610
611 <p align="center"><img src="http://people.skolelinux.org/pere/blog/images/2016-05-23-battery-stats-rate.png"/></p>
612
613 <p>The other graph show the entire history of the collected battery
614 statistics, comparing it to the design capacity of the battery to
615 visualise how the battery life time get shorter over time. The red
616 line in this graph is what the previous graph considers 100 percent:
617
618 <p align="center"><img src="http://people.skolelinux.org/pere/blog/images/2016-05-23-battery-stats-history.png"/></p>
619
620 <p>In this graph you can see that I only charge the battery to 80
621 percent of last full capacity, and how the capacity of the battery is
622 shrinking. :(</p>
623
624 <p>The last new feature is in the collector, which now will handle
625 more hardware models. On some hardware, Linux power supply
626 information is stored in /sys/class/power_supply/ACAD/, while the
627 collector previously only looked in /sys/class/power_supply/AC/. Now
628 both are checked to figure if there is power connected to the
629 machine.</p>
630
631 <p>If you are interested in how your laptop battery is doing, please
632 check out the
633 <a href="https://tracker.debian.org/pkg/battery-stats">battery-stats</a>
634 in Debian unstable, or rebuild it on Jessie to get it working on
635 Debian stable. :) The upstream source is available from <a
636 href="https://github.com/petterreinholdtsen/battery-stats">github</a>.
637 Patches are very welcome.</p>
638
639 <p>As usual, if you use Bitcoin and want to show your support of my
640 activities, please send Bitcoin donations to my address
641 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
642 </div>
643 <div class="tags">
644
645
646 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>.
647
648
649 </div>
650 </div>
651 <div class="padding"></div>
652
653 <div class="entry">
654 <div class="title"><a href="http://people.skolelinux.org/pere/blog/French_edition_of_Lawrence_Lessigs_book_Cultura_Libre_on_Amazon_and_Barnes___Noble.html">French edition of Lawrence Lessigs book Cultura Libre on Amazon and Barnes & Noble</a></div>
655 <div class="date">21st May 2016</div>
656 <div class="body"><p>A few weeks ago the French paperback edition of Lawrence Lessigs
657 2004 book Cultura Libre was published. Today I noticed that the book
658 is now available from book stores. You can now buy it from
659 <a href="http://www.amazon.com/Culture-Libre-French-Lawrence-Lessig/dp/8269018260">Amazon</a>
660 ($19.99),
661 <a href="http://www.barnesandnoble.com/w/culture-libre-lawrence-lessig/1123776705">Barnes
662 & Noble</a> ($?) and as always from
663 <a href="http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html">Lulu.com</a>
664 ($19.99). The revenue is donated to the Creative Commons project. If
665 you buy from Lulu.com, they currently get $10.59, while if you buy
666 from one of the book stores most of the revenue go to the book store
667 and the Creative Commons project get much (not sure how much
668 less).</p>
669
670 <p>I was a bit surprised to discover that there is a kindle edition
671 sold by Amazon Digital Services LLC on Amazon. Not quite sure how
672 that edition was created, but if you want to download a electronic
673 edition (PDF, EPUB, Mobi) generated from the same files used to create
674 the paperback edition, they are
675 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">available
676 from github</a>.</p>
677 </div>
678 <div class="tags">
679
680
681 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>.
682
683
684 </div>
685 </div>
686 <div class="padding"></div>
687
688 <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>
689 <div id="sidebar">
690
691
692
693 <h2>Archive</h2>
694 <ul>
695
696 <li>2016
697 <ul>
698
699 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
700
701 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
702
703 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
704
705 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
706
707 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
708
709 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
710
711 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
712
713 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (2)</a></li>
714
715 </ul></li>
716
717 <li>2015
718 <ul>
719
720 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
721
722 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
723
724 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
725
726 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
727
728 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
729
730 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
731
732 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
733
734 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
735
736 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
737
738 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
739
740 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
741
742 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
743
744 </ul></li>
745
746 <li>2014
747 <ul>
748
749 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
750
751 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
752
753 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
754
755 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
756
757 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
758
759 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
760
761 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
762
763 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
764
765 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
766
767 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
768
769 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
770
771 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
772
773 </ul></li>
774
775 <li>2013
776 <ul>
777
778 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
779
780 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
781
782 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
783
784 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
785
786 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
787
788 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
789
790 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
791
792 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
793
794 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
795
796 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
797
798 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
799
800 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
801
802 </ul></li>
803
804 <li>2012
805 <ul>
806
807 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
808
809 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
810
811 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
812
813 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
814
815 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
816
817 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
818
819 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
820
821 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
822
823 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
824
825 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
826
827 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
828
829 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
830
831 </ul></li>
832
833 <li>2011
834 <ul>
835
836 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
837
838 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
839
840 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
841
842 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
843
844 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
845
846 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
847
848 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
849
850 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
851
852 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
853
854 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
855
856 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
857
858 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
859
860 </ul></li>
861
862 <li>2010
863 <ul>
864
865 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
866
867 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
868
869 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
870
871 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
872
873 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
874
875 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
876
877 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
878
879 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
880
881 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
882
883 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
884
885 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
886
887 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
888
889 </ul></li>
890
891 <li>2009
892 <ul>
893
894 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
895
896 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
897
898 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
899
900 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
901
902 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
903
904 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
905
906 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
907
908 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
909
910 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
911
912 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
913
914 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
915
916 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
917
918 </ul></li>
919
920 <li>2008
921 <ul>
922
923 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
924
925 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
926
927 </ul></li>
928
929 </ul>
930
931
932
933 <h2>Tags</h2>
934 <ul>
935
936 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
937
938 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
939
940 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
941
942 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
943
944 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (9)</a></li>
945
946 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (16)</a></li>
947
948 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
949
950 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
951
952 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (133)</a></li>
953
954 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (157)</a></li>
955
956 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
957
958 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (15)</a></li>
959
960 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (22)</a></li>
961
962 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
963
964 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (324)</a></li>
965
966 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
967
968 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
969
970 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (27)</a></li>
971
972 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
973
974 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (18)</a></li>
975
976 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
977
978 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
979
980 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (12)</a></li>
981
982 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>
983
984 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
985
986 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
987
988 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
989
990 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
991
992 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
993
994 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (39)</a></li>
995
996 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (7)</a></li>
997
998 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (276)</a></li>
999
1000 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (182)</a></li>
1001
1002 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (26)</a></li>
1003
1004 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
1005
1006 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (61)</a></li>
1007
1008 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (92)</a></li>
1009
1010 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
1011
1012 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
1013
1014 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
1015
1016 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
1017
1018 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (9)</a></li>
1019
1020 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1021
1022 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
1023
1024 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
1025
1026 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (48)</a></li>
1027
1028 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
1029
1030 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
1031
1032 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (49)</a></li>
1033
1034 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (4)</a></li>
1035
1036 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (10)</a></li>
1037
1038 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (37)</a></li>
1039
1040 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (2)</a></li>
1041
1042 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
1043
1044 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
1045
1046 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (59)</a></li>
1047
1048 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1049
1050 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (38)</a></li>
1051
1052 </ul>
1053
1054
1055 </div>
1056 <p style="text-align: right">
1057 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1058 </p>
1059
1060 </body>
1061 </html>