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