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