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