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