1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"http://people.skolelinux.org/pere/blog/index.rss" type=
"application/rss+xml" />
14 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/98_6_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html">98.6 percent done with the Norwegian draft translation of Free Culture
</a></div>
24 <div class=
"date">23rd July
2014</div>
25 <div class=
"body"><p>This summer I finally had time to continue working on the Norwegian
26 <a href=
"http://www.docbook.org/">docbook
</a> version of the
2004 book
27 <a href=
"http://free-culture.cc/">Free Culture
</a> by Lawrence Lessig,
28 to get a Norwegian text explaining the problems with todays copyright
29 law. Yesterday, I finally completed translated the book text. There
30 are still some foot/end notes left to translate, the colophon page
31 need to be rewritten, and a few words and phrases still need to be
32 translated, but the Norwegian text is ready for the first proof
33 reading. :) More spell checking is needed, and several illustrations
34 need to be cleaned up. The work stopped up because I had to give
35 priority to other projects the last year, and the progress graph of
36 the translation show this very well:
</p>
38 <p><img width=
"80%" align=
"center" src=
"https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png"></p>
40 <p>If you want to read the result, check out the
41 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig">github
</a>
43 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF
</a>,
44 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB
</a>
45 and HTML version available in the
46 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig/tree/master/archive">archive
49 <p>Please report typos, bugs and improvements to the github project if
55 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture
</a>.
60 <div class=
"padding"></div>
63 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/From_English_wiki_to_translated_PDF_and_epub_via_Docbook.html">From English wiki to translated PDF and epub via Docbook
</a></div>
64 <div class=
"date">17th June
2014</div>
65 <div class=
"body"><p>The
<a href=
"http://www.skolelinux.org/">Debian Edu / Skolelinux
66 project
</a> provide an instruction manual for teachers, system
67 administrators and other users that contain useful tips for setting up
68 and maintaining a Debian Edu installation. This text is about how the
69 text processing of this manual is handled in the project.
</p>
71 <p>One goal of the project is to provide information in the native
72 language of its users, and for this we need to handle translations.
73 But we also want to make sure each language contain the same
74 information, so for this we need a good way to keep the translations
75 in sync. And we want it to be easy for our users to improve the
76 documentation, avoiding the need to learn special formats or tools to
77 contribute, and the obvious way to do this is to make it possible to
78 edit the documentation using a web browser. We also want it to be
79 easy for translators to keep the translation up to date, and give them
80 help in figuring out what need to be translated. Here is the list of
81 tools and the process we have found trying to reach all these
84 <p>We maintain the authoritative source of our manual in the
85 <a href=
"https://wiki.debian.org/DebianEdu/Documentation/Wheezy/">Debian
86 wiki
</a>, as several wiki pages written in English. It consist of one
87 front page with references to the different chapters, several pages
88 for each chapter, and finally one "collection page" gluing all the
89 chapters together into one large web page (aka
90 <a href=
"https://wiki.debian.org/DebianEdu/Documentation/Wheezy/AllInOne">the
91 AllInOne page
</a>). The AllInOne page is the one used for further
92 processing and translations. Thanks to the fact that the
93 <a href=
"http://moinmo.in/">MoinMoin
</a> installation on
94 wiki.debian.org support exporting pages in
95 <a href=
"http://www.docbook.org/">the Docbook format
</a>, we can fetch
96 the list of pages to export using the raw version of the AllInOne
97 page, loop over each of them to generate a Docbook XML version of the
98 manual. This process also download images and transform image
99 references to use the locally downloaded images. The generated
100 Docbook XML files are slightly broken, so some post-processing is done
101 using the
<tt>documentation/scripts/get_manual
</tt> program, and the
102 result is a nice Docbook XML file (debian-edu-wheezy-manual.xml) and
103 a handfull of images. The XML file can now be used to generate PDF, HTML
104 and epub versions of the English manual. This is the basic step of
105 our process, making PDF (using dblatex), HTML (using xsltproc) and
106 epub (using dbtoepub) version from Docbook XML, and the resulting files
107 are placed in the debian-edu-doc-en binary package.
</p>
109 <p>But English documentation is not enough for us. We want translated
110 documentation too, and we want to make it easy for translators to
111 track the English original. For this we use the
112 <a href=
"http://packages.qa.debian.org/p/poxml.html">poxml
</a> package,
113 which allow us to transform the English Docbook XML file into a
114 translation file (a .pot file), usable with the normal gettext based
115 translation tools used by those translating free software. The pot
116 file is used to create and maintain translation files (several .po
117 files), which the translations update with the native language
118 translations of all titles, paragraphs and blocks of text in the
119 original. The next step is combining the original English Docbook XML
120 and the translation file (say debian-edu-wheezy-manual.nb.po), to
121 create a translated Docbook XML file (in this case
122 debian-edu-wheezy-manual.nb.xml). This translated (or partly
123 translated, if the translation is not complete) Docbook XML file can
124 then be used like the original to create a PDF, HTML and epub version
125 of the documentation.
</p>
127 <p>The translators use different tools to edit the .po files. We
129 <a href=
"http://www.kde.org/applications/development/lokalize/">lokalize
</a>,
130 while some use emacs and vi, others can use web based editors like
131 <a href=
"http://pootle.translatehouse.org/">Poodle
</a> or
132 <a href=
"https://www.transifex.com/">Transifex
</a>. All we care about
133 is where the .po file end up, in our git repository. Updated
134 translations can either be committed directly to git, or submitted as
135 <a href=
"https://bugs.debian.org/src:debian-edu-doc">bug reports
136 against the debian-edu-doc package
</a>.
</p>
138 <p>One challenge is images, which both might need to be translated (if
139 they show translated user applications), and are needed in different
140 formats when creating PDF and HTML versions (epub is a HTML version in
141 this regard). For this we transform the original PNG images to the
142 needed density and format during build, and have a way to provide
143 translated images by storing translated versions in
144 images/$LANGUAGECODE/. I am a bit unsure about the details here. The
145 package maintainers know more.
</p>
147 <p>If you wonder what the result look like, we provide
148 <a href=
"http://maintainer.skolelinux.org/debian-edu-doc/">the content
149 of the documentation packages on the web
</a>. See for example the
150 <a href=
"http://maintainer.skolelinux.org/debian-edu-doc/it/debian-edu-wheezy-manual.pdf">Italian
151 PDF version
</a> or the
152 <a href=
"http://maintainer.skolelinux.org/debian-edu-doc/de/debian-edu-wheezy-manual.html">German
153 HTML version
</a>. We do not yet build the epub version by default,
154 but perhaps it will be done in the future.
</p>
156 <p>To learn more, check out
157 <a href=
"http://packages.qa.debian.org/d/debian-edu-doc.html">the
158 debian-edu-doc package
</a>,
159 <a href=
"https://wiki.debian.org/DebianEdu/Documentation/Wheezy/">the
160 manual on the wiki
</a> and
161 <a href=
"https://wiki.debian.org/DebianEdu/Documentation/Wheezy/Translations">the
162 translation instructions
</a> in the manual.
</p>
167 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/docbook">docbook
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
172 <div class=
"padding"></div>
175 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK_med_den__nye__l_sningen.html">Hvordan enkelt laste ned filmer fra NRK med den "nye" løsningen
</a></div>
176 <div class=
"date">16th June
2014</div>
177 <div class=
"body"><p>Jeg har fortsatt behov for å kunne laste ned innslag fra NRKs
178 nettsted av og til for å se senere når jeg ikke er på nett, men
179 <a href=
"http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK.html">min
180 oppskrift fra
2011</a> sluttet å fungere da NRK byttet
181 avspillermetode. I dag fikk jeg endelig lett etter oppdatert løsning,
182 og jeg er veldig glad for å fortelle at den enkleste måten å laste ned
183 innslag er å bruke siste versjon
2014.06.07 av
184 <a href=
"http://rg3.github.io/youtube-dl/">youtube-dl
</a>. Støtten i
185 youtube-dl
<a href=
"https://github.com/rg3/youtube-dl/issues/2980">kom
186 inn for
23 dager siden
</a> og
187 <a href=
"http://packages.qa.debian.org/y/youtube-dl.html">versjonen i
188 Debian
</a> fungerer fint også som backport til Debian Wheezy. Det er
189 et lite problem, det håndterer kun URLer med små bokstaver, men hvis
190 en har en URL med store bokstaver kan en bare gjøre alle store om til
191 små bokstaver for å få youtube-dl til å laste ned. Rapporterte
193 <a href=
"https://github.com/rg3/youtube-dl/issues/2980">problemet til
194 utviklerne
</a>, og antar de får fikset det snart.
</p>
196 <p>Dermed er alt klart til å laste ned dokumentarene om
197 <a href=
"http://tv.nrk.no/program/KOID23005014/usas-hemmelige-avlytting">USAs
198 hemmelige avlytting
</a> og
199 <a href=
"http://tv.nrk.no/program/KOID23005114/selskapene-bak-usas-avlytting">Selskapene
200 bak USAs avlytting
</a>, i tillegg til
201 <a href=
"http://tv.nrk.no/program/KOID20005814/et-moete-med-edward-snowden">intervjuet
202 med Edward Snowden gjort av den tyske tv-kanalen ARD
</a>. Anbefaler
203 alle å se disse, sammen med
204 <a href=
"http://media.ccc.de/browse/congress/2013/30C3_-_5713_-_en_-_saal_2_-_201312301130_-_to_protect_and_infect_part_2_-_jacob.html">foredraget
205 til Jacob Appelbaum på siste CCC-konferanse
</a>, for å forstå mer om
206 hvordan overvåkningen av borgerne brer om seg.
</p>
208 <p>Takk til gode venner på foreningen NUUGs IRC-kanal
209 <a href=
"irc://irc.freenode.net/%23nuug">#nuug på irc.freenode.net
</a>
210 for tipsene som fikk meg i mål
</a>.
</p>
212 <p><strong>Oppdatering
2014-
06-
17</strong>: Etter at jeg publiserte
213 denne, ble jeg tipset om bloggposten
214 "
<a href=
"http://ingvar.blog.redpill-linpro.com/2012/05/31/downloading-hd-content-from-tv-nrk-no/">Downloading
215 HD content from tv.nrk.no
</a>" av Ingvar Hagelund, som har alternativ
216 implementasjon og tips for å lage mkv-fil med undertekstene inkludert.
217 Kanskje den passer bedre for deg? I tillegg ble feilen i youtube-dl
218 ble fikset litt senere ut på dagen i går, samt at youtube-dl fikk
219 støtte for å laste ned undertitler. Takk til Anders Einar Hilden for
220 god innsats og youtube-dl-utviklerne for rask respons.</p>
225 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>.
230 <div class="padding
"></div>
233 <div class="title
"><a href="http://people.skolelinux.org/pere/blog/Free_software_car_computer_solution_.html
">Free software car computer solution?</a></div>
234 <div class="date
">29th May 2014</div>
235 <div class="body
"><p>Dear lazyweb. I'm planning to set up a small Raspberry Pi computer
236 in my car, connected to
237 <a href="http://www.dx.com/p/
400a-
4-
0-tft-lcd-digital-monitor-for-vehicle-parking-reverse-camera-
1440x272-
12v-dc-
57776">a
238 small screen</a> next to the rear mirror. I plan to hook it up with a
239 GPS and a USB wifi card too. The idea is to get my own
240 "<a href=
"http://en.wikipedia.org/wiki/Carputer">Carputer
</a>". But I
241 wonder if someone already created a good free software solution for
242 such car computer.</p>
244 <p>This is my current wish list for such system:</p>
248 <li>Work on Raspberry Pi.</li>
250 <li>Show current speed limit based on location, and warn if going too
251 fast (for example using color codes yellow and red on the screen,
252 or make a sound). This could be done either using either data from
253 <a href="http://www.openstreetmap.org/
">Openstreetmap</a> or OCR
254 info gathered from a dashboard camera.</li>
256 <li>Track automatic toll road passes and their cost, show total spent
257 and make it possible to calculate toll costs for planned
260 <li>Collect GPX tracks for use with OpenStreetMap.</li>
262 <li>Automatically detect and use any wireless connection to connect
263 to home server. Try IP over DNS
264 (<a href="http://dev.kryo.se/iodine/
">iodine</a>) or ICMP
265 (<a href="http://code.gerade.org/hans/
">Hans</a>) if direct
266 connection do not work.</li>
268 <li>Set up mesh network to talk to other cars with the same system,
269 or some standard car mesh protocol.</li>
271 <li>Warn when approaching speed cameras and speed camera ranges
272 (speed calculated between two cameras).</li>
274 <li>Suport dashboard/front facing camera to discover speed limits and
275 run OCR to track registration number of passing cars.</li>
279 <p>If you know of any free software car computer system supporting
280 some or all of these features, please let me know.</p>
285 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english
">english</a>.
290 <div class="padding
"></div>
293 <div class="title
"><a href="http://people.skolelinux.org/pere/blog/Half_the_Coverity_issues_in_Gnash_fixed_in_the_next_release.html
">Half the Coverity issues in Gnash fixed in the next release</a></div>
294 <div class="date
">29th April 2014</div>
295 <div class="body
"><p>I've been following <a href="http://www.getgnash.org/
">the Gnash
296 project</a> for quite a while now. It is a free software
297 implementation of Adobe Flash, both a standalone player and a browser
298 plugin. Gnash implement support for the AVM1 format (and not the
299 newer AVM2 format - see
300 <a href="http://lightspark.github.io/
">Lightspark</a> for that one),
301 allowing several flash based sites to work. Thanks to the friendly
302 developers at Youtube, it also work with Youtube videos, because the
303 Javascript code at Youtube detect Gnash and serve a AVM1 player to
304 those users. :) Would be great if someone found time to implement AVM2
305 support, but it has not happened yet. If you install both Lightspark
306 and Gnash, Lightspark will invoke Gnash if it find a AVM1 flash file,
307 so you can get both handled as free software. Unfortunately,
308 Lightspark so far only implement a small subset of AVM2, and many
309 sites do not work yet.</p>
311 <p>A few months ago, I started looking at
312 <a href="http://scan.coverity.com/
">Coverity</a>, the static source
313 checker used to find heaps and heaps of bugs in free software (thanks
314 to the donation of a scanning service to free software projects by the
315 company developing this non-free code checker), and Gnash was one of
316 the projects I decided to check out. Coverity is able to find lock
317 errors, memory errors, dead code and more. A few days ago they even
318 extended it to also be able to find the heartbleed bug in OpenSSL.
319 There are heaps of checks being done on the instrumented code, and the
320 amount of bogus warnings is quite low compared to the other static
321 code checkers I have tested over the years.</p>
323 <p>Since a few weeks ago, I've been working with the other Gnash
324 developers squashing bugs discovered by Coverity. I was quite happy
325 today when I checked the current status and saw that of the 777 issues
326 detected so far, 374 are marked as fixed. This make me confident that
327 the next Gnash release will be more stable and more dependable than
328 the previous one. Most of the reported issues were and are in the
329 test suite, but it also found a few in the rest of the code.</p>
331 <p>If you want to help out, you find us on
332 <a href="https://lists.gnu.org/mailman/listinfo/gnash-dev
">the
333 gnash-dev mailing list</a> and on
334 <a href="irc://irc.freenode.net/#gnash
">the #gnash channel on
335 irc.freenode.net IRC server</a>.</p>
340 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english
">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia
">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video
">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web
">web</a>.
345 <div class="padding
"></div>
348 <div class="title
"><a href="http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html
">Install hardware dependent packages using tasksel (Isenkram 0.7)</a></div>
349 <div class="date
">23rd April 2014</div>
350 <div class="body
"><p>It would be nice if it was easier in Debian to get all the hardware
351 related packages relevant for the computer installed automatically.
352 So I implemented one, using
353 <a href="http://packages.qa.debian.org/isenkram
">my Isenkram
354 package</a>. To use it, install the tasksel and isenkram packages and
355 run tasksel as user root. You should be presented with a new option,
356 "Hardware specific packages (autodetected by isenkram)". When you
357 select it, tasksel will install the packages isenkram claim is fit for
358 the current hardware, hot pluggable or not.
<p>
360 <p>The implementation is in two files, one is the tasksel menu entry
361 description, and the other is the script used to extract the list of
362 packages to install. The first part is in
363 <tt>/usr/share/tasksel/descs/isenkram.desc
</tt> and look like
369 Description: Hardware specific packages (autodetected by isenkram)
370 Based on the detected hardware various hardware specific packages are
372 Test-new-install: mark show
374 Packages: for-current-hardware
375 </pre></blockquote></p>
377 <p>The second part is in
378 <tt>/usr/lib/tasksel/packages/for-current-hardware
</tt> and look like
386 isenkram-autoinstall-firmware -l
388 </pre></blockquote></p>
390 <p>All in all, a very short and simple implementation making it
391 trivial to install the hardware dependent package we all may want to
392 have installed on our machines. I've not been able to find a way to
393 get tasksel to tell you exactly which packages it plan to install
394 before doing the installation. So if you are curious or careful,
395 check the output from the isenkram-* command line tools first.
</p>
397 <p>The information about which packages are handling which hardware is
398 fetched either from the isenkram package itself in
399 /usr/share/isenkram/, from git.debian.org or from the APT package
400 database (using the Modaliases header). The APT package database
401 parsing have caused a nasty resource leak in the isenkram daemon (bugs
402 <a href=
"http://bugs.debian.org/719837">#
719837</a> and
403 <a href=
"http://bugs.debian.org/730704">#
730704</a>). The cause is in
404 the python-apt code (bug
405 <a href=
"http://bugs.debian.org/745487">#
745487</a>), but using a
406 workaround I was able to get rid of the file descriptor leak and
407 reduce the memory leak from ~
30 MiB per hardware detection down to
408 around
2 MiB per hardware detection. It should make the desktop
409 daemon a lot more useful. The fix is in version
0.7 uploaded to
412 <p>I believe the current way of mapping hardware to packages in
413 Isenkram is is a good draft, but in the future I expect isenkram to
414 use the AppStream data source for this. A proposal for getting proper
415 AppStream support into Debian is floating around as
416 <a href=
"https://wiki.debian.org/DEP-11">DEP-
11</a>, and
417 <a href=
"https://wiki.debian.org/SummerOfCode2014/Projects#SummerOfCode2014.2FProjects.2FAppStreamDEP11Implementation.AppStream.2FDEP-11_for_the_Debian_Archive">GSoC
418 project
</a> will take place this summer to improve the situation. I
419 look forward to seeing the result, and welcome patches for isenkram to
420 start using the information when it is ready.
</p>
422 <p>If you want your package to map to some specific hardware, either
423 add a "Xb-Modaliases" header to your control file like I did in
424 <a href=
"http://packages.qa.debian.org/pymissile">the pymissile
425 package
</a> or submit a bug report with the details to the isenkram
427 <a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram/">all my
428 blog posts tagged isenkram
</a> for details on the notation. I expect
429 the information will be migrated to AppStream eventually, but for the
430 moment I got no better place to store it.
</p>
435 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>.
440 <div class=
"padding"></div>
443 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html">FreedomBox milestone - all packages now in Debian Sid
</a></div>
444 <div class=
"date">15th April
2014</div>
445 <div class=
"body"><p>The
<a href=
"https://wiki.debian.org/FreedomBox">Freedombox
446 project
</a> is working on providing the software and hardware to make
447 it easy for non-technical people to host their data and communication
448 at home, and being able to communicate with their friends and family
449 encrypted and away from prying eyes. It is still going strong, and
450 today a major mile stone was reached.
</p>
452 <p>Today, the last of the packages currently used by the project to
453 created the system images were accepted into Debian Unstable. It was
454 the freedombox-setup package, which is used to configure the images
455 during build and on the first boot. Now all one need to get going is
456 the build code from the freedom-maker git repository and packages from
457 Debian. And once the freedombox-setup package enter testing, we can
458 build everything directly from Debian. :)
</p>
460 <p>Some key packages used by Freedombox are
461 <a href=
"http://packages.qa.debian.org/freedombox-setup">freedombox-setup
</a>,
462 <a href=
"http://packages.qa.debian.org/plinth">plinth
</a>,
463 <a href=
"http://packages.qa.debian.org/pagekite">pagekite
</a>,
464 <a href=
"http://packages.qa.debian.org/tor">tor
</a>,
465 <a href=
"http://packages.qa.debian.org/privoxy">privoxy
</a>,
466 <a href=
"http://packages.qa.debian.org/owncloud">owncloud
</a> and
467 <a href=
"http://packages.qa.debian.org/dnsmasq">dnsmasq
</a>. There
468 are plans to integrate more packages into the setup. User
469 documentation is maintained on the Debian wiki. Please
470 <a href=
"https://wiki.debian.org/FreedomBox/Manual/Jessie">check out
471 the manual
</a> and help us improve it.
</p>
473 <p>To test for yourself and create boot images with the FreedomBox
474 setup, run this on a Debian machine using a user with sudo rights to
478 sudo apt-get install git vmdebootstrap mercurial python-docutils \
479 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
481 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
483 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
486 <p>Root access is needed to run debootstrap and mount loopback
487 devices. See the README in the freedom-maker git repo for more
488 details on the build. If you do not want all three images, trim the
489 make line. Note that the virtualbox-image target is not really
490 virtualbox specific. It create a x86 image usable in kvm, qemu,
491 vmware and any other x86 virtual machine environment. You might need
492 the version of vmdebootstrap in Jessie to get the build working, as it
493 include fixes for a race condition with kpartx.
</p>
495 <p>If you instead want to install using a Debian CD and the preseed
496 method, boot a Debian Wheezy ISO and use this boot argument to load
497 the preseed values:
</p>
500 url=
<a href=
"http://www.reinholdtsen.name/freedombox/preseed-jessie.dat">http://www.reinholdtsen.name/freedombox/preseed-jessie.dat
</a>
503 <p>I have not tested it myself the last few weeks, so I do not know if
506 <p>If you wonder how to help, one task you could look at is using
507 systemd as the boot system. It will become the default for Linux in
508 Jessie, so we need to make sure it is usable on the Freedombox. I did
509 a simple test a few weeks ago, and noticed dnsmasq failed to start
510 during boot when using systemd. I suspect there are other problems
511 too. :) To detect problems, there is a test suite included, which can
512 be run from the plinth web interface.
</p>
514 <p>Give it a go and let us know how it goes on the mailing list, and help
515 us get the new release published. :) Please join us on
516 <a href=
"irc://irc.debian.org:6667/%23freedombox">IRC (#freedombox on
517 irc.debian.org)
</a> and
518 <a href=
"http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss">the
519 mailing list
</a> if you want to help make this vision come true.
</p>
524 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/freedombox">freedombox
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/web">web
</a>.
529 <div class=
"padding"></div>
532 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Spr_kkoder_for_POSIX_locale_i_Norge.html">Språkkoder for POSIX locale i Norge
</a></div>
533 <div class=
"date">11th April
2014</div>
534 <div class=
"body"><p>For
12 år siden, skrev jeg et lite notat om
535 <a href=
"http://i18n.skolelinux.no/localekoder.txt">bruk av språkkoder
536 i Norge
</a>. Jeg ble nettopp minnet på dette da jeg fikk spørsmål om
537 notatet fortsatt var aktuelt, og tenkte det var greit å repetere hva
538 som fortsatt gjelder. Det jeg skrev da er fortsatt like aktuelt.
</p>
540 <p>Når en velger språk i programmer på unix, så velger en blant mange
541 språkkoder. For språk i Norge anbefales følgende språkkoder (anbefalt
542 locale i parantes):
</p>
545 <dt>nb (nb_NO)
</dt><dd>Bokmål i Norge
</dd>
546 <dt>nn (nn_NO)
</dt><dd>Nynorsk i Norge
</dd>
547 <dt>se (se_NO)
</dt><dd>Nordsamisk i Norge
</dd>
550 <p>Alle programmer som bruker andre koder bør endres.
</p>
552 <p>Språkkoden bør brukes når .po-filer navngis og installeres. Dette
553 er ikke det samme som locale-koden. For Norsk Bokmål, så bør filene
554 være navngitt nb.po, mens locale (LANG) bør være nb_NO.
</p>
556 <p>Hvis vi ikke får standardisert de kodene i alle programmene med
557 norske oversettelser, så er det umulig å gi LANG-variablen ett innhold
558 som fungerer for alle programmer.
</p>
560 <p>Språkkodene er de offisielle kodene fra ISO
639, og bruken av dem i
561 forbindelse med POSIX localer er standardisert i RFC
3066 og ISO
562 15897. Denne anbefalingen er i tråd med de angitte standardene.
</p>
564 <p>Følgende koder er eller har vært i bruk som locale-verdier for
565 "norske" språk. Disse bør unngås, og erstattes når de oppdages:
</p>
568 <tr><td>norwegian
</td><td>-
> nb_NO
</td></tr>
569 <tr><td>bokmål
</td><td>-
> nb_NO
</td></tr>
570 <tr><td>bokmal
</td><td>-
> nb_NO
</td></tr>
571 <tr><td>nynorsk
</td><td>-
> nn_NO
</td></tr>
572 <tr><td>no
</td><td>-
> nb_NO
</td></tr>
573 <tr><td>no_NO
</td><td>-
> nb_NO
</td></tr>
574 <tr><td>no_NY
</td><td>-
> nn_NO
</td></tr>
575 <tr><td>sme_NO
</td><td>-
> se_NO
</td></tr>
578 <p>Merk at når det gjelder de samiske språkene, at se_NO i praksis
579 henviser til nordsamisk i Norge, mens f.eks. smj_NO henviser til
580 lulesamisk. Dette notatet er dog ikke ment å gi råd rundt samiske
582 <a href=
"http://www.divvun.no/">Divvun-prosjektet
</a> en bedre
585 <p><strong>Referanser:
</strong></p>
589 <li><a href=
"http://www.rfc-base.org/rfc-3066.html">RFC
3066 - Tags
590 for the Identification of Languages
</a> (Erstatter RFC
1766)
</li>
592 <li><a href=
"http://www.loc.gov/standards/iso639-2/langcodes.html">ISO
593 639</a> - Codes for the Representation of Names of Languages
</li>
595 <li><a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/docs/n897-14652w25.pdf">ISO
596 DTR
14652</a> - locale-standard Specification method for cultural
599 <li><a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/docs/n610.pdf">ISO
600 15897: Registration procedures for cultural elements (cultural
602 <a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/docs/n849-15897wd6.pdf">(nytt
605 <li><a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/">ISO/IEC
606 JTC1/SC22/WG20
</a> - Gruppen for i18n-standardisering i ISO
</li>
613 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>.
618 <div class=
"padding"></div>
621 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html">S3QL, a locally mounted cloud file system - nice free software
</a></div>
622 <div class=
"date"> 9th April
2014</div>
623 <div class=
"body"><p>For a while now, I have been looking for a sensible offsite backup
624 solution for use at home. My requirements are simple, it must be
625 cheap and locally encrypted (in other words, I keep the encryption
626 keys, the storage provider do not have access to my private files).
627 One idea me and my friends had many years ago, before the cloud
628 storage providers showed up, was to use Google mail as storage,
629 writing a Linux block device storing blocks as emails in the mail
630 service provided by Google, and thus get heaps of free space. On top
631 of this one can add encryption, RAID and volume management to have
632 lots of (fairly slow, I admit that) cheap and encrypted storage. But
633 I never found time to implement such system. But the last few weeks I
634 have looked at a system called
635 <a href=
"https://bitbucket.org/nikratio/s3ql/">S3QL
</a>, a locally
636 mounted network backed file system with the features I need.
</p>
638 <p>S3QL is a fuse file system with a local cache and cloud storage,
639 handling several different storage providers, any with Amazon S3,
640 Google Drive or OpenStack API. There are heaps of such storage
641 providers. S3QL can also use a local directory as storage, which
642 combined with sshfs allow for file storage on any ssh server. S3QL
643 include support for encryption, compression, de-duplication, snapshots
644 and immutable file systems, allowing me to mount the remote storage as
645 a local mount point, look at and use the files as if they were local,
646 while the content is stored in the cloud as well. This allow me to
647 have a backup that should survive fire. The file system can not be
648 shared between several machines at the same time, as only one can
649 mount it at the time, but any machine with the encryption key and
650 access to the storage service can mount it if it is unmounted.
</p>
652 <p>It is simple to use. I'm using it on Debian Wheezy, where the
653 package is included already. So to get started, run
<tt>apt-get
654 install s3ql
</tt>. Next, pick a storage provider. I ended up picking
655 Greenqloud, after reading their nice recipe on
656 <a href=
"https://greenqloud.zendesk.com/entries/44611757-How-To-Use-S3QL-to-mount-a-StorageQloud-bucket-on-Debian-Wheezy">how
657 to use S3QL with their Amazon S3 service
</a>, because I trust the laws
658 in Iceland more than those in USA when it come to keeping my personal
659 data safe and private, and thus would rather spend money on a company
660 in Iceland. Another nice recipe is available from the article
661 <a href=
"http://www.admin-magazine.com/HPC/Articles/HPC-Cloud-Storage">S3QL
662 Filesystem for HPC Storage
</a> by Jeff Layton in the HPC section of
663 Admin magazine. When the provider is picked, figure out how to get
664 the API key needed to connect to the storage API. With Greencloud,
665 the key did not show up until I had added payment details to my
668 <p>Armed with the API access details, it is time to create the file
669 system. First, create a new bucket in the cloud. This bucket is the
670 file system storage area. I picked a bucket name reflecting the
671 machine that was going to store data there, but any name will do.
672 I'll refer to it as
<tt>bucket-name
</tt> below. In addition, one need
673 the API login and password, and a locally created password. Store it
674 all in ~root/.s3ql/authinfo2 like this:
678 storage-url: s3c://s.greenqloud.com:
443/bucket-name
679 backend-login: API-login
680 backend-password: API-password
681 fs-passphrase: local-password
682 </pre></blockquote></p>
684 <p>I create my local passphrase using
<tt>pwget
50</tt> or similar,
685 but any sensible way to create a fairly random password should do it.
686 Armed with these details, it is now time to run mkfs, entering the API
687 details and password to create it:
</p>
690 # mkdir -m
700 /var/lib/s3ql-cache
691 # mkfs.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
692 --ssl s3c://s.greenqloud.com:
443/bucket-name
694 Enter backend password:
695 Before using S3QL, make sure to read the user's guide, especially
696 the 'Important Rules to Avoid Loosing Data' section.
697 Enter encryption password:
698 Confirm encryption password:
699 Generating random encryption key...
700 Creating metadata tables...
710 Compressing and uploading metadata...
711 Wrote
0.00 MB of compressed metadata.
712 #
</pre></blockquote></p>
714 <p>The next step is mounting the file system to make the storage available.
717 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
718 --ssl --allow-root s3c://s.greenqloud.com:
443/bucket-name /s3ql
719 Using
4 upload threads.
720 Downloading and decompressing metadata...
730 Mounting filesystem...
732 Filesystem Size Used Avail Use% Mounted on
733 s3c://s.greenqloud.com:
443/bucket-name
1.0T
0 1.0T
0% /s3ql
735 </pre></blockquote></p>
737 <p>The file system is now ready for use. I use rsync to store my
738 backups in it, and as the metadata used by rsync is downloaded at
739 mount time, no network traffic (and storage cost) is triggered by
740 running rsync. To unmount, one should not use the normal umount
741 command, as this will not flush the cache to the cloud storage, but
742 instead running the umount.s3ql command like this:
747 </pre></blockquote></p>
749 <p>There is a fsck command available to check the file system and
750 correct any problems detected. This can be used if the local server
751 crashes while the file system is mounted, to reset the "already
752 mounted" flag. This is what it look like when processing a working
756 # fsck.s3ql --force --ssl s3c://s.greenqloud.com:
443/bucket-name
757 Using cached metadata.
758 File system seems clean, checking anyway.
759 Checking DB integrity...
760 Creating temporary extra indices...
761 Checking lost+found...
762 Checking cached objects...
763 Checking names (refcounts)...
764 Checking contents (names)...
765 Checking contents (inodes)...
766 Checking contents (parent inodes)...
767 Checking objects (reference counts)...
768 Checking objects (backend)...
769 ..processed
5000 objects so far..
770 ..processed
10000 objects so far..
771 ..processed
15000 objects so far..
772 Checking objects (sizes)...
773 Checking blocks (referenced objects)...
774 Checking blocks (refcounts)...
775 Checking inode-block mapping (blocks)...
776 Checking inode-block mapping (inodes)...
777 Checking inodes (refcounts)...
778 Checking inodes (sizes)...
779 Checking extended attributes (names)...
780 Checking extended attributes (inodes)...
781 Checking symlinks (inodes)...
782 Checking directory reachability...
783 Checking unix conventions...
784 Checking referential integrity...
785 Dropping temporary indices...
786 Backing up old metadata...
796 Compressing and uploading metadata...
797 Wrote
0.89 MB of compressed metadata.
799 </pre></blockquote></p>
801 <p>Thanks to the cache, working on files that fit in the cache is very
802 quick, about the same speed as local file access. Uploading large
803 amount of data is to me limited by the bandwidth out of and into my
804 house. Uploading
685 MiB with a
100 MiB cache gave me
305 kiB/s,
805 which is very close to my upload speed, and downloading the same
806 Debian installation ISO gave me
610 kiB/s, close to my download speed.
807 Both were measured using
<tt>dd
</tt>. So for me, the bottleneck is my
808 network, not the file system code. I do not know what a good cache
809 size would be, but suspect that the cache should e larger than your
812 <p>I mentioned that only one machine can mount the file system at the
813 time. If another machine try, it is told that the file system is
817 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
818 --ssl --allow-root s3c://s.greenqloud.com:
443/bucket-name /s3ql
819 Using
8 upload threads.
820 Backend reports that fs is still mounted elsewhere, aborting.
822 </pre></blockquote></p>
824 <p>The file content is uploaded when the cache is full, while the
825 metadata is uploaded once every
24 hour by default. To ensure the
826 file system content is flushed to the cloud, one can either umount the
827 file system, or ask S3QL to flush the cache and metadata using
831 # s3qlctrl upload-meta /s3ql
832 # s3qlctrl flushcache /s3ql
834 </pre></blockquote></p>
836 <p>If you are curious about how much space your data uses in the
837 cloud, and how much compression and deduplication cut down on the
838 storage usage, you can use s3qlstat on the mounted file system to get
843 Directory entries:
9141
846 Total data size:
22049.38 MB
847 After de-duplication:
21955.46 MB (
99.57% of total)
848 After compression:
21877.28 MB (
99.22% of total,
99.64% of de-duplicated)
849 Database size:
2.39 MB (uncompressed)
850 (some values do not take into account not-yet-uploaded dirty blocks in cache)
852 </pre></blockquote></p>
854 <p>I mentioned earlier that there are several possible suppliers of
855 storage. I did not try to locate them all, but am aware of at least
856 <a href=
"https://www.greenqloud.com/">Greenqloud
</a>,
857 <a href=
"http://drive.google.com/">Google Drive
</a>,
858 <a href=
"http://aws.amazon.com/s3/">Amazon S3 web serivces
</a>,
859 <a href=
"http://www.rackspace.com/">Rackspace
</a> and
860 <a href=
"http://crowncloud.net/">Crowncloud
</A>. The latter even
861 accept payment in Bitcoin. Pick one that suit your need. Some of
862 them provide several GiB of free storage, but the prize models are
863 quite different and you will have to figure out what suits you
866 <p>While researching this blog post, I had a look at research papers
867 and posters discussing the S3QL file system. There are several, which
868 told me that the file system is getting a critical check by the
869 science community and increased my confidence in using it. One nice
871 "
<a href=
"http://www.lanl.gov/orgs/adtsc/publications/science_highlights_2013/docs/pg68_69.pdf">An
872 Innovative Parallel Cloud Storage System using OpenStack’s SwiftObject
873 Store and Transformative Parallel I/O Approach
</a>" by Hsing-Bung
874 Chen, Benjamin McClelland, David Sherrill, Alfred Torrez, Parks Fields
875 and Pamela Smith. Please have a look.</p>
877 <p>Given my problems with different file systems earlier, I decided to
878 check out the mounted S3QL file system to see if it would be usable as
879 a home directory (in other word, that it provided POSIX semantics when
880 it come to locking and umask handling etc). Running
881 <a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
">my
882 test code to check file system semantics</a>, I was happy to discover that
883 no error was found. So the file system can be used for home
884 directories, if one chooses to do so.</p>
886 <p>If you do not want a locally file system, and want something that
887 work without the Linux fuse file system, I would like to mention the
888 <a href="http://www.tarsnap.com/
">Tarsnap service</a>, which also
889 provide locally encrypted backup using a command line client. It have
890 a nicer access control system, where one can split out read and write
891 access, allowing some systems to write to the backup and others to
892 only read from it.</p>
894 <p>As usual, if you use Bitcoin and want to show your support of my
895 activities, please send Bitcoin donations to my address
896 <b><a href="bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
901 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/personvern
">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet
">sikkerhet</a>.
906 <div class="padding
"></div>
909 <div class="title
"><a href="http://people.skolelinux.org/pere/blog/EU_domstolen_bekreftet_i_dag_at_datalagringsdirektivet_er_ulovlig.html
">EU-domstolen bekreftet i dag at datalagringsdirektivet er ulovlig</a></div>
910 <div class="date
"> 8th April 2014</div>
911 <div class="body
"><p>I dag kom endelig avgjørelsen fra EU-domstolen om
912 datalagringsdirektivet, som ikke overraskende ble dømt ulovlig og i
913 strid med borgernes grunnleggende rettigheter. Hvis du lurer på hva
914 datalagringsdirektivet er for noe, så er det
915 <a href="http://tv.nrk.no/program/koid75005313/tema-dine-digitale-spor-datalagringsdirektivet
">en
916 flott dokumentar tilgjengelig hos NRK</a> som jeg tidligere
917 <a href="http://people.skolelinux.org/pere/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html
">har
918 anbefalt</a> alle å se.</p>
920 <p>Her er et liten knippe nyhetsoppslag om saken, og jeg regner med at
921 det kommer flere ut over dagen. Flere kan finnes
922 <a href="http://www.mylder.no/?drill=datalagringsdirektivet&intern=
1">via
927 <li><a href="http://e24.no/digital/eu-domstolen-datalagringsdirektivet-er-ugyldig/
22879592">EU-domstolen:
928 Datalagringsdirektivet er ugyldig</a> - e24.no 2014-04-08
930 <li><a href="http://www.aftenposten.no/nyheter/iriks/EU-domstolen-Datalagringsdirektivet-er-ulovlig-
7529032.html
">EU-domstolen:
931 Datalagringsdirektivet er ulovlig</a> - aftenposten.no 2014-04-08
933 <li><a href="http://www.aftenposten.no/nyheter/iriks/politikk/Krever-DLD-stopp-i-Norge-
7530086.html
">Krever
934 DLD-stopp i Norge</a> - aftenposten.no 2014-04-08
936 <li><a href="http://www.p4.no/story.aspx?id=
566431">Apenes: - En
937 gledens dag</a> - p4.no 2014-04-08
939 <li><a href="http://www.nrk.no/norge/_-datalagringsdirektivet-er-ugyldig-
1.11655929">EU-domstolen:
940 – Datalagringsdirektivet er ugyldig</a> - nrk.no 2014-04-08</li>
942 <li><a href="http://www.vg.no/nyheter/utenriks/data-og-nett/eu-domstolen-datalagringsdirektivet-er-ugyldig/a/
10130280/
">EU-domstolen:
943 Datalagringsdirektivet er ugyldig</a> - vg.no 2014-04-08</li>
945 <li><a href="http://www.dagbladet.no/
2014/
04/
08/nyheter/innenriks/datalagringsdirektivet/personvern/
32711646/
">-
946 Vi bør skrote hele datalagringsdirektivet</a> - dagbladet.no
949 <li><a href="http://www.digi.no/
928137/eu-domstolen-dld-er-ugyldig
">EU-domstolen:
950 DLD er ugyldig</a> - digi.no 2014-04-08</li>
952 <li><a href="http://www.irishtimes.com/business/sectors/technology/european-court-declares-data-retention-directive-invalid-
1.1754150">European
953 court declares data retention directive invalid</a> - irishtimes.com
956 <li><a href="http://www.reuters.com/article/
2014/
04/
08/us-eu-data-ruling-idUSBREA370F020140408?feedType=RSS
">EU
957 court rules against requirement to keep data of telecom users</a> -
958 reuters.com 2014-04-08</li>
963 <p>Jeg synes det er veldig fint at nok en stemme slår fast at
964 totalitær overvåkning av befolkningen er uakseptabelt, men det er
965 fortsatt like viktig å beskytte privatsfæren som før, da de
966 teknologiske mulighetene fortsatt finnes og utnyttes, og jeg tror
967 innsats i prosjekter som
968 <a href="https://wiki.debian.org/FreedomBox
">Freedombox</a> og
969 <a href="http://www.dugnadsnett.no/
">Dugnadsnett</a> er viktigere enn
972 <p><strong>Update 2014-04-08 12:10</strong>: Kronerullingen for å
973 stoppe datalagringsdirektivet i Norge gjøres hos foreningen
974 <a href="http://www.digitaltpersonvern.no/
">Digitalt Personvern</a>,
975 som har samlet inn 843 215,- så langt men trenger nok mye mer hvis
977 ikke Høyre og Arbeiderpartiet bytter mening i saken. Det var
978 <a href="http://www.holderdeord.no/parliament-issues/
48650">kun
979 partinene Høyre og Arbeiderpartiet</a> som stemte for
980 Datalagringsdirektivet, og en av dem må bytte mening for at det skal
981 bli flertall mot i Stortinget. Se mer om saken
982 <a href="http://www.holderdeord.no/issues/
69-innfore-datalagringsdirektivet
">Holder
988 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/dld
">dld</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk
">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern
">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet
">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance
">surveillance</a>.
993 <div class="padding
"></div>
995 <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>
1006 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
01/
">January (2)</a></li>
1008 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
02/
">February (3)</a></li>
1010 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
03/
">March (8)</a></li>
1012 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
04/
">April (7)</a></li>
1014 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
05/
">May (1)</a></li>
1016 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
06/
">June (2)</a></li>
1018 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
07/
">July (1)</a></li>
1025 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
01/
">January (11)</a></li>
1027 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
02/
">February (9)</a></li>
1029 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
03/
">March (9)</a></li>
1031 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
04/
">April (6)</a></li>
1033 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
05/
">May (9)</a></li>
1035 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
06/
">June (10)</a></li>
1037 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
07/
">July (7)</a></li>
1039 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
08/
">August (3)</a></li>
1041 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
09/
">September (5)</a></li>
1043 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
10/
">October (7)</a></li>
1045 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
11/
">November (9)</a></li>
1047 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
12/
">December (3)</a></li>
1054 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
01/
">January (7)</a></li>
1056 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
02/
">February (10)</a></li>
1058 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
03/
">March (17)</a></li>
1060 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
04/
">April (12)</a></li>
1062 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
05/
">May (12)</a></li>
1064 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
06/
">June (20)</a></li>
1066 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
07/
">July (17)</a></li>
1068 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
08/
">August (6)</a></li>
1070 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
09/
">September (9)</a></li>
1072 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
10/
">October (17)</a></li>
1074 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
11/
">November (10)</a></li>
1076 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
12/
">December (7)</a></li>
1083 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
01/
">January (16)</a></li>
1085 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
02/
">February (6)</a></li>
1087 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
03/
">March (6)</a></li>
1089 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
04/
">April (7)</a></li>
1091 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
05/
">May (3)</a></li>
1093 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
06/
">June (2)</a></li>
1095 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
07/
">July (7)</a></li>
1097 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
08/
">August (6)</a></li>
1099 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
09/
">September (4)</a></li>
1101 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
10/
">October (2)</a></li>
1103 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
11/
">November (3)</a></li>
1105 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
12/
">December (1)</a></li>
1112 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
01/
">January (2)</a></li>
1114 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
02/
">February (1)</a></li>
1116 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
03/
">March (3)</a></li>
1118 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
04/
">April (3)</a></li>
1120 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
05/
">May (9)</a></li>
1122 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
06/
">June (14)</a></li>
1124 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
07/
">July (12)</a></li>
1126 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
08/
">August (13)</a></li>
1128 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
09/
">September (7)</a></li>
1130 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
10/
">October (9)</a></li>
1132 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
11/
">November (13)</a></li>
1134 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
12/
">December (12)</a></li>
1141 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
01/
">January (8)</a></li>
1143 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
02/
">February (8)</a></li>
1145 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
03/
">March (12)</a></li>
1147 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
04/
">April (10)</a></li>
1149 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
05/
">May (9)</a></li>
1151 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
06/
">June (3)</a></li>
1153 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
07/
">July (4)</a></li>
1155 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
08/
">August (3)</a></li>
1157 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
09/
">September (1)</a></li>
1159 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
10/
">October (2)</a></li>
1161 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
11/
">November (3)</a></li>
1163 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
12/
">December (3)</a></li>
1170 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2008/
11/
">November (5)</a></li>
1172 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2008/
12/
">December (7)</a></li>
1183 <li><a href="http://people.skolelinux.org/pere/blog/tags/
3d-printer
">3d-printer (13)</a></li>
1185 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga
">amiga (1)</a></li>
1187 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros
">aros (1)</a></li>
1189 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid
">bankid (4)</a></li>
1191 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin
">bitcoin (8)</a></li>
1193 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem
">bootsystem (14)</a></li>
1195 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa
">bsa (2)</a></li>
1197 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath
">chrpath (2)</a></li>
1199 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian
">debian (99)</a></li>
1201 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu
">debian edu (147)</a></li>
1203 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan
">digistan (10)</a></li>
1205 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld
">dld (15)</a></li>
1207 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook
">docbook (12)</a></li>
1209 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser
">drivstoffpriser (4)</a></li>
1211 <li><a href="http://people.skolelinux.org/pere/blog/tags/english
">english (249)</a></li>
1213 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami
">fiksgatami (21)</a></li>
1215 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling
">fildeling (12)</a></li>
1217 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture
">freeculture (13)</a></li>
1219 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox
">freedombox (8)</a></li>
1221 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen
">frikanalen (11)</a></li>
1223 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju
">intervju (40)</a></li>
1225 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram
">isenkram (9)</a></li>
1227 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart
">kart (18)</a></li>
1229 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap
">ldap (9)</a></li>
1231 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker
">lenker (7)</a></li>
1233 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp
">ltsp (1)</a></li>
1235 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network
">mesh network (8)</a></li>
1237 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia
">multimedia (28)</a></li>
1239 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk
">norsk (246)</a></li>
1241 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug
">nuug (162)</a></li>
1243 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn
">offentlig innsyn (11)</a></li>
1245 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311
">open311 (2)</a></li>
1247 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett
">opphavsrett (46)</a></li>
1249 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern
">personvern (72)</a></li>
1251 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid
">raid (1)</a></li>
1253 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos
">reactos (1)</a></li>
1255 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap
">reprap (11)</a></li>
1257 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid
">rfid (2)</a></li>
1259 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot
">robot (9)</a></li>
1261 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss
">rss (1)</a></li>
1263 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter
">ruter (4)</a></li>
1265 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki
">scraperwiki (2)</a></li>
1267 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet
">sikkerhet (40)</a></li>
1269 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary
">sitesummary (4)</a></li>
1271 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis
">skepsis (4)</a></li>
1273 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard
">standard (44)</a></li>
1275 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll
">stavekontroll (3)</a></li>
1277 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget
">stortinget (9)</a></li>
1279 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance
">surveillance (25)</a></li>
1281 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin
">sysadmin (1)</a></li>
1283 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg
">valg (8)</a></li>
1285 <li><a href="http://people.skolelinux.org/pere/blog/tags/video
">video (42)</a></li>
1287 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap
">vitenskap (4)</a></li>
1289 <li><a href="http://people.skolelinux.org/pere/blog/tags/web
">web (32)</a></li>
1295 <p style="text-align: right
">
1296 Created by <a href="http://steve.org.uk/Software/chronicle
">Chronicle v4.6</a>