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>Hvordan enkelt laste ned filmer fra NRK med den
"nye
" løsningen
</title>
11 <link>http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK_med_den__nye__l_sningen.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK_med_den__nye__l_sningen.html
</guid>
13 <pubDate>Mon,
16 Jun
2014 19:
20:
00 +
0200</pubDate>
14 <description><p
>Jeg har fortsatt behov for å kunne laste ned innslag fra NRKs
15 nettsted av og til for å se senere når jeg ikke er på nett, men
16 <a href=
"http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK.html
">min
17 oppskrift fra
2011</a
> sluttet å fungere da NRK byttet
18 avspillermetode. I dag fikk jeg endelig lett etter oppdatert løsning,
19 og jeg er veldig glad for å fortelle at den enkleste måten å laste ned
20 innslag er å bruke siste versjon
2014.06.07 av
21 <a href=
"http://rg3.github.io/youtube-dl/
">youtube-dl
</a
>. Støtten i
22 youtube-dl
<a href=
"https://github.com/rg3/youtube-dl/issues/
2980">kom
23 inn for
23 dager siden
</a
> og
24 <a href=
"http://packages.qa.debian.org/y/youtube-dl.html
">versjonen i
25 Debian
</a
> fungerer fint også som backport til Debian Wheezy. Det er
26 et lite problem, det håndterer kun URLer med små bokstaver, men hvis
27 en har en URL med store bokstaver kan en bare gjøre alle store om til
28 små bokstaver for å få youtube-dl til å laste ned. Rapporterte
30 <a href=
"https://github.com/rg3/youtube-dl/issues/
2980">problemet til
31 utviklerne
</a
>, og antar de får fikset det snart.
</p
>
33 <p
>Dermed er alt klart til å laste ned dokumentarene om
34 <a href=
"http://tv.nrk.no/program/KOID23005014/usas-hemmelige-avlytting
">USAs
35 hemmelige avlytting
</a
> og
36 <a href=
"http://tv.nrk.no/program/KOID23005114/selskapene-bak-usas-avlytting
">Selskapene
37 bak USAs avlytting
</a
>, i tillegg til
38 <a href=
"http://tv.nrk.no/program/KOID20005814/et-moete-med-edward-snowden
">intervjuet
39 med Edward Snowden gjort av den tyske tv-kanalen ARD
</a
>. Anbefaler
40 alle å se disse, sammen med
41 <a href=
"http://media.ccc.de/browse/congress/
2013/
30C3_-_5713_-_en_-_saal_2_-_201312301130_-_to_protect_and_infect_part_2_-_jacob.html
">foredraget
42 til Jacob Appelbaum på siste CCC-konferanse
</a
>, for å forstå mer om
43 hvordan overvåkningen av borgerne brer om seg.
</p
>
45 <p
>Takk til gode venner på foreningen NUUGs IRC-kanal
46 <a href=
"irc://irc.freenode.net/%
23nuug
">#nuug på irc.freenode.net
</a
>
47 for tipsene som fikk meg i mål
</a
>.
</p
>
52 <title>Free software car computer solution?
</title>
53 <link>http://people.skolelinux.org/pere/blog/Free_software_car_computer_solution_.html
</link>
54 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Free_software_car_computer_solution_.html
</guid>
55 <pubDate>Thu,
29 May
2014 18:
45:
00 +
0200</pubDate>
56 <description><p
>Dear lazyweb. I
'm planning to set up a small Raspberry Pi computer
57 in my car, connected to
58 <a href=
"http://www.dx.com/p/
400a-
4-
0-tft-lcd-digital-monitor-for-vehicle-parking-reverse-camera-
1440x272-
12v-dc-
57776">a
59 small screen
</a
> next to the rear mirror. I plan to hook it up with a
60 GPS and a USB wifi card too. The idea is to get my own
61 "<a href=
"http://en.wikipedia.org/wiki/Carputer
">Carputer
</a
>". But I
62 wonder if someone already created a good free software solution for
63 such car computer.
</p
>
65 <p
>This is my current wish list for such system:
</p
>
69 <li
>Work on Raspberry Pi.
</li
>
71 <li
>Show current speed limit based on location, and warn if going too
72 fast (for example using color codes yellow and red on the screen,
73 or make a sound). This could be done either using either data from
74 <a href=
"http://www.openstreetmap.org/
">Openstreetmap
</a
> or OCR
75 info gathered from a dashboard camera.
</li
>
77 <li
>Track automatic toll road passes and their cost, show total spent
78 and make it possible to calculate toll costs for planned
81 <li
>Collect GPX tracks for use with OpenStreetMap.
</li
>
83 <li
>Automatically detect and use any wireless connection to connect
84 to home server. Try IP over DNS
85 (
<a href=
"http://dev.kryo.se/iodine/
">iodine
</a
>) or ICMP
86 (
<a href=
"http://code.gerade.org/hans/
">Hans
</a
>) if direct
87 connection do not work.
</li
>
89 <li
>Set up mesh network to talk to other cars with the same system,
90 or some standard car mesh protocol.
</li
>
92 <li
>Warn when approaching speed cameras and speed camera ranges
93 (speed calculated between two cameras).
</li
>
95 <li
>Suport dashboard/front facing camera to discover speed limits and
96 run OCR to track registration number of passing cars.
</li
>
100 <p
>If you know of any free software car computer system supporting
101 some or all of these features, please let me know.
</p
>
106 <title>Half the Coverity issues in Gnash fixed in the next release
</title>
107 <link>http://people.skolelinux.org/pere/blog/Half_the_Coverity_issues_in_Gnash_fixed_in_the_next_release.html
</link>
108 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Half_the_Coverity_issues_in_Gnash_fixed_in_the_next_release.html
</guid>
109 <pubDate>Tue,
29 Apr
2014 14:
20:
00 +
0200</pubDate>
110 <description><p
>I
've been following
<a href=
"http://www.getgnash.org/
">the Gnash
111 project
</a
> for quite a while now. It is a free software
112 implementation of Adobe Flash, both a standalone player and a browser
113 plugin. Gnash implement support for the AVM1 format (and not the
114 newer AVM2 format - see
115 <a href=
"http://lightspark.github.io/
">Lightspark
</a
> for that one),
116 allowing several flash based sites to work. Thanks to the friendly
117 developers at Youtube, it also work with Youtube videos, because the
118 Javascript code at Youtube detect Gnash and serve a AVM1 player to
119 those users. :) Would be great if someone found time to implement AVM2
120 support, but it has not happened yet. If you install both Lightspark
121 and Gnash, Lightspark will invoke Gnash if it find a AVM1 flash file,
122 so you can get both handled as free software. Unfortunately,
123 Lightspark so far only implement a small subset of AVM2, and many
124 sites do not work yet.
</p
>
126 <p
>A few months ago, I started looking at
127 <a href=
"http://scan.coverity.com/
">Coverity
</a
>, the static source
128 checker used to find heaps and heaps of bugs in free software (thanks
129 to the donation of a scanning service to free software projects by the
130 company developing this non-free code checker), and Gnash was one of
131 the projects I decided to check out. Coverity is able to find lock
132 errors, memory errors, dead code and more. A few days ago they even
133 extended it to also be able to find the heartbleed bug in OpenSSL.
134 There are heaps of checks being done on the instrumented code, and the
135 amount of bogus warnings is quite low compared to the other static
136 code checkers I have tested over the years.
</p
>
138 <p
>Since a few weeks ago, I
've been working with the other Gnash
139 developers squashing bugs discovered by Coverity. I was quite happy
140 today when I checked the current status and saw that of the
777 issues
141 detected so far,
374 are marked as fixed. This make me confident that
142 the next Gnash release will be more stable and more dependable than
143 the previous one. Most of the reported issues were and are in the
144 test suite, but it also found a few in the rest of the code.
</p
>
146 <p
>If you want to help out, you find us on
147 <a href=
"https://lists.gnu.org/mailman/listinfo/gnash-dev
">the
148 gnash-dev mailing list
</a
> and on
149 <a href=
"irc://irc.freenode.net/#gnash
">the #gnash channel on
150 irc.freenode.net IRC server
</a
>.
</p
>
155 <title>Install hardware dependent packages using tasksel (Isenkram
0.7)
</title>
156 <link>http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html
</link>
157 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html
</guid>
158 <pubDate>Wed,
23 Apr
2014 14:
50:
00 +
0200</pubDate>
159 <description><p
>It would be nice if it was easier in Debian to get all the hardware
160 related packages relevant for the computer installed automatically.
161 So I implemented one, using
162 <a href=
"http://packages.qa.debian.org/isenkram
">my Isenkram
163 package
</a
>. To use it, install the tasksel and isenkram packages and
164 run tasksel as user root. You should be presented with a new option,
165 "Hardware specific packages (autodetected by isenkram)
". When you
166 select it, tasksel will install the packages isenkram claim is fit for
167 the current hardware, hot pluggable or not.
<p
>
169 <p
>The implementation is in two files, one is the tasksel menu entry
170 description, and the other is the script used to extract the list of
171 packages to install. The first part is in
172 <tt
>/usr/share/tasksel/descs/isenkram.desc
</tt
> and look like
175 <p
><blockquote
><pre
>
178 Description: Hardware specific packages (autodetected by isenkram)
179 Based on the detected hardware various hardware specific packages are
181 Test-new-install: mark show
183 Packages: for-current-hardware
184 </pre
></blockquote
></p
>
186 <p
>The second part is in
187 <tt
>/usr/lib/tasksel/packages/for-current-hardware
</tt
> and look like
190 <p
><blockquote
><pre
>
195 isenkram-autoinstall-firmware -l
197 </pre
></blockquote
></p
>
199 <p
>All in all, a very short and simple implementation making it
200 trivial to install the hardware dependent package we all may want to
201 have installed on our machines. I
've not been able to find a way to
202 get tasksel to tell you exactly which packages it plan to install
203 before doing the installation. So if you are curious or careful,
204 check the output from the isenkram-* command line tools first.
</p
>
206 <p
>The information about which packages are handling which hardware is
207 fetched either from the isenkram package itself in
208 /usr/share/isenkram/, from git.debian.org or from the APT package
209 database (using the Modaliases header). The APT package database
210 parsing have caused a nasty resource leak in the isenkram daemon (bugs
211 <a href=
"http://bugs.debian.org/
719837">#
719837</a
> and
212 <a href=
"http://bugs.debian.org/
730704">#
730704</a
>). The cause is in
213 the python-apt code (bug
214 <a href=
"http://bugs.debian.org/
745487">#
745487</a
>), but using a
215 workaround I was able to get rid of the file descriptor leak and
216 reduce the memory leak from ~
30 MiB per hardware detection down to
217 around
2 MiB per hardware detection. It should make the desktop
218 daemon a lot more useful. The fix is in version
0.7 uploaded to
219 unstable today.
</p
>
221 <p
>I believe the current way of mapping hardware to packages in
222 Isenkram is is a good draft, but in the future I expect isenkram to
223 use the AppStream data source for this. A proposal for getting proper
224 AppStream support into Debian is floating around as
225 <a href=
"https://wiki.debian.org/DEP-
11">DEP-
11</a
>, and
226 <a href=
"https://wiki.debian.org/SummerOfCode2014/Projects#SummerOfCode2014.2FProjects
.2FAppStreamDEP11Implementation.AppStream
.2FDEP-
11_for_the_Debian_Archive
">GSoC
227 project
</a
> will take place this summer to improve the situation. I
228 look forward to seeing the result, and welcome patches for isenkram to
229 start using the information when it is ready.
</p
>
231 <p
>If you want your package to map to some specific hardware, either
232 add a
"Xb-Modaliases
" header to your control file like I did in
233 <a href=
"http://packages.qa.debian.org/pymissile
">the pymissile
234 package
</a
> or submit a bug report with the details to the isenkram
236 <a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram/
">all my
237 blog posts tagged isenkram
</a
> for details on the notation. I expect
238 the information will be migrated to AppStream eventually, but for the
239 moment I got no better place to store it.
</p
>
244 <title>FreedomBox milestone - all packages now in Debian Sid
</title>
245 <link>http://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html
</link>
246 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html
</guid>
247 <pubDate>Tue,
15 Apr
2014 22:
10:
00 +
0200</pubDate>
248 <description><p
>The
<a href=
"https://wiki.debian.org/FreedomBox
">Freedombox
249 project
</a
> is working on providing the software and hardware to make
250 it easy for non-technical people to host their data and communication
251 at home, and being able to communicate with their friends and family
252 encrypted and away from prying eyes. It is still going strong, and
253 today a major mile stone was reached.
</p
>
255 <p
>Today, the last of the packages currently used by the project to
256 created the system images were accepted into Debian Unstable. It was
257 the freedombox-setup package, which is used to configure the images
258 during build and on the first boot. Now all one need to get going is
259 the build code from the freedom-maker git repository and packages from
260 Debian. And once the freedombox-setup package enter testing, we can
261 build everything directly from Debian. :)
</p
>
263 <p
>Some key packages used by Freedombox are
264 <a href=
"http://packages.qa.debian.org/freedombox-setup
">freedombox-setup
</a
>,
265 <a href=
"http://packages.qa.debian.org/plinth
">plinth
</a
>,
266 <a href=
"http://packages.qa.debian.org/pagekite
">pagekite
</a
>,
267 <a href=
"http://packages.qa.debian.org/tor
">tor
</a
>,
268 <a href=
"http://packages.qa.debian.org/privoxy
">privoxy
</a
>,
269 <a href=
"http://packages.qa.debian.org/owncloud
">owncloud
</a
> and
270 <a href=
"http://packages.qa.debian.org/dnsmasq
">dnsmasq
</a
>. There
271 are plans to integrate more packages into the setup. User
272 documentation is maintained on the Debian wiki. Please
273 <a href=
"https://wiki.debian.org/FreedomBox/Manual/Jessie
">check out
274 the manual
</a
> and help us improve it.
</p
>
276 <p
>To test for yourself and create boot images with the FreedomBox
277 setup, run this on a Debian machine using a user with sudo rights to
278 become root:
</p
>
281 sudo apt-get install git vmdebootstrap mercurial python-docutils \
282 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
284 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
286 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
287 </pre
></p
>
289 <p
>Root access is needed to run debootstrap and mount loopback
290 devices. See the README in the freedom-maker git repo for more
291 details on the build. If you do not want all three images, trim the
292 make line. Note that the virtualbox-image target is not really
293 virtualbox specific. It create a x86 image usable in kvm, qemu,
294 vmware and any other x86 virtual machine environment. You might need
295 the version of vmdebootstrap in Jessie to get the build working, as it
296 include fixes for a race condition with kpartx.
</p
>
298 <p
>If you instead want to install using a Debian CD and the preseed
299 method, boot a Debian Wheezy ISO and use this boot argument to load
300 the preseed values:
</p
>
303 url=
<a href=
"http://www.reinholdtsen.name/freedombox/preseed-jessie.dat
">http://www.reinholdtsen.name/freedombox/preseed-jessie.dat
</a
>
304 </pre
></p
>
306 <p
>I have not tested it myself the last few weeks, so I do not know if
307 it still work.
</p
>
309 <p
>If you wonder how to help, one task you could look at is using
310 systemd as the boot system. It will become the default for Linux in
311 Jessie, so we need to make sure it is usable on the Freedombox. I did
312 a simple test a few weeks ago, and noticed dnsmasq failed to start
313 during boot when using systemd. I suspect there are other problems
314 too. :) To detect problems, there is a test suite included, which can
315 be run from the plinth web interface.
</p
>
317 <p
>Give it a go and let us know how it goes on the mailing list, and help
318 us get the new release published. :) Please join us on
319 <a href=
"irc://irc.debian.org:
6667/%
23freedombox
">IRC (#freedombox on
320 irc.debian.org)
</a
> and
321 <a href=
"http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss
">the
322 mailing list
</a
> if you want to help make this vision come true.
</p
>
327 <title>Språkkoder for POSIX locale i Norge
</title>
328 <link>http://people.skolelinux.org/pere/blog/Spr_kkoder_for_POSIX_locale_i_Norge.html
</link>
329 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Spr_kkoder_for_POSIX_locale_i_Norge.html
</guid>
330 <pubDate>Fri,
11 Apr
2014 21:
30:
00 +
0200</pubDate>
331 <description><p
>For
12 år siden, skrev jeg et lite notat om
332 <a href=
"http://i18n.skolelinux.no/localekoder.txt
">bruk av språkkoder
333 i Norge
</a
>. Jeg ble nettopp minnet på dette da jeg fikk spørsmål om
334 notatet fortsatt var aktuelt, og tenkte det var greit å repetere hva
335 som fortsatt gjelder. Det jeg skrev da er fortsatt like aktuelt.
</p
>
337 <p
>Når en velger språk i programmer på unix, så velger en blant mange
338 språkkoder. For språk i Norge anbefales følgende språkkoder (anbefalt
339 locale i parantes):
</p
>
342 <dt
>nb (nb_NO)
</dt
><dd
>Bokmål i Norge
</dd
>
343 <dt
>nn (nn_NO)
</dt
><dd
>Nynorsk i Norge
</dd
>
344 <dt
>se (se_NO)
</dt
><dd
>Nordsamisk i Norge
</dd
>
345 </dl
></p
>
347 <p
>Alle programmer som bruker andre koder bør endres.
</p
>
349 <p
>Språkkoden bør brukes når .po-filer navngis og installeres. Dette
350 er ikke det samme som locale-koden. For Norsk Bokmål, så bør filene
351 være navngitt nb.po, mens locale (LANG) bør være nb_NO.
</p
>
353 <p
>Hvis vi ikke får standardisert de kodene i alle programmene med
354 norske oversettelser, så er det umulig å gi LANG-variablen ett innhold
355 som fungerer for alle programmer.
</p
>
357 <p
>Språkkodene er de offisielle kodene fra ISO
639, og bruken av dem i
358 forbindelse med POSIX localer er standardisert i RFC
3066 og ISO
359 15897. Denne anbefalingen er i tråd med de angitte standardene.
</p
>
361 <p
>Følgende koder er eller har vært i bruk som locale-verdier for
362 "norske
" språk. Disse bør unngås, og erstattes når de oppdages:
</p
>
364 <p
><table
>
365 <tr
><td
>norwegian
</td
><td
>-
> nb_NO
</td
></tr
>
366 <tr
><td
>bokmål
</td
><td
>-
> nb_NO
</td
></tr
>
367 <tr
><td
>bokmal
</td
><td
>-
> nb_NO
</td
></tr
>
368 <tr
><td
>nynorsk
</td
><td
>-
> nn_NO
</td
></tr
>
369 <tr
><td
>no
</td
><td
>-
> nb_NO
</td
></tr
>
370 <tr
><td
>no_NO
</td
><td
>-
> nb_NO
</td
></tr
>
371 <tr
><td
>no_NY
</td
><td
>-
> nn_NO
</td
></tr
>
372 <tr
><td
>sme_NO
</td
><td
>-
> se_NO
</td
></tr
>
373 </table
></p
>
375 <p
>Merk at når det gjelder de samiske språkene, at se_NO i praksis
376 henviser til nordsamisk i Norge, mens f.eks. smj_NO henviser til
377 lulesamisk. Dette notatet er dog ikke ment å gi råd rundt samiske
379 <a href=
"http://www.divvun.no/
">Divvun-prosjektet
</a
> en bedre
382 <p
><strong
>Referanser:
</strong
></p
>
386 <li
><a href=
"http://www.rfc-base.org/rfc-
3066.html
">RFC
3066 - Tags
387 for the Identification of Languages
</a
> (Erstatter RFC
1766)
</li
>
389 <li
><a href=
"http://www.loc.gov/standards/iso639-
2/langcodes.html
">ISO
390 639</a
> - Codes for the Representation of Names of Languages
</li
>
392 <li
><a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/docs/n897-
14652w25.pdf
">ISO
393 DTR
14652</a
> - locale-standard Specification method for cultural
394 conventions
</li
>
396 <li
><a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/docs/n610.pdf
">ISO
397 15897: Registration procedures for cultural elements (cultural
399 <a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/docs/n849-
15897wd6.pdf
">(nytt
400 draft)
</a
></li
>
402 <li
><a href=
"http://std.dkuug.dk/jtc1/sc22/wg20/
">ISO/IEC
403 JTC1/SC22/WG20
</a
> - Gruppen for i18n-standardisering i ISO
</li
>
410 <title>S3QL, a locally mounted cloud file system - nice free software
</title>
411 <link>http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html
</link>
412 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html
</guid>
413 <pubDate>Wed,
9 Apr
2014 11:
30:
00 +
0200</pubDate>
414 <description><p
>For a while now, I have been looking for a sensible offsite backup
415 solution for use at home. My requirements are simple, it must be
416 cheap and locally encrypted (in other words, I keep the encryption
417 keys, the storage provider do not have access to my private files).
418 One idea me and my friends had many years ago, before the cloud
419 storage providers showed up, was to use Google mail as storage,
420 writing a Linux block device storing blocks as emails in the mail
421 service provided by Google, and thus get heaps of free space. On top
422 of this one can add encryption, RAID and volume management to have
423 lots of (fairly slow, I admit that) cheap and encrypted storage. But
424 I never found time to implement such system. But the last few weeks I
425 have looked at a system called
426 <a href=
"https://bitbucket.org/nikratio/s3ql/
">S3QL
</a
>, a locally
427 mounted network backed file system with the features I need.
</p
>
429 <p
>S3QL is a fuse file system with a local cache and cloud storage,
430 handling several different storage providers, any with Amazon S3,
431 Google Drive or OpenStack API. There are heaps of such storage
432 providers. S3QL can also use a local directory as storage, which
433 combined with sshfs allow for file storage on any ssh server. S3QL
434 include support for encryption, compression, de-duplication, snapshots
435 and immutable file systems, allowing me to mount the remote storage as
436 a local mount point, look at and use the files as if they were local,
437 while the content is stored in the cloud as well. This allow me to
438 have a backup that should survive fire. The file system can not be
439 shared between several machines at the same time, as only one can
440 mount it at the time, but any machine with the encryption key and
441 access to the storage service can mount it if it is unmounted.
</p
>
443 <p
>It is simple to use. I
'm using it on Debian Wheezy, where the
444 package is included already. So to get started, run
<tt
>apt-get
445 install s3ql
</tt
>. Next, pick a storage provider. I ended up picking
446 Greenqloud, after reading their nice recipe on
447 <a href=
"https://greenqloud.zendesk.com/entries/
44611757-How-To-Use-S3QL-to-mount-a-StorageQloud-bucket-on-Debian-Wheezy
">how
448 to use S3QL with their Amazon S3 service
</a
>, because I trust the laws
449 in Iceland more than those in USA when it come to keeping my personal
450 data safe and private, and thus would rather spend money on a company
451 in Iceland. Another nice recipe is available from the article
452 <a href=
"http://www.admin-magazine.com/HPC/Articles/HPC-Cloud-Storage
">S3QL
453 Filesystem for HPC Storage
</a
> by Jeff Layton in the HPC section of
454 Admin magazine. When the provider is picked, figure out how to get
455 the API key needed to connect to the storage API. With Greencloud,
456 the key did not show up until I had added payment details to my
459 <p
>Armed with the API access details, it is time to create the file
460 system. First, create a new bucket in the cloud. This bucket is the
461 file system storage area. I picked a bucket name reflecting the
462 machine that was going to store data there, but any name will do.
463 I
'll refer to it as
<tt
>bucket-name
</tt
> below. In addition, one need
464 the API login and password, and a locally created password. Store it
465 all in ~root/.s3ql/authinfo2 like this:
467 <p
><blockquote
><pre
>
469 storage-url: s3c://s.greenqloud.com:
443/bucket-name
470 backend-login: API-login
471 backend-password: API-password
472 fs-passphrase: local-password
473 </pre
></blockquote
></p
>
475 <p
>I create my local passphrase using
<tt
>pwget
50</tt
> or similar,
476 but any sensible way to create a fairly random password should do it.
477 Armed with these details, it is now time to run mkfs, entering the API
478 details and password to create it:
</p
>
480 <p
><blockquote
><pre
>
481 # mkdir -m
700 /var/lib/s3ql-cache
482 # mkfs.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
483 --ssl s3c://s.greenqloud.com:
443/bucket-name
485 Enter backend password:
486 Before using S3QL, make sure to read the user
's guide, especially
487 the
'Important Rules to Avoid Loosing Data
' section.
488 Enter encryption password:
489 Confirm encryption password:
490 Generating random encryption key...
491 Creating metadata tables...
501 Compressing and uploading metadata...
502 Wrote
0.00 MB of compressed metadata.
503 #
</pre
></blockquote
></p
>
505 <p
>The next step is mounting the file system to make the storage available.
507 <p
><blockquote
><pre
>
508 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
509 --ssl --allow-root s3c://s.greenqloud.com:
443/bucket-name /s3ql
510 Using
4 upload threads.
511 Downloading and decompressing metadata...
521 Mounting filesystem...
523 Filesystem Size Used Avail Use% Mounted on
524 s3c://s.greenqloud.com:
443/bucket-name
1.0T
0 1.0T
0% /s3ql
526 </pre
></blockquote
></p
>
528 <p
>The file system is now ready for use. I use rsync to store my
529 backups in it, and as the metadata used by rsync is downloaded at
530 mount time, no network traffic (and storage cost) is triggered by
531 running rsync. To unmount, one should not use the normal umount
532 command, as this will not flush the cache to the cloud storage, but
533 instead running the umount.s3ql command like this:
535 <p
><blockquote
><pre
>
538 </pre
></blockquote
></p
>
540 <p
>There is a fsck command available to check the file system and
541 correct any problems detected. This can be used if the local server
542 crashes while the file system is mounted, to reset the
"already
543 mounted
" flag. This is what it look like when processing a working
544 file system:
</p
>
546 <p
><blockquote
><pre
>
547 # fsck.s3ql --force --ssl s3c://s.greenqloud.com:
443/bucket-name
548 Using cached metadata.
549 File system seems clean, checking anyway.
550 Checking DB integrity...
551 Creating temporary extra indices...
552 Checking lost+found...
553 Checking cached objects...
554 Checking names (refcounts)...
555 Checking contents (names)...
556 Checking contents (inodes)...
557 Checking contents (parent inodes)...
558 Checking objects (reference counts)...
559 Checking objects (backend)...
560 ..processed
5000 objects so far..
561 ..processed
10000 objects so far..
562 ..processed
15000 objects so far..
563 Checking objects (sizes)...
564 Checking blocks (referenced objects)...
565 Checking blocks (refcounts)...
566 Checking inode-block mapping (blocks)...
567 Checking inode-block mapping (inodes)...
568 Checking inodes (refcounts)...
569 Checking inodes (sizes)...
570 Checking extended attributes (names)...
571 Checking extended attributes (inodes)...
572 Checking symlinks (inodes)...
573 Checking directory reachability...
574 Checking unix conventions...
575 Checking referential integrity...
576 Dropping temporary indices...
577 Backing up old metadata...
587 Compressing and uploading metadata...
588 Wrote
0.89 MB of compressed metadata.
590 </pre
></blockquote
></p
>
592 <p
>Thanks to the cache, working on files that fit in the cache is very
593 quick, about the same speed as local file access. Uploading large
594 amount of data is to me limited by the bandwidth out of and into my
595 house. Uploading
685 MiB with a
100 MiB cache gave me
305 kiB/s,
596 which is very close to my upload speed, and downloading the same
597 Debian installation ISO gave me
610 kiB/s, close to my download speed.
598 Both were measured using
<tt
>dd
</tt
>. So for me, the bottleneck is my
599 network, not the file system code. I do not know what a good cache
600 size would be, but suspect that the cache should e larger than your
601 working set.
</p
>
603 <p
>I mentioned that only one machine can mount the file system at the
604 time. If another machine try, it is told that the file system is
607 <p
><blockquote
><pre
>
608 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
609 --ssl --allow-root s3c://s.greenqloud.com:
443/bucket-name /s3ql
610 Using
8 upload threads.
611 Backend reports that fs is still mounted elsewhere, aborting.
613 </pre
></blockquote
></p
>
615 <p
>The file content is uploaded when the cache is full, while the
616 metadata is uploaded once every
24 hour by default. To ensure the
617 file system content is flushed to the cloud, one can either umount the
618 file system, or ask S3QL to flush the cache and metadata using
621 <p
><blockquote
><pre
>
622 # s3qlctrl upload-meta /s3ql
623 # s3qlctrl flushcache /s3ql
625 </pre
></blockquote
></p
>
627 <p
>If you are curious about how much space your data uses in the
628 cloud, and how much compression and deduplication cut down on the
629 storage usage, you can use s3qlstat on the mounted file system to get
632 <p
><blockquote
><pre
>
634 Directory entries:
9141
637 Total data size:
22049.38 MB
638 After de-duplication:
21955.46 MB (
99.57% of total)
639 After compression:
21877.28 MB (
99.22% of total,
99.64% of de-duplicated)
640 Database size:
2.39 MB (uncompressed)
641 (some values do not take into account not-yet-uploaded dirty blocks in cache)
643 </pre
></blockquote
></p
>
645 <p
>I mentioned earlier that there are several possible suppliers of
646 storage. I did not try to locate them all, but am aware of at least
647 <a href=
"https://www.greenqloud.com/
">Greenqloud
</a
>,
648 <a href=
"http://drive.google.com/
">Google Drive
</a
>,
649 <a href=
"http://aws.amazon.com/s3/
">Amazon S3 web serivces
</a
>,
650 <a href=
"http://www.rackspace.com/
">Rackspace
</a
> and
651 <a href=
"http://crowncloud.net/
">Crowncloud
</A
>. The latter even
652 accept payment in Bitcoin. Pick one that suit your need. Some of
653 them provide several GiB of free storage, but the prize models are
654 quite different and you will have to figure out what suits you
657 <p
>While researching this blog post, I had a look at research papers
658 and posters discussing the S3QL file system. There are several, which
659 told me that the file system is getting a critical check by the
660 science community and increased my confidence in using it. One nice
662 "<a href=
"http://www.lanl.gov/orgs/adtsc/publications/science_highlights_2013/docs/pg68_69.pdf
">An
663 Innovative Parallel Cloud Storage System using OpenStack’s SwiftObject
664 Store and Transformative Parallel I/O Approach
</a
>" by Hsing-Bung
665 Chen, Benjamin McClelland, David Sherrill, Alfred Torrez, Parks Fields
666 and Pamela Smith. Please have a look.
</p
>
668 <p
>Given my problems with different file systems earlier, I decided to
669 check out the mounted S3QL file system to see if it would be usable as
670 a home directory (in other word, that it provided POSIX semantics when
671 it come to locking and umask handling etc). Running
672 <a href=
"http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
">my
673 test code to check file system semantics
</a
>, I was happy to discover that
674 no error was found. So the file system can be used for home
675 directories, if one chooses to do so.
</p
>
677 <p
>If you do not want a locally file system, and want something that
678 work without the Linux fuse file system, I would like to mention the
679 <a href=
"http://www.tarsnap.com/
">Tarsnap service
</a
>, which also
680 provide locally encrypted backup using a command line client. It have
681 a nicer access control system, where one can split out read and write
682 access, allowing some systems to write to the backup and others to
683 only read from it.
</p
>
685 <p
>As usual, if you use Bitcoin and want to show your support of my
686 activities, please send Bitcoin donations to my address
687 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
692 <title>EU-domstolen bekreftet i dag at datalagringsdirektivet er ulovlig
</title>
693 <link>http://people.skolelinux.org/pere/blog/EU_domstolen_bekreftet_i_dag_at_datalagringsdirektivet_er_ulovlig.html
</link>
694 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/EU_domstolen_bekreftet_i_dag_at_datalagringsdirektivet_er_ulovlig.html
</guid>
695 <pubDate>Tue,
8 Apr
2014 11:
30:
00 +
0200</pubDate>
696 <description><p
>I dag kom endelig avgjørelsen fra EU-domstolen om
697 datalagringsdirektivet, som ikke overraskende ble dømt ulovlig og i
698 strid med borgernes grunnleggende rettigheter. Hvis du lurer på hva
699 datalagringsdirektivet er for noe, så er det
700 <a href=
"http://tv.nrk.no/program/koid75005313/tema-dine-digitale-spor-datalagringsdirektivet
">en
701 flott dokumentar tilgjengelig hos NRK
</a
> som jeg tidligere
702 <a href=
"http://people.skolelinux.org/pere/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html
">har
703 anbefalt
</a
> alle å se.
</p
>
705 <p
>Her er et liten knippe nyhetsoppslag om saken, og jeg regner med at
706 det kommer flere ut over dagen. Flere kan finnes
707 <a href=
"http://www.mylder.no/?drill=datalagringsdirektivet
&intern=
1">via
708 mylder
</a
>.
</p
>
712 <li
><a href=
"http://e24.no/digital/eu-domstolen-datalagringsdirektivet-er-ugyldig/
22879592">EU-domstolen:
713 Datalagringsdirektivet er ugyldig
</a
> - e24.no
2014-
04-
08
715 <li
><a href=
"http://www.aftenposten.no/nyheter/iriks/EU-domstolen-Datalagringsdirektivet-er-ulovlig-
7529032.html
">EU-domstolen:
716 Datalagringsdirektivet er ulovlig
</a
> - aftenposten.no
2014-
04-
08
718 <li
><a href=
"http://www.aftenposten.no/nyheter/iriks/politikk/Krever-DLD-stopp-i-Norge-
7530086.html
">Krever
719 DLD-stopp i Norge
</a
> - aftenposten.no
2014-
04-
08
721 <li
><a href=
"http://www.p4.no/story.aspx?id=
566431">Apenes: - En
722 gledens dag
</a
> - p4.no
2014-
04-
08
724 <li
><a href=
"http://www.nrk.no/norge/_-datalagringsdirektivet-er-ugyldig-
1.11655929">EU-domstolen:
725 – Datalagringsdirektivet er ugyldig
</a
> - nrk.no
2014-
04-
08</li
>
727 <li
><a href=
"http://www.vg.no/nyheter/utenriks/data-og-nett/eu-domstolen-datalagringsdirektivet-er-ugyldig/a/
10130280/
">EU-domstolen:
728 Datalagringsdirektivet er ugyldig
</a
> - vg.no
2014-
04-
08</li
>
730 <li
><a href=
"http://www.dagbladet.no/
2014/
04/
08/nyheter/innenriks/datalagringsdirektivet/personvern/
32711646/
">-
731 Vi bør skrote hele datalagringsdirektivet
</a
> - dagbladet.no
732 2014-
04-
08</li
>
734 <li
><a href=
"http://www.digi.no/
928137/eu-domstolen-dld-er-ugyldig
">EU-domstolen:
735 DLD er ugyldig
</a
> - digi.no
2014-
04-
08</li
>
737 <li
><a href=
"http://www.irishtimes.com/business/sectors/technology/european-court-declares-data-retention-directive-invalid-
1.1754150">European
738 court declares data retention directive invalid
</a
> - irishtimes.com
739 2014-
04-
08</li
>
741 <li
><a href=
"http://www.reuters.com/article/
2014/
04/
08/us-eu-data-ruling-idUSBREA370F020140408?feedType=RSS
">EU
742 court rules against requirement to keep data of telecom users
</a
> -
743 reuters.com
2014-
04-
08</li
>
748 <p
>Jeg synes det er veldig fint at nok en stemme slår fast at
749 totalitær overvåkning av befolkningen er uakseptabelt, men det er
750 fortsatt like viktig å beskytte privatsfæren som før, da de
751 teknologiske mulighetene fortsatt finnes og utnyttes, og jeg tror
752 innsats i prosjekter som
753 <a href=
"https://wiki.debian.org/FreedomBox
">Freedombox
</a
> og
754 <a href=
"http://www.dugnadsnett.no/
">Dugnadsnett
</a
> er viktigere enn
757 <p
><strong
>Update
2014-
04-
08 12:
10</strong
>: Kronerullingen for å
758 stoppe datalagringsdirektivet i Norge gjøres hos foreningen
759 <a href=
"http://www.digitaltpersonvern.no/
">Digitalt Personvern
</a
>,
760 som har samlet inn
843 215,- så langt men trenger nok mye mer hvis
762 ikke Høyre og Arbeiderpartiet bytter mening i saken. Det var
763 <a href=
"http://www.holderdeord.no/parliament-issues/
48650">kun
764 partinene Høyre og Arbeiderpartiet
</a
> som stemte for
765 Datalagringsdirektivet, og en av dem må bytte mening for at det skal
766 bli flertall mot i Stortinget. Se mer om saken
767 <a href=
"http://www.holderdeord.no/issues/
69-innfore-datalagringsdirektivet
">Holder
768 de ord
</a
>.
</p
>
773 <title>ReactOS Windows clone - nice free software
</title>
774 <link>http://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html
</link>
775 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html
</guid>
776 <pubDate>Tue,
1 Apr
2014 12:
10:
00 +
0200</pubDate>
777 <description><p
>Microsoft have announced that Windows XP reaches its end of life
778 2014-
04-
08, in
7 days. But there are heaps of machines still running
779 Windows XP, and depending on Windows XP to run their applications, and
780 upgrading will be expensive, both when it comes to money and when it
781 comes to the amount of effort needed to migrate from Windows XP to a
782 new operating system. Some obvious options (buy new a Windows
783 machine, buy a MacOSX machine, install Linux on the existing machine)
784 are already well known and covered elsewhere. Most of them involve
785 leaving the user applications installed on Windows XP behind and
786 trying out replacements or updated versions. In this blog post I want
787 to mention one strange bird that allow people to keep the hardware and
788 the existing Windows XP applications and run them on a free software
789 operating system that is Windows XP compatible.
</p
>
791 <p
><a href=
"http://www.reactos.org/
">ReactOS
</a
> is a free software
792 operating system (GNU GPL licensed) working on providing a operating
793 system that is binary compatible with Windows, able to run windows
794 programs directly and to use Windows drivers for hardware directly.
795 The project goal is for Windows user to keep their existing machines,
796 drivers and software, and gain the advantages from user a operating
797 system without usage limitations caused by non-free licensing. It is
798 a Windows clone running directly on the hardware, so quite different
799 from the approach taken by
<a href=
"http://www.winehq.org/
">the Wine
800 project
</a
>, which make it possible to run Windows binaries on
803 <p
>The ReactOS project share code with the Wine project, so most
804 shared libraries available on Windows are already implemented already.
805 There is also a software manager like the one we are used to on Linux,
806 allowing the user to install free software applications with a simple
807 click directly from the Internet. Check out the
808 <a href=
"http://www.reactos.org/screenshots
">screen shots on the
809 project web site
</a
> for an idea what it look like (it looks just like
810 Windows before metro).
</p
>
812 <p
>I do not use ReactOS myself, preferring Linux and Unix like
813 operating systems. I
've tested it, and it work fine in a virt-manager
814 virtual machine. The browser, minesweeper, notepad etc is working
815 fine as far as I can tell. Unfortunately, my main test application
816 is the software included on a CD with the Lego Mindstorms NXT, which
817 seem to install just fine from CD but fail to leave any binaries on
818 the disk after the installation. So no luck with that test software.
819 No idea why, but hope someone else figure out and fix the problem.
820 I
've tried the ReactOS Live ISO on a physical machine, and it seemed
821 to work just fine. If you like Windows and want to keep running your
822 old Windows binaries, check it out by
823 <a href=
"http://www.reactos.org/download
">downloading
</a
> the
824 installation CD, the live CD or the preinstalled virtual machine
830 <title>Debian Edu interview: Roger Marsal
</title>
831 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html
</link>
832 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html
</guid>
833 <pubDate>Sun,
30 Mar
2014 11:
40:
00 +
0200</pubDate>
834 <description><p
><a href=
"http://www.skolelinux.org/
">Debian Edu / Skolelinux
</a
>
835 keep gaining new users. Some weeks ago, a person showed up on IRC,
836 <a href=
"irc://irc.debian.org/#debian-edu
">#debian-edu
</a
>, with a
837 wish to contribute, and I managed to get a interview with this great
838 contributor Roger Marsal to learn more about his background.
</p
>
840 <p
><strong
>Who are you, and how do you spend your days?
</strong
></p
>
842 <p
>My name is Roger Marsal, I
'm
27 years old (
1986 generation) and I
843 live in Barcelona, Spain. I
've got a strong business background and I
844 work as a patrimony manager and as a real estate agent. Additionally,
845 I
've co-founded a British based tech company that is nowadays on the
846 last development phase of a new social networking concept.
</p
>
848 <p
>I
'm a Linux enthusiast that started its journey with Ubuntu four years
849 ago and have recently switched to Debian seeking rock solid stability
850 and as a necessary step to gain expertise.
</p
>
852 <p
>In a nutshell, I spend my days working and learning as much as I
853 can to face both my job, entrepreneur project and feed my Linux
856 <p
><strong
>How did you get in contact with the Skolelinux / Debian Edu
857 project?
</strong
></p
>
859 <p
>I discovered the
<a href=
"http://www.ltsp.org/
">LTSP
</a
> advantages
860 with
"Ubuntu
12.04 alternate install
" and after a year of use I
861 started looking for an alternative. Even though I highly value and
862 respect the Ubuntu project, I thought it was necessary for me to
863 change to a more robust and stable alternative. As far as I was using
864 Debian on my personal laptop I thought it would be fine to install
865 Debian and configure an LTSP server myself. Surprised, I discovered
866 that the Debian project also supported a kind of Edubuntu equivalent,
867 and after having some pain I obtained a Debian Edu network up and
868 running. I just loved it.
</p
>
870 <p
><strong
>What do you see as the advantages of Skolelinux / Debian
871 Edu?
</strong
></p
>
873 <p
>I found a main advantage in that, once you know
"the tips and
874 tricks
", a new installation just works out of the box. It
's the most
875 complete alternative I
've found to create an LTSP network. All the
876 other distributions seems to be made of plastic, Debian Edu seems to
877 be made of steel.
</p
>
879 <p
><strong
>What do you see as the disadvantages of Skolelinux / Debian
880 Edu?
</strong
></p
>
882 <p
>I found two main disadvantages.
</p
>
884 <p
>I
'm not an expert but I
've got notions and I had to spent a considerable
885 amount of time trying to bring up a standard network topology. I
'm quite
886 stubborn and I just worked until I did but I
'm sure many people with few
887 resources (not big schools, but academies for example) would have switched
888 or dropped.
</p
>
890 <p
>It
's amazing how such a complex system like Debian Edu has achieved
891 this out-of-the-box state. Even though tweaking without breaking gets
892 more difficult, as more factors have to be considered. This can
893 discourage many people too.
</p
>
895 <p
><strong
>Which free software do you use daily?
</strong
></p
>
897 <p
>I use Debian, Firefox, Okular, Inkscape, LibreOffice and
898 Virtualbox.
</p
>
901 <p
><strong
>Which strategy do you believe is the right one to use to
902 get schools to use free software?
</strong
></p
>
904 <p
>I don
't think there is a need for a particular strategy. The free
905 attribute in both
"freedom
" and
"no price
" meanings is what will
906 really bring free software to schools. In my experience I can think of
907 the
<a href=
"http://www.r-project.org/
">"R
" statistical language
</a
>; a
908 few years a ago was an extremely nerd tool for university people.
909 Today it
's being increasingly used to teach statistics at many
910 different level of studies. I believe free and open software will
911 increasingly gain popularity, but I
'm sure schools will be one of the
912 first scenarios where this will happen.
</p
>