]> 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/Creating__updating_and_checking_debian_copyright_semi_automatically.html">Creating, updating and checking debian/copyright semi-automatically</a></div>
24 <div class="date">19th February 2016</div>
25 <div class="body"><p>Making packages for Debian requires quite a lot of attention to
26 details. And one of the details is the content of the
27 debian/copyright file, which should list all relevant licenses used by
28 the code in the package in question, preferably in
29 <a href="https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/">machine
30 readable DEP5 format</a>.</p>
31
32 <p>For large packages with lots of contributors it is hard to write
33 and update this file manually, and if you get some detail wrong, the
34 package is normally rejected by the ftpmasters. So getting it right
35 the first time around get the package into Debian faster, and save
36 both you and the ftpmasters some work.. Today, while trying to figure
37 out what was wrong with
38 <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686447">the
39 zfsonlinux copyright file</a>, I decided to spend some time on
40 figuring out the options for doing this job automatically, or at least
41 semi-automatically.</p>
42
43 <p>Lucikly, there are at least two tools available for generating the
44 file based on the code in the source package,
45 <tt><a href="https://tracker.debian.org/pkg/debmake">debmake</a></tt>
46 and <tt><a href="https://tracker.debian.org/pkg/cme">cme</a></tt>. I'm
47 not sure which one of them came first, but both seem to be able to
48 create a sensible draft file. As far as I can tell, none of them can
49 be trusted to get the result just right, so the content need to be
50 polished a bit before the file is OK to upload. I found the debmake
51 option in
52 <a href="http://goofying-with-debian.blogspot.com/2014/07/debmake-checking-source-against-dep-5.html">a
53 blog posts from 2014</a>.
54
55 <p>To generate using debmake, use the -cc option:
56
57 <p><pre>
58 debmake -cc > debian/copyright
59 </pre></p>
60
61 <p>Note there are some problems with python and non-ASCII names, so
62 this might not be the best option.</p>
63
64 <p>The cme option is based on a config parsing library, and I found
65 this approach in
66 <a href="https://ddumont.wordpress.com/2015/04/05/improving-creation-of-debian-copyright-file/">a
67 blog post from 2015</a>. To generate using cme, use the 'update
68 dpkg-copyright' option:
69
70 <p><pre>
71 cme update dpkg-copyright -quiet
72 </pre></p>
73
74 <p>This will create or update debian/copyright. The cme tool seem to
75 handle UTF-8 names better than debmake.</p>
76
77 <p>When the copyright file is created, I would also like some help to
78 check if the file is correct. For this I found two good options,
79 <tt>debmake -k</tt> and <tt>license-reconcile</tt>. The former seem
80 to focus on license types and file matching, and is able to detect
81 ineffective blocks in the copyright file. The latter reports missing
82 copyright holders and years, but was confused by inconsistent license
83 names (like CDDL vs. CDDL-1.0). I suspect it is good to use both and
84 fix all issues reported by them before uploading. But I do not know
85 if the tools and the ftpmasters agree on what is important to fix in a
86 copyright file, so the package might still be rejected.</p>
87
88 <p>The devscripts tool <tt>licensecheck</tt> deserve mentioning. It
89 will read through the source and try to find all copyright statements.
90 It is not comparing the result to the content of debian/copyright, but
91 can be useful when verifying the content of the copyright file.</p>
92
93 <p>Are you aware of better tools in Debian to create and update
94 debian/copyright file. Please let me know, or blog about it on
95 planet.debian.org.</p>
96
97 <p>As usual, if you use Bitcoin and want to show your support of my
98 activities, please send Bitcoin donations to my address
99 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
100 </div>
101 <div class="tags">
102
103
104 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>.
105
106
107 </div>
108 </div>
109 <div class="padding"></div>
110
111 <div class="entry">
112 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Using_appstream_in_Debian_to_locate_packages_with_firmware_and_mime_type_support.html">Using appstream in Debian to locate packages with firmware and mime type support</a></div>
113 <div class="date"> 4th February 2016</div>
114 <div class="body"><p>The <a href="https://wiki.debian.org/DEP-11">appstream system</a>
115 is taking shape in Debian, and one provided feature is a very
116 convenient way to tell you which package to install to make a given
117 firmware file available when the kernel is looking for it. This can
118 be done using apt-file too, but that is for someone else to blog
119 about. :)</p>
120
121 <p>Here is a small recipe to find the package with a given firmware
122 file, in this example I am looking for ctfw-3.2.3.0.bin, randomly
123 picked from the set of firmware announced using appstream in Debian
124 unstable. In general you would be looking for the firmware requested
125 by the kernel during kernel module loading. To find the package
126 providing the example file, do like this:</p>
127
128 <blockquote><pre>
129 % apt install appstream
130 [...]
131 % apt update
132 [...]
133 % appstreamcli what-provides firmware:runtime ctfw-3.2.3.0.bin | \
134 awk '/Package:/ {print $2}'
135 firmware-qlogic
136 %
137 </pre></blockquote>
138
139 <p>See <a href="https://wiki.debian.org/AppStream/Guidelines">the
140 appstream wiki</a> page to learn how to embed the package metadata in
141 a way appstream can use.</p>
142
143 <p>This same approach can be used to find any package supporting a
144 given MIME type. This is very useful when you get a file you do not
145 know how to handle. First find the mime type using <tt>file
146 --mime-type</tt>, and next look up the package providing support for
147 it. Lets say you got an SVG file. Its MIME type is image/svg+xml,
148 and you can find all packages handling this type like this:</p>
149
150 <blockquote><pre>
151 % apt install appstream
152 [...]
153 % apt update
154 [...]
155 % appstreamcli what-provides mimetype image/svg+xml | \
156 awk '/Package:/ {print $2}'
157 bkchem
158 phototonic
159 inkscape
160 shutter
161 tetzle
162 geeqie
163 xia
164 pinta
165 gthumb
166 karbon
167 comix
168 mirage
169 viewnior
170 postr
171 ristretto
172 kolourpaint4
173 eog
174 eom
175 gimagereader
176 midori
177 %
178 </pre></blockquote>
179
180 <p>I believe the MIME types are fetched from the desktop file for
181 packages providing appstream metadata.</p>
182 </div>
183 <div class="tags">
184
185
186 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>.
187
188
189 </div>
190 </div>
191 <div class="padding"></div>
192
193 <div class="entry">
194 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Creepy__visualise_geotagged_social_media_information___nice_free_software.html">Creepy, visualise geotagged social media information - nice free software</a></div>
195 <div class="date">24th January 2016</div>
196 <div class="body"><p>Most people seem not to realise that every time they walk around
197 with the computerised radio beacon known as a mobile phone their
198 position is tracked by the phone company and often stored for a long
199 time (like every time a SMS is received or sent). And if their
200 computerised radio beacon is capable of running programs (often called
201 mobile apps) downloaded from the Internet, these programs are often
202 also capable of tracking their location (if the app requested access
203 during installation). And when these programs send out information to
204 central collection points, the location is often included, unless
205 extra care is taken to not send the location. The provided
206 information is used by several entities, for good and bad (what is
207 good and bad, depend on your point of view). What is certain, is that
208 the private sphere and the right to free movement is challenged and
209 perhaps even eradicated for those announcing their location this way,
210 when they share their whereabouts with private and public
211 entities.</p>
212
213 <p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2016-01-24-nice-creepy-desktop-window.png"></p>
214
215 <p>The phone company logs provide a register of locations to check out
216 when one want to figure out what the tracked person was doing. It is
217 unavailable for most of us, but provided to selected government
218 officials, company staff, those illegally buying information from
219 unfaithful servants and crackers stealing the information. But the
220 public information can be collected and analysed, and a free software
221 tool to do so is called
222 <a href="http://www.geocreepy.com/">Creepy or Cree.py</a>. I
223 discovered it when I read
224 <a href="http://www.aftenposten.no/kultur/Slik-kan-du-bli-overvaket-pa-Twitter-og-Instagram-uten-a-ane-det-7787884.html">an
225 article about Creepy</a> in the Norwegian newspaper Aftenposten i
226 November 2014, and decided to check if it was available in Debian.
227 The python program was in Debian, but
228 <a href="https://tracker.debian.org/pkg/creepy">the version in
229 Debian</a> was completely broken and practically unmaintained. I
230 uploaded a new version which did not work quite right, but did not
231 have time to fix it then. This Christmas I decided to finally try to
232 get Creepy operational in Debian. Now a fixed version is available in
233 Debian unstable and testing, and almost all Debian specific patches
234 are now included
235 <a href="https://github.com/jkakavas/creepy">upstream</a>.</p>
236
237 <p>The Creepy program visualises geolocation information fetched from
238 Twitter, Instagram, Flickr and Google+, and allow one to get a
239 complete picture of every social media message posted recently in a
240 given area, or track the movement of a given individual across all
241 these services. Earlier it was possible to use the search API of at
242 least some of these services without identifying oneself, but these
243 days it is impossible. This mean that to use Creepy, you need to
244 configure it to log in as yourself on these services, and provide
245 information to them about your search interests. This should be taken
246 into account when using Creepy, as it will also share information
247 about yourself with the services.</p>
248
249 <p>The picture above show the twitter messages sent from (or at least
250 geotagged with a position from) the city centre of Oslo, the capital
251 of Norway. One useful way to use Creepy is to first look at
252 information tagged with an area of interest, and next look at all the
253 information provided by one or more individuals who was in the area.
254 I tested it by checking out which celebrity provide their location in
255 twitter messages by checkout out who sent twitter messages near a
256 Norwegian TV station, and next could track their position over time,
257 making it possible to locate their home and work place, among other
258 things. A similar technique have been
259 <a href="http://www.buzzfeed.com/maxseddon/does-this-soldiers-instagram-account-prove-russia-is-covertl">used
260 to locate Russian soldiers in Ukraine</a>, and it is both a powerful
261 tool to discover lying governments, and a useful tool to help people
262 understand the value of the private information they provide to the
263 public.</p>
264
265 <p>The package is not trivial to backport to Debian Stable/Jessie, as
266 it depend on several python modules currently missing in Jessie (at
267 least python-instagram, python-flickrapi and
268 python-requests-toolbelt).</p>
269
270 <p>(I have uploaded
271 <a href="https://screenshots.debian.net/package/creepy">the image to
272 screenshots.debian.net</a> and licensed it under the same terms as the
273 Creepy program in Debian.)</p>
274 </div>
275 <div class="tags">
276
277
278 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/nice free software">nice free software</a>.
279
280
281 </div>
282 </div>
283 <div class="padding"></div>
284
285 <div class="entry">
286 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Always_download_Debian_packages_using_Tor___the_simple_recipe.html">Always download Debian packages using Tor - the simple recipe</a></div>
287 <div class="date">15th January 2016</div>
288 <div class="body"><p>During his DebConf15 keynote, Jacob Appelbaum
289 <a href="https://summit.debconf.org/debconf15/meeting/331/what-is-to-be-done/">observed
290 that those listening on the Internet lines would have good reason to
291 believe a computer have a given security hole</a> if it download a
292 security fix from a Debian mirror. This is a good reason to always
293 use encrypted connections to the Debian mirror, to make sure those
294 listening do not know which IP address to attack. In August, Richard
295 Hartmann observed that encryption was not enough, when it was possible
296 to interfere download size to security patches or the fact that
297 download took place shortly after a security fix was released, and
298 <a href="http://richardhartmann.de/blog/posts/2015/08/24-Tor-enabled_Debian_mirror/">proposed
299 to always use Tor to download packages from the Debian mirror</a>. He
300 was not the first to propose this, as the
301 <tt><a href="https://tracker.debian.org/pkg/apt-transport-tor">apt-transport-tor</a></tt>
302 package by Tim Retout already existed to make it easy to convince apt
303 to use <a href="https://www.torproject.org/">Tor</a>, but I was not
304 aware of that package when I read the blog post from Richard.</p>
305
306 <p>Richard discussed the idea with Peter Palfrader, one of the Debian
307 sysadmins, and he set up a Tor hidden service on one of the central
308 Debian mirrors using the address vwakviie2ienjx6t.onion, thus making
309 it possible to download packages directly between two tor nodes,
310 making sure the network traffic always were encrypted.</p>
311
312 <p>Here is a short recipe for enabling this on your machine, by
313 installing <tt>apt-transport-tor</tt> and replacing http and https
314 urls with tor+http and tor+https, and using the hidden service instead
315 of the official Debian mirror site. I recommend installing
316 <tt>etckeeper</tt> before you start to have a history of the changes
317 done in /etc/.</p>
318
319 <blockquote><pre>
320 apt install apt-transport-tor
321 sed -i 's% http://ftp.debian.org/%tor+http://vwakviie2ienjx6t.onion/%' /etc/apt/sources.list
322 sed -i 's% http% tor+http%' /etc/apt/sources.list
323 </pre></blockquote>
324
325 <p>If you have more sources listed in /etc/apt/sources.list.d/, run
326 the sed commands for these too. The sed command is assuming your are
327 using the ftp.debian.org Debian mirror. Adjust the command (or just
328 edit the file manually) to match your mirror.</p>
329
330 <p>This work in Debian Jessie and later. Note that tools like
331 <tt>apt-file</tt> only recently started using the apt transport
332 system, and do not work with these tor+http URLs. For
333 <tt>apt-file</tt> you need the version currently in experimental,
334 which need a recent apt version currently only in unstable. So if you
335 need a working <tt>apt-file</tt>, this is not for you.</p>
336
337 <p>Another advantage from this change is that your machine will start
338 using Tor regularly and at fairly random intervals (every time you
339 update the package lists or upgrade or install a new package), thus
340 masking other Tor traffic done from the same machine. Using Tor will
341 become normal for the machine in question.</p>
342
343 <p>On <a href="https://wiki.debian.org/FreedomBox">Freedombox</a>, APT
344 is set up by default to use <tt>apt-transport-tor</tt> when Tor is
345 enabled. It would be great if it was the default on any Debian
346 system.</p>
347 </div>
348 <div class="tags">
349
350
351 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>.
352
353
354 </div>
355 </div>
356 <div class="padding"></div>
357
358 <div class="entry">
359 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Nedlasting_fra_NRK__som_Matroska_med_undertekster.html">Nedlasting fra NRK, som Matroska med undertekster</a></div>
360 <div class="date"> 2nd January 2016</div>
361 <div class="body"><p>Det kommer stadig nye løsninger for å ta lagre unna innslag fra NRK
362 for å se på det senere. For en stund tilbake kom jeg over et script
363 nrkopptak laget av Ingvar Hagelund. Han fjernet riktignok sitt script
364 etter forespørsel fra Erik Bolstad i NRK, men noen tok heldigvis og
365 gjorde det <a href="https://github.com/liangqi/nrkopptak">tilgjengelig
366 via github</a>.</p>
367
368 <p>Scriptet kan lagre som MPEG4 eller Matroska, og bake inn
369 undertekster i fila på et vis som blant annet VLC forstår. For å
370 bruke scriptet, kopier ned git-arkivet og kjør</p>
371
372 <p><pre>
373 nrkopptak/bin/nrk-opptak k <ahref="https://tv.nrk.no/serie/bmi-turne/MUHH45000115/sesong-1/episode-1">https://tv.nrk.no/serie/bmi-turne/MUHH45000115/sesong-1/episode-1</a>
374 </pre></p>
375
376 <p>URL-eksemplet er dagens toppsak på tv.nrk.no. Argument 'k' ber
377 scriptet laste ned og lagre som Matroska. Det finnes en rekke andre
378 muligheter for valg av kvalitet og format.</p>
379
380 <p>Jeg foretrekker dette scriptet fremfor youtube-dl, som
381 <a href="http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK_med_den__nye__l_sningen.html">
382 nevnt i 2014 støtter NRK</a> og en rekke andre videokilder, på grunn
383 av at nrkopptak samler undertekster og video i en enkelt fil, hvilket
384 gjør håndtering enklere på disk.</p>
385 </div>
386 <div class="tags">
387
388
389 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
390
391
392 </div>
393 </div>
394 <div class="padding"></div>
395
396 <div class="entry">
397 <div class="title"><a href="http://people.skolelinux.org/pere/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html">OpenALPR, find car license plates in video streams - nice free software</a></div>
398 <div class="date">23rd December 2015</div>
399 <div class="body"><p>When I was a kid, we used to collect "car numbers", as we used to
400 call the car license plate numbers in those days. I would write the
401 numbers down in my little book and compare notes with the other kids
402 to see how many region codes we had seen and if we had seen some
403 exotic or special region codes and numbers. It was a fun game to pass
404 time, as we kids have plenty of it.</p>
405
406 <p>A few days I came across
407 <a href="https://github.com/openalpr/openalpr">the OpenALPR
408 project</a>, a free software project to automatically discover and
409 report license plates in images and video streams, and provide the
410 "car numbers" in a machine readable format. I've been looking for
411 such system for a while now, because I believe it is a bad idea that the
412 <a href="https://en.wikipedia.org/wiki/Automatic_number_plate_recognition">automatic
413 number plate recognition</a> tool only is available in the hands of
414 the powerful, and want it to be available also for the powerless to
415 even the score when it comes to surveillance and sousveillance. I
416 discovered the developer
417 <a href="https://bugs.debian.org/747509">wanted to get the tool into
418 Debian</a>, and as I too wanted it to be in Debian, I volunteered to
419 help him get it into shape to get the package uploaded into the Debian
420 archive.</p>
421
422 <p>Today we finally managed to get the package into shape and uploaded
423 it into Debian, where it currently
424 <a href="https://ftp-master.debian.org//new/openalpr_2.2.1-1.html">waits
425 in the NEW queue</a> for review by the Debian ftpmasters.</p>
426
427 <p>I guess you are wondering why on earth such tool would be useful
428 for the common folks, ie those not running a large government
429 surveillance system? Well, I plan to put it in a computer on my bike
430 and in my car, tracking the cars nearby and allowing me to be notified
431 when number plates on my watch list are discovered. Another use case
432 was suggested by a friend of mine, who wanted to set it up at his home
433 to open the car port automatically when it discovered the plate on his
434 car. When I mentioned it perhaps was a bit foolhardy to allow anyone
435 capable of placing his license plate number of a piece of cardboard to
436 open his car port, men replied that it was always unlocked anyway. I
437 guess for such use case it make sense. I am sure there are other use
438 cases too, for those with imagination and a vision.</p>
439
440 <p>If you want to build your own version of the Debian package, check
441 out the upstream git source and symlink ./distros/debian to ./debian/
442 before running "debuild" to build the source. Or wait a bit until the
443 package show up in unstable.</p>
444 </div>
445 <div class="tags">
446
447
448 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/nice free software">nice free software</a>.
449
450
451 </div>
452 </div>
453 <div class="padding"></div>
454
455 <div class="entry">
456 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html">Using appstream with isenkram to install hardware related packages in Debian</a></div>
457 <div class="date">20th December 2015</div>
458 <div class="body"><p>Around three years ago, I created
459 <a href="http://packages.qa.debian.org/isenkram">the isenkram
460 system</a> to get a more practical solution in Debian for handing
461 hardware related packages. A GUI system in the isenkram package will
462 present a pop-up dialog when some hardware dongle supported by
463 relevant packages in Debian is inserted into the machine. The same
464 lookup mechanism to detect packages is available as command line
465 tools in the isenkram-cli package. In addition to mapping hardware,
466 it will also map kernel firmware files to packages and make it easy to
467 install needed firmware packages automatically. The key for this
468 system to work is a good way to map hardware to packages, in other
469 words, allow packages to announce what hardware they will work
470 with.</p>
471
472 <p>I started by providing data files in the isenkram source, and
473 adding code to download the latest version of these data files at run
474 time, to ensure every user had the most up to date mapping available.
475 I also added support for storing the mapping in the Packages file in
476 the apt repositories, but did not push this approach because while I
477 was trying to figure out how to best store hardware/package mappings,
478 <a href="http://www.freedesktop.org/software/appstream/docs/">the
479 appstream system</a> was announced. I got in touch and suggested to
480 add the hardware mapping into that data set to be able to use
481 appstream as a data source, and this was accepted at least for the
482 Debian version of appstream.</p>
483
484 <p>A few days ago using appstream in Debian for this became possible,
485 and today I uploaded a new version 0.20 of isenkram adding support for
486 appstream as a data source for mapping hardware to packages. The only
487 package so far using appstream to announce its hardware support is my
488 pymissile package. I got help from Matthias Klumpp with figuring out
489 how do add the required
490 <a href="https://appstream.debian.org/html/sid/main/metainfo/pymissile.html">metadata
491 in pymissile</a>. I added a file debian/pymissile.metainfo.xml with
492 this content:</p>
493
494 <blockquote><pre>
495 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
496 &lt;component&gt;
497 &lt;id&gt;pymissile&lt;/id&gt;
498 &lt;metadata_license&gt;MIT&lt;/metadata_license&gt;
499 &lt;name&gt;pymissile&lt;/name&gt;
500 &lt;summary&gt;Control original Striker USB Missile Launcher&lt;/summary&gt;
501 &lt;description&gt;
502 &lt;p&gt;
503 Pymissile provides a curses interface to control an original
504 Marks and Spencer / Striker USB Missile Launcher, as well as a
505 motion control script to allow a webcamera to control the
506 launcher.
507 &lt;/p&gt;
508 &lt;/description&gt;
509 &lt;provides&gt;
510 &lt;modalias&gt;usb:v1130p0202d*&lt;/modalias&gt;
511 &lt;/provides&gt;
512 &lt;/component&gt;
513 </pre></blockquote>
514
515 <p>The key for isenkram is the component/provides/modalias value,
516 which is a glob style match rule for hardware specific strings
517 (modalias strings) provided by the Linux kernel. In this case, it
518 will map to all USB devices with vendor code 1130 and product code
519 0202.</p>
520
521 <p>Note, it is important that the license of all the metadata files
522 are compatible to have permissions to aggregate them into archive wide
523 appstream files. Matthias suggested to use MIT or BSD licenses for
524 these files. A challenge is figuring out a good id for the data, as
525 it is supposed to be globally unique and shared across distributions
526 (in other words, best to coordinate with upstream what to use). But
527 it can be changed later or, so we went with the package name as
528 upstream for this project is dormant.</p>
529
530 <p>To get the metadata file installed in the correct location for the
531 mirror update scripts to pick it up and include its content the
532 appstream data source, the file must be installed in the binary
533 package under /usr/share/appdata/. I did this by adding the following
534 line to debian/pymissile.install:</p>
535
536 <blockquote><pre>
537 debian/pymissile.metainfo.xml usr/share/appdata
538 </pre></blockquote>
539
540 <p>With that in place, the command line tool isenkram-lookup will list
541 all packages useful on the current computer automatically, and the GUI
542 pop-up handler will propose to install the package not already
543 installed if a hardware dongle is inserted into the machine in
544 question.</p>
545
546 <p>Details of the modalias field in appstream is available from the
547 <a href="https://wiki.debian.org/DEP-11">DEP-11</a> proposal.</p>
548
549 <p>To locate the modalias values of all hardware present in a machine,
550 try running this command on the command line:</p>
551
552 <blockquote><pre>
553 cat $(find /sys/devices/|grep modalias)
554 </pre></blockquote>
555
556 <p>To learn more about the isenkram system, please check out
557 <a href="http://people.skolelinux.org/pere/blog/tags/isenkram/">my
558 blog posts tagged isenkram</a>.</p>
559 </div>
560 <div class="tags">
561
562
563 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>.
564
565
566 </div>
567 </div>
568 <div class="padding"></div>
569
570 <div class="entry">
571 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Bokhandeldistribusjon_av_boken_Fri_kultur_av_Lawrence_Lessig.html">Bokhandeldistribusjon av boken Fri kultur av Lawrence Lessig</a></div>
572 <div class="date">14th December 2015</div>
573 <div class="body"><p><strong>Besøk
574 <a href="https://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html">lulu.com</a>
575 eller
576 <a href="https://www.amazon.com/Fri-kultur-Norwegian-Lawrence-Lessig/dp/8269018236/">Amazon</a>
577 for å kjøpe boken på papir, eller last ned ebook som
578 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/archive/freeculture.nb.pdf">PDF</a>,
579 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/archive/freeculture.nb.epub">ePub</a>
580 eller
581 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/archive/freeculture.nb.mobi">MOBI</a>
582 fra
583 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/">github</a>.</strong></p>
584
585 <p>Jeg ble gledelig overrasket i dag da jeg oppdaget at boken jeg har
586 gitt ut
587 <a href="https://www.amazon.com/Fri-kultur-Norwegian-Lawrence-Lessig/dp/8269018236/">hadde
588 dukket opp i Amazon</a>. Jeg hadde trodd det skulle ta lenger tid, da
589 jeg fikk beskjed om at det skulle ta seks til åtte uker.
590 Amazonoppføringen er et resultat av at jeg for noen uker siden
591 diskuterte prissetting og håndtering av profitt med forfatteren. Det
592 måtte avklares da bruksvilkårene til boken har krav om
593 ikke-kommersiell bruk. Vi ble enige om at overskuddet fra salg av
594 boken skal sendes til
595 <a href="https://creativecommons.org/">Creative Commons-stiftelsen</a>.
596 Med det på plass kunne jeg be
597 <a href="https://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html">lulu.com</a>
598 om å gi boken «utvidet» distribusjon. Årsaken til at
599 bokhandeldistribusjon var litt utfordrende er at bokhandlere krever
600 mulighet for profitt på bøkene de selger (selvfølgelig), og dermed
601 måtte de få lov til å selge til høyere pris enn lulu.com. I tillegg
602 er det krav om samme pris på lulu.com og i bokhandlene, dermed blir
603 prisen økt også hos lulu.com. Hva skulle jeg gjøre med den profitten
604 uten å bryte med klausulen om ikkekommersiell? Løsningen var å gi
605 bort profitten til CC-stiftelsen. Prisen på boken ble nesten
606 tredoblet, til $19.99 (ca. 160,-) pluss frakt, men synligheten øker
607 betraktelig når den kan finnes i katalogene til store nettbokhandlere.
608 Det betyr at hvis du allerede har kjøpt boken har du fått den veldig
609 billig, og kjøper du den nå, får du den fortsatt billig samt donerer i
610 tillegg noen tiere til fremme av Creative Commons.</p>
611
612 <p>Mens jeg var i gang med å titte etter informasjon om boken
613 oppdaget jeg at den også var dukket opp på
614 <a href="https://books.google.no/books?id=uKUGCwAAQBAJ">Google
615 Books</a>, der en kan lese den på web. PDF-utgaven har ennå ikke
616 dukket opp hos <a href="https://www.nb.no/">Nasjonalbiblioteket</a>,
617 men det regner jeg med kommer på plass i løpet av noen uker. Boken er
618 heller ikke dukket opp hos
619 <a href="https://www.barnesandnoble.com/">Barnes & Noble</a> ennå, men
620 jeg antar det bare er et tidsspørsmål før dette er på plass.</p>
621
622 <p>Boken er dessverre ikke tilgjengelig fra norske bokhandlere, og
623 kommer neppe til å bli det med det første. Årsaken er at for å få det
624 til måtte jeg personlig håndtere bestilling av bøker, hvilket jeg ikke
625 er interessert i å bruke tid på. Jeg kunne betalt ca 2000,- til
626 <a href="http://www.bokbasen.no/">den norske bokbasen</a>, en felles
627 database over bøker tilgjengelig for norske bokhandlere, for å få en
628 oppføring der, men da måtte jeg tatt imot bestillinger på epost og
629 sendt ut bøker selv. Det ville krevd at jeg var klar til å
630 sende ut bøker på kort varsel, dvs. holdt meg med ekstra bøker,
631 konvolutter og frimerker. Bokbasen har visst ikke opplegg for å be
632 bokhandlene bestille direkte via web, så jeg droppet oppføring der.
633 Jeg har spurt Haugen bok og Tronsmo direkte på epost om de er
634 interessert i å ta inn boken i sin bestillingskatalog, men ikke fått
635 svar, så jeg antar de ikke er interessert. Derimot har jeg fått en
636 hyggelig henvendelse fra Biblioteksentralen som fortalte at de har
637 lagt den inn i sin database slik at deres bibliotekskunder enkelt kan
638 bestille den via dem.</p>
639
640 <p>Boken er i følge
641 <a href="http://bibsys-almaprimo.hosted.exlibrisgroup.com/primo_library/libweb/action/display.do?tabs=detailsTab&ct=display&fn=search&doc=BIBSYS_ILS71518423420002201&indx=1&recIds=BIBSYS_ILS71518423420002201&recIdxs=0&elementId=0&renderMode=poppedOut&displayMode=full&frbrVersion=&dscnt=0&tab=library_catalogue&dstmp=1448543801124&vl(freeText0)=fri%20kultur&vid=UBO&mode=Basic">Bibsys/Oria</a>
642 og bokdatabasen til
643 <a href="https://www.deich.folkebibl.no/cgi-bin/websok?tnr=1819617">Deichmanske</a>
644 tilgjengelig fra flere biblioteker allerede, og alle eksemplarer er
645 visst allerede utlånt med ventetid. Det synes jeg er veldig gledelig
646 å se. Jeg håper mange kommer til å lese boken. Jeg tror den er
647 spesielt egnet for foreldre og bekjente av oss nerder for å forklare
648 hva slags problemer vi ser med dagens opphavsrettsregime.</p>
649 </div>
650 <div class="tags">
651
652
653 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>.
654
655
656 </div>
657 </div>
658 <div class="padding"></div>
659
660 <div class="entry">
661 <div class="title"><a href="http://people.skolelinux.org/pere/blog/The_GNU_General_Public_License_is_not_magic_pixie_dust.html">The GNU General Public License is not magic pixie dust</a></div>
662 <div class="date">30th November 2015</div>
663 <div class="body"><p>A blog post from my fellow Debian developer Paul Wise titled
664 "<a href="http://bonedaddy.net/pabs3/log/2015/11/27/sfc-supporter/">The
665 GPL is not magic pixie dust</a>" explain the importance of making sure
666 the <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> is enforced.
667 I quote the blog post from Paul in full here with his permission:<p>
668
669 <blockquote>
670
671 <p><a href="https://sfconservancy.org/supporter/"><img src="https://sfconservancy.org/img/supporter-badge.png" width="194" height="90" alt="Become a Software Freedom Conservancy Supporter!" align="right" border="0" /></a></p>
672
673 <blockquote>
674 The GPL is not magic pixie dust. It does not work by itself.<br/>
675
676 The first step is to choose a
677 <a href="https://copyleft.org/">copyleft</a> license for your
678 code.<br/>
679
680 The next step is, when someone fails to follow that copyleft license,
681 <b>it must be enforced</b><br/>
682
683 and its a simple fact of our modern society that such type of
684 work<br/>
685
686 is incredibly expensive to do and incredibly difficult to do.
687 </blockquote>
688
689 <p><small>-- <a href="http://ebb.org/bkuhn/">Bradley Kuhn</a>, in
690 <a href="http://faif.us/" title="Free as in Freedom">FaiF</a>
691 <a href="http://faif.us/cast/2015/nov/24/0x57/">episode
692 0x57</a></small></p>
693
694 <p>As the Debian Website
695 <a href="https://bugs.debian.org/794116">used</a>
696 <a href="https://anonscm.debian.org/viewvc/webwml/webwml/english/intro/free.wml?r1=1.24&amp;r2=1.25">to</a>
697 imply, public domain and permissively licensed software can lead to
698 the production of more proprietary software as people discover useful
699 software, extend it and or incorporate it into their hardware or
700 software products. Copyleft licenses such as the GNU GPL were created
701 to close off this avenue to the production of proprietary software but
702 such licenses are not enough. With the ongoing adoption of Free
703 Software by individuals and groups, inevitably the community's
704 expectations of license compliance are violated, usually out of
705 ignorance of the way Free Software works, but not always. As Karen
706 and Bradley explained in <a href="http://faif.us/" title="Free as in
707 Freedom">FaiF</a>
708 <a href="http://faif.us/cast/2015/nov/24/0x57/">episode 0x57</a>,
709 copyleft is nothing if no-one is willing and able to stand up in court
710 to protect it. The reality of today's world is that legal
711 representation is expensive, difficult and time consuming. With
712 <a href="http://gpl-violations.org/">gpl-violations.org</a> in hiatus
713 <a href="http://gpl-violations.org/news/20151027-homepage-recovers/">until</a>
714 some time in 2016, the <a href="https://sfconservancy.org/">Software
715 Freedom Conservancy</a> (a tax-exempt charity) is the major defender
716 of the Linux project, Debian and other groups against GPL violations.
717 In March the SFC supported a
718 <a href="https://sfconservancy.org/news/2015/mar/05/vmware-lawsuit/">lawsuit
719 by Christoph Hellwig</a> against VMware for refusing to
720 <a href="https://sfconservancy.org/linux-compliance/vmware-lawsuit-faq.html">comply
721 with the GPL</a> in relation to their use of parts of the Linux
722 kernel. Since then two of their sponsors pulled corporate funding and
723 conferences
724 <a href="https://sfconservancy.org/blog/2015/nov/24/faif-carols-fundraiser/">blocked
725 or cancelled their talks</a>. As a result they have decided to rely
726 less on corporate funding and more on the broad community of
727 individuals who support Free Software and copyleft. So the SFC has
728 <a href="https://sfconservancy.org/news/2015/nov/23/2015fundraiser/">launched</a>
729 a <a href="https://sfconservancy.org/supporter/">campaign</a> to create
730 a community of folks who stand up for copyleft and the GPL by
731 supporting their work on promoting and supporting copyleft and Free
732 Software.</p>
733
734 <p>If you support Free Software,
735 <a href="https://sfconservancy.org/blog/2015/nov/26/like-what-I-do/">like</a>
736 what the SFC do, agree with their
737 <a href="https://sfconservancy.org/linux-compliance/principles.html">compliance
738 principles</a>, are happy about their
739 <a href="https://sfconservancy.org/supporter/">successes</a> in 2015,
740 work on a project that is an SFC
741 <a href="https://sfconservancy.org/members/current/">member</a> and or
742 just want to stand up for copyleft, please join
743 <a href="https://identi.ca/cwebber/image/JQGPA4qbTyyp3-MY8QpvuA">Christopher
744 Allan Webber</a>,
745 <a href="https://sfconservancy.org/blog/2015/nov/24/faif-carols-fundraiser/">Carol
746 Smith</a>,
747 <a href="http://www.jonobacon.org/2015/11/25/supporting-software-freedom-conservancy/">Jono
748 Bacon</a>, myself and
749 <a href="https://sfconservancy.org/sponsors/#supporters">others</a> in
750 becoming a
751 <a href="https://sfconservancy.org/supporter/">supporter</a>. For the
752 next week your donation will be
753 <a href="https://sfconservancy.org/news/2015/nov/27/black-friday/">matched</a>
754 by an anonymous donor. Please also consider asking your employer to
755 match your donation or become a sponsor of SFC. Don't forget to
756 spread the word about your support for SFC via email, your blog and or
757 social media accounts.</p>
758
759 </blockquote>
760
761 <p>I agree with Paul on this topic and just signed up as a Supporter
762 of Software Freedom Conservancy myself. Perhaps you should be a
763 supporter too?</p>
764 </div>
765 <div class="tags">
766
767
768 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/opphavsrett">opphavsrett</a>.
769
770
771 </div>
772 </div>
773 <div class="padding"></div>
774
775 <div class="entry">
776 <div class="title"><a href="http://people.skolelinux.org/pere/blog/PGP_key_transition_statement_for_key_EE4E02F9.html">PGP key transition statement for key EE4E02F9</a></div>
777 <div class="date">17th November 2015</div>
778 <div class="body"><p>I've needed a new OpenPGP key for a while, but have not had time to
779 set it up properly. I wanted to generate it offline and have it
780 available on <a href="http://shop.kernelconcepts.de/#openpgp">a OpenPGP
781 smart card</a> for daily use, and learning how to do it and finding
782 time to sit down with an offline machine almost took forever. But
783 finally I've been able to complete the process, and have now moved
784 from my old GPG key to a new GPG key. See
785 <a href="http://people.skolelinux.org/pere/blog/images/2015-11-17-new-gpg-key-transition.txt">the
786 full transition statement, signed with both my old and new key</a> for
787 the details. This is my new key:</p>
788
789 <pre>
790 pub 3936R/<a href="http://pgp.cs.uu.nl/stats/111D6B29EE4E02F9.html">111D6B29EE4E02F9</a> 2015-11-03 [expires: 2019-11-14]
791 Key fingerprint = 3AC7 B2E3 ACA5 DF87 78F1 D827 111D 6B29 EE4E 02F9
792 uid Petter Reinholdtsen &lt;pere@hungry.com&gt;
793 uid Petter Reinholdtsen &lt;pere@debian.org&gt;
794 sub 4096R/87BAFB0E 2015-11-03 [expires: 2019-11-02]
795 sub 4096R/F91E6DE9 2015-11-03 [expires: 2019-11-02]
796 sub 4096R/A0439BAB 2015-11-03 [expires: 2019-11-02]
797 </pre>
798
799 <p>The key can be downloaded from the OpenPGP key servers, signed by
800 my old key.</p>
801
802 <p>If you signed my old key
803 (<a href="http://pgp.cs.uu.nl/stats/DB4CCC4B2A30D729.html">DB4CCC4B2A30D729</a>),
804 I'd very much appreciate a signature on my new key, details and
805 instructions in the transition statement. I m happy to reciprocate if
806 you have a similarly signed transition statement to present.</p>
807 </div>
808 <div class="tags">
809
810
811 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>.
812
813
814 </div>
815 </div>
816 <div class="padding"></div>
817
818 <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>
819 <div id="sidebar">
820
821
822
823 <h2>Archive</h2>
824 <ul>
825
826 <li>2016
827 <ul>
828
829 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
830
831 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
832
833 </ul></li>
834
835 <li>2015
836 <ul>
837
838 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
839
840 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
841
842 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
843
844 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
845
846 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
847
848 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
849
850 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
851
852 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
853
854 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
855
856 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
857
858 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
859
860 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
861
862 </ul></li>
863
864 <li>2014
865 <ul>
866
867 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
868
869 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
870
871 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
872
873 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
874
875 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
876
877 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
878
879 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
880
881 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
882
883 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
884
885 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
886
887 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
888
889 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
890
891 </ul></li>
892
893 <li>2013
894 <ul>
895
896 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
897
898 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
899
900 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
901
902 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
903
904 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
905
906 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
907
908 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
909
910 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
911
912 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
913
914 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
915
916 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
917
918 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
919
920 </ul></li>
921
922 <li>2012
923 <ul>
924
925 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
926
927 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
928
929 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
930
931 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
932
933 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
934
935 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
936
937 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
938
939 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
940
941 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
942
943 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
944
945 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
946
947 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
948
949 </ul></li>
950
951 <li>2011
952 <ul>
953
954 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
955
956 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
957
958 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
959
960 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
961
962 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
963
964 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
965
966 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
967
968 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
969
970 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
971
972 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
973
974 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
975
976 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
977
978 </ul></li>
979
980 <li>2010
981 <ul>
982
983 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
984
985 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
986
987 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
988
989 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
990
991 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
992
993 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
994
995 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
996
997 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
998
999 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
1000
1001 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
1002
1003 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
1004
1005 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
1006
1007 </ul></li>
1008
1009 <li>2009
1010 <ul>
1011
1012 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
1013
1014 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
1015
1016 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
1017
1018 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
1019
1020 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
1021
1022 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
1023
1024 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
1025
1026 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
1027
1028 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
1029
1030 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
1031
1032 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
1033
1034 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
1035
1036 </ul></li>
1037
1038 <li>2008
1039 <ul>
1040
1041 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
1042
1043 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
1044
1045 </ul></li>
1046
1047 </ul>
1048
1049
1050
1051 <h2>Tags</h2>
1052 <ul>
1053
1054 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
1055
1056 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
1057
1058 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
1059
1060 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
1061
1062 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (9)</a></li>
1063
1064 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (15)</a></li>
1065
1066 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
1067
1068 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
1069
1070 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (120)</a></li>
1071
1072 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (154)</a></li>
1073
1074 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
1075
1076 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (15)</a></li>
1077
1078 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (20)</a></li>
1079
1080 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
1081
1082 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (302)</a></li>
1083
1084 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
1085
1086 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
1087
1088 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (25)</a></li>
1089
1090 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
1091
1092 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (16)</a></li>
1093
1094 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
1095
1096 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
1097
1098 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (11)</a></li>
1099
1100 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>
1101
1102 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
1103
1104 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
1105
1106 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
1107
1108 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
1109
1110 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
1111
1112 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (37)</a></li>
1113
1114 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (7)</a></li>
1115
1116 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (273)</a></li>
1117
1118 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (177)</a></li>
1119
1120 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (22)</a></li>
1121
1122 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
1123
1124 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (58)</a></li>
1125
1126 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (92)</a></li>
1127
1128 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
1129
1130 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
1131
1132 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
1133
1134 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
1135
1136 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (9)</a></li>
1137
1138 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1139
1140 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
1141
1142 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
1143
1144 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (45)</a></li>
1145
1146 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
1147
1148 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
1149
1150 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (48)</a></li>
1151
1152 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
1153
1154 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (10)</a></li>
1155
1156 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (36)</a></li>
1157
1158 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (2)</a></li>
1159
1160 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
1161
1162 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
1163
1164 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (55)</a></li>
1165
1166 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1167
1168 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (38)</a></li>
1169
1170 </ul>
1171
1172
1173 </div>
1174 <p style="text-align: right">
1175 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1176 </p>
1177
1178 </body>
1179 </html>