1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/' xmlns:
atom=
"http://www.w3.org/2005/Atom">
4 <title>Petter Reinholdtsen
</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
7 <atom:link href=
"http://people.skolelinux.org/pere/blog/index.rss" rel=
"self" type=
"application/rss+xml" />
10 <title>98.6 percent done with the Norwegian draft translation of Free Culture
</title>
11 <link>http://people.skolelinux.org/pere/blog/
98_6_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/
98_6_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html
</guid>
13 <pubDate>Wed,
23 Jul
2014 22:
40:
00 +
0200</pubDate>
14 <description><p
>This summer I finally had time to continue working on the Norwegian
15 <a href=
"http://www.docbook.org/
">docbook
</a
> version of the
2004 book
16 <a href=
"http://free-culture.cc/
">Free Culture
</a
> by Lawrence Lessig,
17 to get a Norwegian text explaining the problems with todays copyright
18 law. Yesterday, I finally completed translated the book text. There
19 are still some foot/end notes left to translate, the colophon page
20 need to be rewritten, and a few words and phrases still need to be
21 translated, but the Norwegian text is ready for the first proof
22 reading. :) More spell checking is needed, and several illustrations
23 need to be cleaned up. The work stopped up because I had to give
24 priority to other projects the last year, and the progress graph of
25 the translation show this very well:
</p
>
27 <p
><img width=
"80%
" align=
"center
" src=
"https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png
"></p
>
29 <p
>If you want to read the result, check out the
30 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig
">github
</a
>
32 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true
">PDF
</a
>,
33 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true
">EPUB
</a
>
34 and HTML version available in the
35 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig/tree/master/archive
">archive
36 directory
</a
>.
</p
>
38 <p
>Please report typos, bugs and improvements to the github project if
39 you find any.
</p
>
44 <title>From English wiki to translated PDF and epub via Docbook
</title>
45 <link>http://people.skolelinux.org/pere/blog/From_English_wiki_to_translated_PDF_and_epub_via_Docbook.html
</link>
46 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/From_English_wiki_to_translated_PDF_and_epub_via_Docbook.html
</guid>
47 <pubDate>Tue,
17 Jun
2014 11:
30:
00 +
0200</pubDate>
48 <description><p
>The
<a href=
"http://www.skolelinux.org/
">Debian Edu / Skolelinux
49 project
</a
> provide an instruction manual for teachers, system
50 administrators and other users that contain useful tips for setting up
51 and maintaining a Debian Edu installation. This text is about how the
52 text processing of this manual is handled in the project.
</p
>
54 <p
>One goal of the project is to provide information in the native
55 language of its users, and for this we need to handle translations.
56 But we also want to make sure each language contain the same
57 information, so for this we need a good way to keep the translations
58 in sync. And we want it to be easy for our users to improve the
59 documentation, avoiding the need to learn special formats or tools to
60 contribute, and the obvious way to do this is to make it possible to
61 edit the documentation using a web browser. We also want it to be
62 easy for translators to keep the translation up to date, and give them
63 help in figuring out what need to be translated. Here is the list of
64 tools and the process we have found trying to reach all these
67 <p
>We maintain the authoritative source of our manual in the
68 <a href=
"https://wiki.debian.org/DebianEdu/Documentation/Wheezy/
">Debian
69 wiki
</a
>, as several wiki pages written in English. It consist of one
70 front page with references to the different chapters, several pages
71 for each chapter, and finally one
"collection page
" gluing all the
72 chapters together into one large web page (aka
73 <a href=
"https://wiki.debian.org/DebianEdu/Documentation/Wheezy/AllInOne
">the
74 AllInOne page
</a
>). The AllInOne page is the one used for further
75 processing and translations. Thanks to the fact that the
76 <a href=
"http://moinmo.in/
">MoinMoin
</a
> installation on
77 wiki.debian.org support exporting pages in
78 <a href=
"http://www.docbook.org/
">the Docbook format
</a
>, we can fetch
79 the list of pages to export using the raw version of the AllInOne
80 page, loop over each of them to generate a Docbook XML version of the
81 manual. This process also download images and transform image
82 references to use the locally downloaded images. The generated
83 Docbook XML files are slightly broken, so some post-processing is done
84 using the
<tt
>documentation/scripts/get_manual
</tt
> program, and the
85 result is a nice Docbook XML file (debian-edu-wheezy-manual.xml) and
86 a handfull of images. The XML file can now be used to generate PDF, HTML
87 and epub versions of the English manual. This is the basic step of
88 our process, making PDF (using dblatex), HTML (using xsltproc) and
89 epub (using dbtoepub) version from Docbook XML, and the resulting files
90 are placed in the debian-edu-doc-en binary package.
</p
>
92 <p
>But English documentation is not enough for us. We want translated
93 documentation too, and we want to make it easy for translators to
94 track the English original. For this we use the
95 <a href=
"http://packages.qa.debian.org/p/poxml.html
">poxml
</a
> package,
96 which allow us to transform the English Docbook XML file into a
97 translation file (a .pot file), usable with the normal gettext based
98 translation tools used by those translating free software. The pot
99 file is used to create and maintain translation files (several .po
100 files), which the translations update with the native language
101 translations of all titles, paragraphs and blocks of text in the
102 original. The next step is combining the original English Docbook XML
103 and the translation file (say debian-edu-wheezy-manual.nb.po), to
104 create a translated Docbook XML file (in this case
105 debian-edu-wheezy-manual.nb.xml). This translated (or partly
106 translated, if the translation is not complete) Docbook XML file can
107 then be used like the original to create a PDF, HTML and epub version
108 of the documentation.
</p
>
110 <p
>The translators use different tools to edit the .po files. We
112 <a href=
"http://www.kde.org/applications/development/lokalize/
">lokalize
</a
>,
113 while some use emacs and vi, others can use web based editors like
114 <a href=
"http://pootle.translatehouse.org/
">Poodle
</a
> or
115 <a href=
"https://www.transifex.com/
">Transifex
</a
>. All we care about
116 is where the .po file end up, in our git repository. Updated
117 translations can either be committed directly to git, or submitted as
118 <a href=
"https://bugs.debian.org/src:debian-edu-doc
">bug reports
119 against the debian-edu-doc package
</a
>.
</p
>
121 <p
>One challenge is images, which both might need to be translated (if
122 they show translated user applications), and are needed in different
123 formats when creating PDF and HTML versions (epub is a HTML version in
124 this regard). For this we transform the original PNG images to the
125 needed density and format during build, and have a way to provide
126 translated images by storing translated versions in
127 images/$LANGUAGECODE/. I am a bit unsure about the details here. The
128 package maintainers know more.
</p
>
130 <p
>If you wonder what the result look like, we provide
131 <a href=
"http://maintainer.skolelinux.org/debian-edu-doc/
">the content
132 of the documentation packages on the web
</a
>. See for example the
133 <a href=
"http://maintainer.skolelinux.org/debian-edu-doc/it/debian-edu-wheezy-manual.pdf
">Italian
134 PDF version
</a
> or the
135 <a href=
"http://maintainer.skolelinux.org/debian-edu-doc/de/debian-edu-wheezy-manual.html
">German
136 HTML version
</a
>. We do not yet build the epub version by default,
137 but perhaps it will be done in the future.
</p
>
139 <p
>To learn more, check out
140 <a href=
"http://packages.qa.debian.org/d/debian-edu-doc.html
">the
141 debian-edu-doc package
</a
>,
142 <a href=
"https://wiki.debian.org/DebianEdu/Documentation/Wheezy/
">the
143 manual on the wiki
</a
> and
144 <a href=
"https://wiki.debian.org/DebianEdu/Documentation/Wheezy/Translations
">the
145 translation instructions
</a
> in the manual.
</p
>
150 <title>Hvordan enkelt laste ned filmer fra NRK med den
"nye
" løsningen
</title>
151 <link>http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK_med_den__nye__l_sningen.html
</link>
152 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK_med_den__nye__l_sningen.html
</guid>
153 <pubDate>Mon,
16 Jun
2014 19:
20:
00 +
0200</pubDate>
154 <description><p
>Jeg har fortsatt behov for å kunne laste ned innslag fra NRKs
155 nettsted av og til for å se senere når jeg ikke er på nett, men
156 <a href=
"http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK.html
">min
157 oppskrift fra
2011</a
> sluttet å fungere da NRK byttet
158 avspillermetode. I dag fikk jeg endelig lett etter oppdatert løsning,
159 og jeg er veldig glad for å fortelle at den enkleste måten å laste ned
160 innslag er å bruke siste versjon
2014.06.07 av
161 <a href=
"http://rg3.github.io/youtube-dl/
">youtube-dl
</a
>. Støtten i
162 youtube-dl
<a href=
"https://github.com/rg3/youtube-dl/issues/
2980">kom
163 inn for
23 dager siden
</a
> og
164 <a href=
"http://packages.qa.debian.org/y/youtube-dl.html
">versjonen i
165 Debian
</a
> fungerer fint også som backport til Debian Wheezy. Det er
166 et lite problem, det håndterer kun URLer med små bokstaver, men hvis
167 en har en URL med store bokstaver kan en bare gjøre alle store om til
168 små bokstaver for å få youtube-dl til å laste ned. Rapporterte
170 <a href=
"https://github.com/rg3/youtube-dl/issues/
2980">problemet til
171 utviklerne
</a
>, og antar de får fikset det snart.
</p
>
173 <p
>Dermed er alt klart til å laste ned dokumentarene om
174 <a href=
"http://tv.nrk.no/program/KOID23005014/usas-hemmelige-avlytting
">USAs
175 hemmelige avlytting
</a
> og
176 <a href=
"http://tv.nrk.no/program/KOID23005114/selskapene-bak-usas-avlytting
">Selskapene
177 bak USAs avlytting
</a
>, i tillegg til
178 <a href=
"http://tv.nrk.no/program/KOID20005814/et-moete-med-edward-snowden
">intervjuet
179 med Edward Snowden gjort av den tyske tv-kanalen ARD
</a
>. Anbefaler
180 alle å se disse, sammen med
181 <a href=
"http://media.ccc.de/browse/congress/
2013/
30C3_-_5713_-_en_-_saal_2_-_201312301130_-_to_protect_and_infect_part_2_-_jacob.html
">foredraget
182 til Jacob Appelbaum på siste CCC-konferanse
</a
>, for å forstå mer om
183 hvordan overvåkningen av borgerne brer om seg.
</p
>
185 <p
>Takk til gode venner på foreningen NUUGs IRC-kanal
186 <a href=
"irc://irc.freenode.net/%
23nuug
">#nuug på irc.freenode.net
</a
>
187 for tipsene som fikk meg i mål
</a
>.
</p
>
189 <p
><strong
>Oppdatering
2014-
06-
17</strong
>: Etter at jeg publiserte
190 denne, ble jeg tipset om bloggposten
191 "<a href=
"http://ingvar.blog.redpill-linpro.com/
2012/
05/
31/downloading-hd-content-from-tv-nrk-no/
">Downloading
192 HD content from tv.nrk.no
</a
>" av Ingvar Hagelund, som har alternativ
193 implementasjon og tips for å lage mkv-fil med undertekstene inkludert.
194 Kanskje den passer bedre for deg? I tillegg ble feilen i youtube-dl
195 ble fikset litt senere ut på dagen i går, samt at youtube-dl fikk
196 støtte for å laste ned undertitler. Takk til Anders Einar Hilden for
197 god innsats og youtube-dl-utviklerne for rask respons.
</p
>
202 <title>Free software car computer solution?
</title>
203 <link>http://people.skolelinux.org/pere/blog/Free_software_car_computer_solution_.html
</link>
204 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Free_software_car_computer_solution_.html
</guid>
205 <pubDate>Thu,
29 May
2014 18:
45:
00 +
0200</pubDate>
206 <description><p
>Dear lazyweb. I
'm planning to set up a small Raspberry Pi computer
207 in my car, connected to
208 <a href=
"http://www.dx.com/p/
400a-
4-
0-tft-lcd-digital-monitor-for-vehicle-parking-reverse-camera-
1440x272-
12v-dc-
57776">a
209 small screen
</a
> next to the rear mirror. I plan to hook it up with a
210 GPS and a USB wifi card too. The idea is to get my own
211 "<a href=
"http://en.wikipedia.org/wiki/Carputer
">Carputer
</a
>". But I
212 wonder if someone already created a good free software solution for
213 such car computer.
</p
>
215 <p
>This is my current wish list for such system:
</p
>
219 <li
>Work on Raspberry Pi.
</li
>
221 <li
>Show current speed limit based on location, and warn if going too
222 fast (for example using color codes yellow and red on the screen,
223 or make a sound). This could be done either using either data from
224 <a href=
"http://www.openstreetmap.org/
">Openstreetmap
</a
> or OCR
225 info gathered from a dashboard camera.
</li
>
227 <li
>Track automatic toll road passes and their cost, show total spent
228 and make it possible to calculate toll costs for planned
231 <li
>Collect GPX tracks for use with OpenStreetMap.
</li
>
233 <li
>Automatically detect and use any wireless connection to connect
234 to home server. Try IP over DNS
235 (
<a href=
"http://dev.kryo.se/iodine/
">iodine
</a
>) or ICMP
236 (
<a href=
"http://code.gerade.org/hans/
">Hans
</a
>) if direct
237 connection do not work.
</li
>
239 <li
>Set up mesh network to talk to other cars with the same system,
240 or some standard car mesh protocol.
</li
>
242 <li
>Warn when approaching speed cameras and speed camera ranges
243 (speed calculated between two cameras).
</li
>
245 <li
>Suport dashboard/front facing camera to discover speed limits and
246 run OCR to track registration number of passing cars.
</li
>
250 <p
>If you know of any free software car computer system supporting
251 some or all of these features, please let me know.
</p
>
256 <title>Half the Coverity issues in Gnash fixed in the next release
</title>
257 <link>http://people.skolelinux.org/pere/blog/Half_the_Coverity_issues_in_Gnash_fixed_in_the_next_release.html
</link>
258 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Half_the_Coverity_issues_in_Gnash_fixed_in_the_next_release.html
</guid>
259 <pubDate>Tue,
29 Apr
2014 14:
20:
00 +
0200</pubDate>
260 <description><p
>I
've been following
<a href=
"http://www.getgnash.org/
">the Gnash
261 project
</a
> for quite a while now. It is a free software
262 implementation of Adobe Flash, both a standalone player and a browser
263 plugin. Gnash implement support for the AVM1 format (and not the
264 newer AVM2 format - see
265 <a href=
"http://lightspark.github.io/
">Lightspark
</a
> for that one),
266 allowing several flash based sites to work. Thanks to the friendly
267 developers at Youtube, it also work with Youtube videos, because the
268 Javascript code at Youtube detect Gnash and serve a AVM1 player to
269 those users. :) Would be great if someone found time to implement AVM2
270 support, but it has not happened yet. If you install both Lightspark
271 and Gnash, Lightspark will invoke Gnash if it find a AVM1 flash file,
272 so you can get both handled as free software. Unfortunately,
273 Lightspark so far only implement a small subset of AVM2, and many
274 sites do not work yet.
</p
>
276 <p
>A few months ago, I started looking at
277 <a href=
"http://scan.coverity.com/
">Coverity
</a
>, the static source
278 checker used to find heaps and heaps of bugs in free software (thanks
279 to the donation of a scanning service to free software projects by the
280 company developing this non-free code checker), and Gnash was one of
281 the projects I decided to check out. Coverity is able to find lock
282 errors, memory errors, dead code and more. A few days ago they even
283 extended it to also be able to find the heartbleed bug in OpenSSL.
284 There are heaps of checks being done on the instrumented code, and the
285 amount of bogus warnings is quite low compared to the other static
286 code checkers I have tested over the years.
</p
>
288 <p
>Since a few weeks ago, I
've been working with the other Gnash
289 developers squashing bugs discovered by Coverity. I was quite happy
290 today when I checked the current status and saw that of the
777 issues
291 detected so far,
374 are marked as fixed. This make me confident that
292 the next Gnash release will be more stable and more dependable than
293 the previous one. Most of the reported issues were and are in the
294 test suite, but it also found a few in the rest of the code.
</p
>
296 <p
>If you want to help out, you find us on
297 <a href=
"https://lists.gnu.org/mailman/listinfo/gnash-dev
">the
298 gnash-dev mailing list
</a
> and on
299 <a href=
"irc://irc.freenode.net/#gnash
">the #gnash channel on
300 irc.freenode.net IRC server
</a
>.
</p
>
305 <title>Install hardware dependent packages using tasksel (Isenkram
0.7)
</title>
306 <link>http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html
</link>
307 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html
</guid>
308 <pubDate>Wed,
23 Apr
2014 14:
50:
00 +
0200</pubDate>
309 <description><p
>It would be nice if it was easier in Debian to get all the hardware
310 related packages relevant for the computer installed automatically.
311 So I implemented one, using
312 <a href=
"http://packages.qa.debian.org/isenkram
">my Isenkram
313 package
</a
>. To use it, install the tasksel and isenkram packages and
314 run tasksel as user root. You should be presented with a new option,
315 "Hardware specific packages (autodetected by isenkram)
". When you
316 select it, tasksel will install the packages isenkram claim is fit for
317 the current hardware, hot pluggable or not.
<p
>
319 <p
>The implementation is in two files, one is the tasksel menu entry
320 description, and the other is the script used to extract the list of
321 packages to install. The first part is in
322 <tt
>/usr/share/tasksel/descs/isenkram.desc
</tt
> and look like
325 <p
><blockquote
><pre
>
328 Description: Hardware specific packages (autodetected by isenkram)
329 Based on the detected hardware various hardware specific packages are
331 Test-new-install: mark show
333 Packages: for-current-hardware
334 </pre
></blockquote
></p
>
336 <p
>The second part is in
337 <tt
>/usr/lib/tasksel/packages/for-current-hardware
</tt
> and look like
340 <p
><blockquote
><pre
>
345 isenkram-autoinstall-firmware -l
347 </pre
></blockquote
></p
>
349 <p
>All in all, a very short and simple implementation making it
350 trivial to install the hardware dependent package we all may want to
351 have installed on our machines. I
've not been able to find a way to
352 get tasksel to tell you exactly which packages it plan to install
353 before doing the installation. So if you are curious or careful,
354 check the output from the isenkram-* command line tools first.
</p
>
356 <p
>The information about which packages are handling which hardware is
357 fetched either from the isenkram package itself in
358 /usr/share/isenkram/, from git.debian.org or from the APT package
359 database (using the Modaliases header). The APT package database
360 parsing have caused a nasty resource leak in the isenkram daemon (bugs
361 <a href=
"http://bugs.debian.org/
719837">#
719837</a
> and
362 <a href=
"http://bugs.debian.org/
730704">#
730704</a
>). The cause is in
363 the python-apt code (bug
364 <a href=
"http://bugs.debian.org/
745487">#
745487</a
>), but using a
365 workaround I was able to get rid of the file descriptor leak and
366 reduce the memory leak from ~
30 MiB per hardware detection down to
367 around
2 MiB per hardware detection. It should make the desktop
368 daemon a lot more useful. The fix is in version
0.7 uploaded to
369 unstable today.
</p
>
371 <p
>I believe the current way of mapping hardware to packages in
372 Isenkram is is a good draft, but in the future I expect isenkram to
373 use the AppStream data source for this. A proposal for getting proper
374 AppStream support into Debian is floating around as
375 <a href=
"https://wiki.debian.org/DEP-
11">DEP-
11</a
>, and
376 <a href=
"https://wiki.debian.org/SummerOfCode2014/Projects#SummerOfCode2014.2FProjects
.2FAppStreamDEP11Implementation.AppStream
.2FDEP-
11_for_the_Debian_Archive
">GSoC
377 project
</a
> will take place this summer to improve the situation. I
378 look forward to seeing the result, and welcome patches for isenkram to
379 start using the information when it is ready.
</p
>
381 <p
>If you want your package to map to some specific hardware, either
382 add a
"Xb-Modaliases
" header to your control file like I did in
383 <a href=
"http://packages.qa.debian.org/pymissile
">the pymissile
384 package
</a
> or submit a bug report with the details to the isenkram
386 <a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram/
">all my
387 blog posts tagged isenkram
</a
> for details on the notation. I expect
388 the information will be migrated to AppStream eventually, but for the
389 moment I got no better place to store it.
</p
>
394 <title>FreedomBox milestone - all packages now in Debian Sid
</title>
395 <link>http://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html
</link>
396 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html
</guid>
397 <pubDate>Tue,
15 Apr
2014 22:
10:
00 +
0200</pubDate>
398 <description><p
>The
<a href=
"https://wiki.debian.org/FreedomBox
">Freedombox
399 project
</a
> is working on providing the software and hardware to make
400 it easy for non-technical people to host their data and communication
401 at home, and being able to communicate with their friends and family
402 encrypted and away from prying eyes. It is still going strong, and
403 today a major mile stone was reached.
</p
>
405 <p
>Today, the last of the packages currently used by the project to
406 created the system images were accepted into Debian Unstable. It was
407 the freedombox-setup package, which is used to configure the images
408 during build and on the first boot. Now all one need to get going is
409 the build code from the freedom-maker git repository and packages from
410 Debian. And once the freedombox-setup package enter testing, we can
411 build everything directly from Debian. :)
</p
>
413 <p
>Some key packages used by Freedombox are
414 <a href=
"http://packages.qa.debian.org/freedombox-setup
">freedombox-setup
</a
>,
415 <a href=
"http://packages.qa.debian.org/plinth
">plinth
</a
>,
416 <a href=
"http://packages.qa.debian.org/pagekite
">pagekite
</a
>,
417 <a href=
"http://packages.qa.debian.org/tor
">tor
</a
>,
418 <a href=
"http://packages.qa.debian.org/privoxy
">privoxy
</a
>,
419 <a href=
"http://packages.qa.debian.org/owncloud
">owncloud
</a
> and
420 <a href=
"http://packages.qa.debian.org/dnsmasq
">dnsmasq
</a
>. There
421 are plans to integrate more packages into the setup. User
422 documentation is maintained on the Debian wiki. Please
423 <a href=
"https://wiki.debian.org/FreedomBox/Manual/Jessie
">check out
424 the manual
</a
> and help us improve it.
</p
>
426 <p
>To test for yourself and create boot images with the FreedomBox
427 setup, run this on a Debian machine using a user with sudo rights to
428 become root:
</p
>
431 sudo apt-get install git vmdebootstrap mercurial python-docutils \
432 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
434 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
436 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
437 </pre
></p
>
439 <p
>Root access is needed to run debootstrap and mount loopback
440 devices. See the README in the freedom-maker git repo for more
441 details on the build. If you do not want all three images, trim the
442 make line. Note that the virtualbox-image target is not really
443 virtualbox specific. It create a x86 image usable in kvm, qemu,
444 vmware and any other x86 virtual machine environment. You might need
445 the version of vmdebootstrap in Jessie to get the build working, as it
446 include fixes for a race condition with kpartx.
</p
>
448 <p
>If you instead want to install using a Debian CD and the preseed
449 method, boot a Debian Wheezy ISO and use this boot argument to load
450 the preseed values:
</p
>
453 url=
<a href=
"http://www.reinholdtsen.name/freedombox/preseed-jessie.dat
">http://www.reinholdtsen.name/freedombox/preseed-jessie.dat
</a
>
454 </pre
></p
>
456 <p
>I have not tested it myself the last few weeks, so I do not know if
457 it still work.
</p
>
459 <p
>If you wonder how to help, one task you could look at is using
460 systemd as the boot system. It will become the default for Linux in
461 Jessie, so we need to make sure it is usable on the Freedombox. I did
462 a simple test a few weeks ago, and noticed dnsmasq failed to start
463 during boot when using systemd. I suspect there are other problems
464 too. :) To detect problems, there is a test suite included, which can
465 be run from the plinth web interface.
</p
>
467 <p
>Give it a go and let us know how it goes on the mailing list, and help
468 us get the new release published. :) Please join us on
469 <a href=
"irc://irc.debian.org:
6667/%
23freedombox
">IRC (#freedombox on
470 irc.debian.org)
</a
> and
471 <a href=
"http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss
">the
472 mailing list
</a
> if you want to help make this vision come true.
</p
>
477 <title>Språkkoder for POSIX locale i Norge
</title>
478 <link>http://people.skolelinux.org/pere/blog/Spr_kkoder_for_POSIX_locale_i_Norge.html
</link>
479 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Spr_kkoder_for_POSIX_locale_i_Norge.html
</guid>
480 <pubDate>Fri,
11 Apr
2014 21:
30:
00 +
0200</pubDate>
481 <description><p
>For
12 år siden, skrev jeg et lite notat om
482 <a href=
"http://i18n.skolelinux.no/localekoder.txt
">bruk av språkkoder
483 i Norge
</a
>. Jeg ble nettopp minnet på dette da jeg fikk spørsmål om
484 notatet fortsatt var aktuelt, og tenkte det var greit å repetere hva
485 som fortsatt gjelder. Det jeg skrev da er fortsatt like aktuelt.
</p
>
487 <p
>Når en velger språk i programmer på unix, så velger en blant mange
488 språkkoder. For språk i Norge anbefales følgende språkkoder (anbefalt
489 locale i parantes):
</p
>
492 <dt
>nb (nb_NO)
</dt
><dd
>Bokmål i Norge
</dd
>
493 <dt
>nn (nn_NO)
</dt
><dd
>Nynorsk i Norge
</dd
>
494 <dt
>se (se_NO)
</dt
><dd
>Nordsamisk i Norge
</dd
>
495 </dl
></p
>
497 <p
>Alle programmer som bruker andre koder bør endres.
</p
>
499 <p
>Språkkoden bør brukes når .po-filer navngis og installeres. Dette
500 er ikke det samme som locale-koden. For Norsk Bokmål, så bør filene
501 være navngitt nb.po, mens locale (LANG) bør være nb_NO.
</p
>
503 <p
>Hvis vi ikke får standardisert de kodene i alle programmene med
504 norske oversettelser, så er det umulig å gi LANG-variablen ett innhold
505 som fungerer for alle programmer.
</p
>
507 <p
>Språkkodene er de offisielle kodene fra ISO
639, og bruken av dem i
508 forbindelse med POSIX localer er standardisert i RFC
3066 og ISO
509 15897. Denne anbefalingen er i tråd med de angitte standardene.
</p
>
511 <p
>Følgende koder er eller har vært i bruk som locale-verdier for
512 "norske
" språk. Disse bør unngås, og erstattes når de oppdages:
</p
>
514 <p
><table
>
515 <tr
><td
>norwegian
</td
><td
>-
> nb_NO
</td
></tr
>
516 <tr
><td
>bokmål
</td
><td
>-
> nb_NO
</td
></tr
>
517 <tr
><td
>bokmal
</td
><td
>-
> nb_NO
</td
></tr
>
518 <tr
><td
>nynorsk
</td
><td
>-
> nn_NO
</td
></tr
>
519 <tr
><td
>no
</td
><td
>-
> nb_NO
</td
></tr
>
520 <tr
><td
>no_NO
</td
><td
>-
> nb_NO
</td
></tr
>
521 <tr
><td
>no_NY
</td
><td
>-
> nn_NO
</td
></tr
>
522 <tr
><td
>sme_NO
</td
><td
>-
> se_NO
</td
></tr
>
523 </table
></p
>
525 <p
>Merk at når det gjelder de samiske språkene, at se_NO i praksis
526 henviser til nordsamisk i Norge, mens f.eks. smj_NO henviser til
527 lulesamisk. Dette notatet er dog ikke ment å gi råd rundt samiske
529 <a href=
"http://www.divvun.no/
">Divvun-prosjektet
</a
> en bedre
532 <p
><strong
>Referanser:
</strong
></p
>
536 <li
><a href=
"http://www.rfc-base.org/rfc-
3066.html
">RFC
3066 - Tags
537 for the Identification of Languages
</a
> (Erstatter RFC
1766)
</li
>
539 <li
><a href=
"http://www.loc.gov/standards/iso639-
2/langcodes.html
">ISO
540 639</a
> - Codes for the Representation of Names of Languages
</li
>
542 <li
><a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/docs/n897-
14652w25.pdf
">ISO
543 DTR
14652</a
> - locale-standard Specification method for cultural
544 conventions
</li
>
546 <li
><a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/docs/n610.pdf
">ISO
547 15897: Registration procedures for cultural elements (cultural
549 <a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/docs/n849-
15897wd6.pdf
">(nytt
550 draft)
</a
></li
>
552 <li
><a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/
">ISO/IEC
553 JTC1/SC22/WG20
</a
> - Gruppen for i18n-standardisering i ISO
</li
>
560 <title>S3QL, a locally mounted cloud file system - nice free software
</title>
561 <link>http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html
</link>
562 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html
</guid>
563 <pubDate>Wed,
9 Apr
2014 11:
30:
00 +
0200</pubDate>
564 <description><p
>For a while now, I have been looking for a sensible offsite backup
565 solution for use at home. My requirements are simple, it must be
566 cheap and locally encrypted (in other words, I keep the encryption
567 keys, the storage provider do not have access to my private files).
568 One idea me and my friends had many years ago, before the cloud
569 storage providers showed up, was to use Google mail as storage,
570 writing a Linux block device storing blocks as emails in the mail
571 service provided by Google, and thus get heaps of free space. On top
572 of this one can add encryption, RAID and volume management to have
573 lots of (fairly slow, I admit that) cheap and encrypted storage. But
574 I never found time to implement such system. But the last few weeks I
575 have looked at a system called
576 <a href=
"https://bitbucket.org/nikratio/s3ql/
">S3QL
</a
>, a locally
577 mounted network backed file system with the features I need.
</p
>
579 <p
>S3QL is a fuse file system with a local cache and cloud storage,
580 handling several different storage providers, any with Amazon S3,
581 Google Drive or OpenStack API. There are heaps of such storage
582 providers. S3QL can also use a local directory as storage, which
583 combined with sshfs allow for file storage on any ssh server. S3QL
584 include support for encryption, compression, de-duplication, snapshots
585 and immutable file systems, allowing me to mount the remote storage as
586 a local mount point, look at and use the files as if they were local,
587 while the content is stored in the cloud as well. This allow me to
588 have a backup that should survive fire. The file system can not be
589 shared between several machines at the same time, as only one can
590 mount it at the time, but any machine with the encryption key and
591 access to the storage service can mount it if it is unmounted.
</p
>
593 <p
>It is simple to use. I
'm using it on Debian Wheezy, where the
594 package is included already. So to get started, run
<tt
>apt-get
595 install s3ql
</tt
>. Next, pick a storage provider. I ended up picking
596 Greenqloud, after reading their nice recipe on
597 <a href=
"https://greenqloud.zendesk.com/entries/
44611757-How-To-Use-S3QL-to-mount-a-StorageQloud-bucket-on-Debian-Wheezy
">how
598 to use S3QL with their Amazon S3 service
</a
>, because I trust the laws
599 in Iceland more than those in USA when it come to keeping my personal
600 data safe and private, and thus would rather spend money on a company
601 in Iceland. Another nice recipe is available from the article
602 <a href=
"http://www.admin-magazine.com/HPC/Articles/HPC-Cloud-Storage
">S3QL
603 Filesystem for HPC Storage
</a
> by Jeff Layton in the HPC section of
604 Admin magazine. When the provider is picked, figure out how to get
605 the API key needed to connect to the storage API. With Greencloud,
606 the key did not show up until I had added payment details to my
609 <p
>Armed with the API access details, it is time to create the file
610 system. First, create a new bucket in the cloud. This bucket is the
611 file system storage area. I picked a bucket name reflecting the
612 machine that was going to store data there, but any name will do.
613 I
'll refer to it as
<tt
>bucket-name
</tt
> below. In addition, one need
614 the API login and password, and a locally created password. Store it
615 all in ~root/.s3ql/authinfo2 like this:
617 <p
><blockquote
><pre
>
619 storage-url: s3c://s.greenqloud.com:
443/bucket-name
620 backend-login: API-login
621 backend-password: API-password
622 fs-passphrase: local-password
623 </pre
></blockquote
></p
>
625 <p
>I create my local passphrase using
<tt
>pwget
50</tt
> or similar,
626 but any sensible way to create a fairly random password should do it.
627 Armed with these details, it is now time to run mkfs, entering the API
628 details and password to create it:
</p
>
630 <p
><blockquote
><pre
>
631 # mkdir -m
700 /var/lib/s3ql-cache
632 # mkfs.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
633 --ssl s3c://s.greenqloud.com:
443/bucket-name
635 Enter backend password:
636 Before using S3QL, make sure to read the user
's guide, especially
637 the
'Important Rules to Avoid Loosing Data
' section.
638 Enter encryption password:
639 Confirm encryption password:
640 Generating random encryption key...
641 Creating metadata tables...
651 Compressing and uploading metadata...
652 Wrote
0.00 MB of compressed metadata.
653 #
</pre
></blockquote
></p
>
655 <p
>The next step is mounting the file system to make the storage available.
657 <p
><blockquote
><pre
>
658 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
659 --ssl --allow-root s3c://s.greenqloud.com:
443/bucket-name /s3ql
660 Using
4 upload threads.
661 Downloading and decompressing metadata...
671 Mounting filesystem...
673 Filesystem Size Used Avail Use% Mounted on
674 s3c://s.greenqloud.com:
443/bucket-name
1.0T
0 1.0T
0% /s3ql
676 </pre
></blockquote
></p
>
678 <p
>The file system is now ready for use. I use rsync to store my
679 backups in it, and as the metadata used by rsync is downloaded at
680 mount time, no network traffic (and storage cost) is triggered by
681 running rsync. To unmount, one should not use the normal umount
682 command, as this will not flush the cache to the cloud storage, but
683 instead running the umount.s3ql command like this:
685 <p
><blockquote
><pre
>
688 </pre
></blockquote
></p
>
690 <p
>There is a fsck command available to check the file system and
691 correct any problems detected. This can be used if the local server
692 crashes while the file system is mounted, to reset the
"already
693 mounted
" flag. This is what it look like when processing a working
694 file system:
</p
>
696 <p
><blockquote
><pre
>
697 # fsck.s3ql --force --ssl s3c://s.greenqloud.com:
443/bucket-name
698 Using cached metadata.
699 File system seems clean, checking anyway.
700 Checking DB integrity...
701 Creating temporary extra indices...
702 Checking lost+found...
703 Checking cached objects...
704 Checking names (refcounts)...
705 Checking contents (names)...
706 Checking contents (inodes)...
707 Checking contents (parent inodes)...
708 Checking objects (reference counts)...
709 Checking objects (backend)...
710 ..processed
5000 objects so far..
711 ..processed
10000 objects so far..
712 ..processed
15000 objects so far..
713 Checking objects (sizes)...
714 Checking blocks (referenced objects)...
715 Checking blocks (refcounts)...
716 Checking inode-block mapping (blocks)...
717 Checking inode-block mapping (inodes)...
718 Checking inodes (refcounts)...
719 Checking inodes (sizes)...
720 Checking extended attributes (names)...
721 Checking extended attributes (inodes)...
722 Checking symlinks (inodes)...
723 Checking directory reachability...
724 Checking unix conventions...
725 Checking referential integrity...
726 Dropping temporary indices...
727 Backing up old metadata...
737 Compressing and uploading metadata...
738 Wrote
0.89 MB of compressed metadata.
740 </pre
></blockquote
></p
>
742 <p
>Thanks to the cache, working on files that fit in the cache is very
743 quick, about the same speed as local file access. Uploading large
744 amount of data is to me limited by the bandwidth out of and into my
745 house. Uploading
685 MiB with a
100 MiB cache gave me
305 kiB/s,
746 which is very close to my upload speed, and downloading the same
747 Debian installation ISO gave me
610 kiB/s, close to my download speed.
748 Both were measured using
<tt
>dd
</tt
>. So for me, the bottleneck is my
749 network, not the file system code. I do not know what a good cache
750 size would be, but suspect that the cache should e larger than your
751 working set.
</p
>
753 <p
>I mentioned that only one machine can mount the file system at the
754 time. If another machine try, it is told that the file system is
757 <p
><blockquote
><pre
>
758 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
759 --ssl --allow-root s3c://s.greenqloud.com:
443/bucket-name /s3ql
760 Using
8 upload threads.
761 Backend reports that fs is still mounted elsewhere, aborting.
763 </pre
></blockquote
></p
>
765 <p
>The file content is uploaded when the cache is full, while the
766 metadata is uploaded once every
24 hour by default. To ensure the
767 file system content is flushed to the cloud, one can either umount the
768 file system, or ask S3QL to flush the cache and metadata using
771 <p
><blockquote
><pre
>
772 # s3qlctrl upload-meta /s3ql
773 # s3qlctrl flushcache /s3ql
775 </pre
></blockquote
></p
>
777 <p
>If you are curious about how much space your data uses in the
778 cloud, and how much compression and deduplication cut down on the
779 storage usage, you can use s3qlstat on the mounted file system to get
782 <p
><blockquote
><pre
>
784 Directory entries:
9141
787 Total data size:
22049.38 MB
788 After de-duplication:
21955.46 MB (
99.57% of total)
789 After compression:
21877.28 MB (
99.22% of total,
99.64% of de-duplicated)
790 Database size:
2.39 MB (uncompressed)
791 (some values do not take into account not-yet-uploaded dirty blocks in cache)
793 </pre
></blockquote
></p
>
795 <p
>I mentioned earlier that there are several possible suppliers of
796 storage. I did not try to locate them all, but am aware of at least
797 <a href=
"https://www.greenqloud.com/
">Greenqloud
</a
>,
798 <a href=
"http://drive.google.com/
">Google Drive
</a
>,
799 <a href=
"http://aws.amazon.com/s3/
">Amazon S3 web serivces
</a
>,
800 <a href=
"http://www.rackspace.com/
">Rackspace
</a
> and
801 <a href=
"http://crowncloud.net/
">Crowncloud
</A
>. The latter even
802 accept payment in Bitcoin. Pick one that suit your need. Some of
803 them provide several GiB of free storage, but the prize models are
804 quite different and you will have to figure out what suits you
807 <p
>While researching this blog post, I had a look at research papers
808 and posters discussing the S3QL file system. There are several, which
809 told me that the file system is getting a critical check by the
810 science community and increased my confidence in using it. One nice
812 "<a href=
"http://www.lanl.gov/orgs/adtsc/publications/science_highlights_2013/docs/pg68_69.pdf
">An
813 Innovative Parallel Cloud Storage System using OpenStack’s SwiftObject
814 Store and Transformative Parallel I/O Approach
</a
>" by Hsing-Bung
815 Chen, Benjamin McClelland, David Sherrill, Alfred Torrez, Parks Fields
816 and Pamela Smith. Please have a look.
</p
>
818 <p
>Given my problems with different file systems earlier, I decided to
819 check out the mounted S3QL file system to see if it would be usable as
820 a home directory (in other word, that it provided POSIX semantics when
821 it come to locking and umask handling etc). Running
822 <a href=
"http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
">my
823 test code to check file system semantics
</a
>, I was happy to discover that
824 no error was found. So the file system can be used for home
825 directories, if one chooses to do so.
</p
>
827 <p
>If you do not want a locally file system, and want something that
828 work without the Linux fuse file system, I would like to mention the
829 <a href=
"http://www.tarsnap.com/
">Tarsnap service
</a
>, which also
830 provide locally encrypted backup using a command line client. It have
831 a nicer access control system, where one can split out read and write
832 access, allowing some systems to write to the backup and others to
833 only read from it.
</p
>
835 <p
>As usual, if you use Bitcoin and want to show your support of my
836 activities, please send Bitcoin donations to my address
837 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
842 <title>EU-domstolen bekreftet i dag at datalagringsdirektivet er ulovlig
</title>
843 <link>http://people.skolelinux.org/pere/blog/EU_domstolen_bekreftet_i_dag_at_datalagringsdirektivet_er_ulovlig.html
</link>
844 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/EU_domstolen_bekreftet_i_dag_at_datalagringsdirektivet_er_ulovlig.html
</guid>
845 <pubDate>Tue,
8 Apr
2014 11:
30:
00 +
0200</pubDate>
846 <description><p
>I dag kom endelig avgjørelsen fra EU-domstolen om
847 datalagringsdirektivet, som ikke overraskende ble dømt ulovlig og i
848 strid med borgernes grunnleggende rettigheter. Hvis du lurer på hva
849 datalagringsdirektivet er for noe, så er det
850 <a href=
"http://tv.nrk.no/program/koid75005313/tema-dine-digitale-spor-datalagringsdirektivet
">en
851 flott dokumentar tilgjengelig hos NRK
</a
> som jeg tidligere
852 <a href=
"http://people.skolelinux.org/pere/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html
">har
853 anbefalt
</a
> alle å se.
</p
>
855 <p
>Her er et liten knippe nyhetsoppslag om saken, og jeg regner med at
856 det kommer flere ut over dagen. Flere kan finnes
857 <a href=
"http://www.mylder.no/?drill=datalagringsdirektivet
&intern=
1">via
858 mylder
</a
>.
</p
>
862 <li
><a href=
"http://e24.no/digital/eu-domstolen-datalagringsdirektivet-er-ugyldig/
22879592">EU-domstolen:
863 Datalagringsdirektivet er ugyldig
</a
> - e24.no
2014-
04-
08
865 <li
><a href=
"http://www.aftenposten.no/nyheter/iriks/EU-domstolen-Datalagringsdirektivet-er-ulovlig-
7529032.html
">EU-domstolen:
866 Datalagringsdirektivet er ulovlig
</a
> - aftenposten.no
2014-
04-
08
868 <li
><a href=
"http://www.aftenposten.no/nyheter/iriks/politikk/Krever-DLD-stopp-i-Norge-
7530086.html
">Krever
869 DLD-stopp i Norge
</a
> - aftenposten.no
2014-
04-
08
871 <li
><a href=
"http://www.p4.no/story.aspx?id=
566431">Apenes: - En
872 gledens dag
</a
> - p4.no
2014-
04-
08
874 <li
><a href=
"http://www.nrk.no/norge/_-datalagringsdirektivet-er-ugyldig-
1.11655929">EU-domstolen:
875 – Datalagringsdirektivet er ugyldig
</a
> - nrk.no
2014-
04-
08</li
>
877 <li
><a href=
"http://www.vg.no/nyheter/utenriks/data-og-nett/eu-domstolen-datalagringsdirektivet-er-ugyldig/a/
10130280/
">EU-domstolen:
878 Datalagringsdirektivet er ugyldig
</a
> - vg.no
2014-
04-
08</li
>
880 <li
><a href=
"http://www.dagbladet.no/
2014/
04/
08/nyheter/innenriks/datalagringsdirektivet/personvern/
32711646/
">-
881 Vi bør skrote hele datalagringsdirektivet
</a
> - dagbladet.no
882 2014-
04-
08</li
>
884 <li
><a href=
"http://www.digi.no/
928137/eu-domstolen-dld-er-ugyldig
">EU-domstolen:
885 DLD er ugyldig
</a
> - digi.no
2014-
04-
08</li
>
887 <li
><a href=
"http://www.irishtimes.com/business/sectors/technology/european-court-declares-data-retention-directive-invalid-
1.1754150">European
888 court declares data retention directive invalid
</a
> - irishtimes.com
889 2014-
04-
08</li
>
891 <li
><a href=
"http://www.reuters.com/article/
2014/
04/
08/us-eu-data-ruling-idUSBREA370F020140408?feedType=RSS
">EU
892 court rules against requirement to keep data of telecom users
</a
> -
893 reuters.com
2014-
04-
08</li
>
898 <p
>Jeg synes det er veldig fint at nok en stemme slår fast at
899 totalitær overvåkning av befolkningen er uakseptabelt, men det er
900 fortsatt like viktig å beskytte privatsfæren som før, da de
901 teknologiske mulighetene fortsatt finnes og utnyttes, og jeg tror
902 innsats i prosjekter som
903 <a href=
"https://wiki.debian.org/FreedomBox
">Freedombox
</a
> og
904 <a href=
"http://www.dugnadsnett.no/
">Dugnadsnett
</a
> er viktigere enn
907 <p
><strong
>Update
2014-
04-
08 12:
10</strong
>: Kronerullingen for å
908 stoppe datalagringsdirektivet i Norge gjøres hos foreningen
909 <a href=
"http://www.digitaltpersonvern.no/
">Digitalt Personvern
</a
>,
910 som har samlet inn
843 215,- så langt men trenger nok mye mer hvis
912 ikke Høyre og Arbeiderpartiet bytter mening i saken. Det var
913 <a href=
"http://www.holderdeord.no/parliament-issues/
48650">kun
914 partinene Høyre og Arbeiderpartiet
</a
> som stemte for
915 Datalagringsdirektivet, og en av dem må bytte mening for at det skal
916 bli flertall mot i Stortinget. Se mer om saken
917 <a href=
"http://www.holderdeord.no/issues/
69-innfore-datalagringsdirektivet
">Holder
918 de ord
</a
>.
</p
>